Основной алгоритм скорости? - PullRequest
1 голос
/ 04 июня 2011

Учитывая следующий набор данных для одной статьи на моем сайте:

Article 1
2/1/2010 100
2/2/2010 80
2/3/2010 60

Article 2
2/1/2010 20000
2/2/2010 25000
2/3/2010 23000

, где столбец 1 - это дата, а столбец 2 - количество просмотров страницы для статьи.Что такое базовый расчет скорости, который можно сделать, чтобы определить, имеет ли эта статья тенденцию к повышению или понижению за последние 3 дня?

Предостережения: статьи не будут знать общее количество просмотров страниц, только их собственные итоги.Идеально с числом от 0 до 1. Любые указатели на то, что называется этот класс алгоритмов?

спасибо!

Ответы [ 3 ]

3 голосов
/ 04 июня 2011

обновление: Ваши данные на самом деле уже составляют список скоростей (просмотров страниц / день).Следующий ответ просто показывает, как найти среднюю скорость за последние три дня.См. Мой другой ответ о том, как рассчитать ускорение просмотра страниц, которое является реальной статистикой, которую вы, вероятно, ищете.время:

Для статьи 1 от 3.03.2010:

delta pageviews = 100 + 80 + 60 
                = 240 pageviews
delta time = 3 days

pageview velocity (over last three days) = [delta pageviews] / [delta time]
                                         = 240               / 3
                                         = 80 pageviews/day

Для статьи 2 от 3 марта 2010 года:

delta pageviews = 20000 + 25000 + 23000 
                = 68000 pageviews
delta time = 3 days

pageview velocity (over last three days) = [delta pageviews] / [delta time] 
                                         = 68,000             / 3
                                         = 22,666 + 2/3 pageviews/day

Теперь, когда мы знаем максимальную скорость, мы можем масштабировать все скорости, чтобы получить относительные скорости от 0 до 1 (или от 0% до 100%):

relative pageview velocity of article 1 = velocity / MAX_VELOCITY
                                        = 240      / (22,666 + 2/3)
                                        ~ 0.0105882353
                                        ~ 1.05882353%

relative pageview velocity of article 2 = velocity      / MAX_VELOCITY
                                        = (22,666 + 2/3)/(22,666 + 2/3)
                                        = 1
                                        = 100%
1 голос
/ 06 июня 2011

«Тенденция просмотра страницы» скорее всего относится к ускорению просмотра страницы, а не к скорости. Ваш набор данных на самом деле уже является списком скоростей (просмотров страниц / день). Просмотры страниц являются неубывающими значениями, поэтому скорость просмотра страниц никогда не может быть отрицательной. Ниже описано, как рассчитать ускорение просмотра страницы , которое может быть отрицательным.

PV_acceleration(t1,t2) = (PV_velocity{t2} - PV_velocity{t1}) / (t2 - t1)
("PV" == "Pageview")

Пояснение: Ускорение - это просто изменение скорости, деленное на изменение во времени. Поскольку ваш набор данных представляет собой список скоростей просмотра страниц, вы можете подключить их непосредственно к формуле:

PV_acceleration("2/1/2010", "2/3/2010") = (60 - 100) / ("2/3/2010" - "2/1/2010")
                                        = -40        / 2
                                        = -20 pageviews per day per day

Обратите внимание, что данные для "02.02.2010" не использовались. Альтернативный метод состоит в том, чтобы вычислить три PV_accelerations (используя диапазон дат, который возвращается только за один день) и усреднить их. В вашем примере недостаточно данных, чтобы сделать это за три дня, но вот как это сделать за последние два дня:

PV_acceleration("2/3/2010", "2/2/2010") = (60 - 80) / ("2/3/2010" - "2/2/2010")
                                        = -20        / 1
                                        = -20 pageviews per day per day

PV_acceleration("2/2/2010", "2/1/2010") = (80 - 100) / ("2/2/2010" - "2/1/2010")
                                        = -20        / 1
                                        = -20 pageviews per day per day

PV_acceleration_average("2/3/2010", "2/2/2010") = -20 + -20 / 2
                                                = -20 pageviews per day per day

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

0 голосов
/ 04 июня 2011

Просто ссылка на статью об алгоритме 'трендов', в частности Reddit, SU и HN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...