Как я могу нормализовать трендовые данные?

Скажем, я хочу вычислить скорость двух точек данных (A и A'), каждый из которых имеет счет и опубликованное время (A' - это будущая версия A и имеет более высокий балл). Это было бы

[A'(score) - A(score)] / [A'(time published) - A (time published)]

То, что я хочу запечатлеть, это тенденции с высокими скоростями. Это означает, что я хочу получить оценку от 20 до 200 с весом более 8500-9000. Поэтому я решил нормализовать эти данные, поделив оценки на базовую линию.

Ex. если A(оценка) - 2, а A'(оценка) - 3, базовый уровень равен 2, поэтому в приведенной выше формуле

A'(score) - A(score) would be (3/2 - 2/2)

Тем не менее, это означает, что когда числа так низки, скорости будут очень высоки (так как с другой стороны

9000/8500 - 8500/8500 

создает очень низкие скорости, учитывая, что разница во времени постоянна только в этом примере, однако обычно разница во времени является переменной).

Есть ли способ уменьшить влияние низких начальных оценок WHILE в то же время, позволяя прыжкам с, скажем, от 20 до 200 быть значительными? Спасибо.

1 ответ

Решение

Есть два способа посмотреть на это. Либо может дать вам то, что вы хотите.

  • Сначала я подумал, что ваш вопрос очень близок к тому, чтобы дать ответ. Вы дали себе важный намек, назвав свой первый расчет своей скоростью - скоростью изменения оценки с течением времени. Затем вы можете посмотреть на его ускорение - вашу скорость изменения скорости во времени. Это:

    (A''(score) - A'(score)) - (A'(score) - A(score))

    Обратите внимание, я не делю по времени, потому что вы говорите, что разница во времени постоянна для каждого измерения. Затем вы делите каждое значение на константу, которая неэффективна и, вероятно, не даст вам дополнительной ясности.

  • Скорее, однако, кажется, вы хотите, насколько значительным является изменение от одного балла к другому. Я подозреваю, что вы хотите это:

    (A'(score) - A(score)) / A(score)

    Это (a - b) / b, которое уменьшается до (a/b) - 1. Если вам не важно -1, самый простой способ увидеть соответствующие изменения в вашем счете:

    A'(score)/A(score)

Это показывает скорость роста оценки от одного шага к следующему.


Изменить после уточнения:

Учитывая ваш комментарий, переменная скорость делает логику более сложной, но все же выполнимой.

В этом случае вы хотите рассчитать скорость, как вы это делали:

V = A'(score) - A(score) / A'(time) - A(time)

Но вы хотите нормализовать его на основе предыдущей скорости:

result = V'/V

Затем это становится похожим на пример "ускорения" - требуется 3 выборки, чтобы иметь представление о скорости изменения скорости изменения. Если вы изложите это полностью, вы получите что-то вроде:

result = (A''(score) - A'(score))/(A''(time) - A'(time)) / (A'(score) - A(score))/(A'(time) - A(time))

Вы можете сделать некоторую математику, чтобы скинуть эти числа, но на самом деле нет более красивого результата, чем этот.

Другие вопросы по тегам