Каково обоснование формулы, используемой в программе hive_trend_mapper.py
this Hadoop tutorial для расчета тенденций Википедии?Понимание алгоритмов для измерения тенденций
На самом деле существуют два компонента: ежемесячная тенденция и дневной тренд. Я собираюсь сосредоточиться на ежедневной тенденции, но подобные вопросы относятся к ежемесячной.
В ежедневной тенденции, pageviews
представляет собой массив числа просмотров страниц в день для этой темы, один элемента в день, и total_pageviews
является суммой этого массива:
# pageviews for most recent day
y2 = pageviews[-1]
# pageviews for previous day
y1 = pageviews[-2]
# Simple baseline trend algorithm
slope = y2 - y1
trend = slope * log(1.0 +int(total_pageviews))
error = 1.0/sqrt(int(total_pageviews))
return trend, error
Я знаю, что он делает поверхностно: он просто смотрит на изменение за последний день (slope
) и масштабирует его до журнала 1+total_pageviews
(log(1)==0
, поэтому этот коэффициент масштабирования неотрицателен). Его можно рассматривать как отношение к просмотру страниц в месяц как к весу, но при умеренных темпах - таким образом, общее количество просмотров страниц перестает влиять на вещи, которые «достаточно популярны», но в то же время большие изменения на незначительной доне, t весить столько же.
Но почему это сделать? Почему мы хотим обесценивать вещи, которые изначально непопулярны? Не должно быть большого дельта вопроса больше для товаров, которые имеют низкую постоянную популярность, и меньше для товаров, которые уже популярны (для которых большие дельта могут падать хорошо в пределах частичного отклонения)? Как соломенный, почему бы просто не взять y2-y1
и сделать с ним?
И для чего будет полезен error
? Учебник действительно не использует его осмысленно снова. Опять же, это не говорит нам, как используется trend
- это то, что нарисовано в конечном продукте, правильно?
Где я могу прочитать (предпочтительно вводный) фон по теории здесь? Есть ли имя для этого безумия? Это где-то формула учебника?
Заранее благодарим за любые ответы (или обсуждение!).
Правильно, я понял его механику. Я просто не согласен с тем, что интуитивно утверждать, что рост B следует взвешивать меньше, чем A, - хотя B не так популярен, есть и кое-что, что можно сказать об относительном и внезапном всплеске кликов; наоборот, рост A падает в пределах своего стандартного отклонения и должен рассматриваться как менее значимый.Я полагаю, что эта конкретная формула действительно является большей частью базовой популярности. Что касается книг - я действительно надеялся на конкретные рекомендации! – Yang