Сроки для стандартного счета - PullRequest
0 голосов
/ 16 июня 2009

Для поиска актуальных тем я использую стандартную оценку в сочетании со скользящей средней:

z-score = ([current trend] - [average historic trends]) / [standard deviation of historic trends]

(Большое спасибо, Никсуз)

До сих пор я делаю это следующим образом:

Каким бы ни было время, для исторических тенденций я просто возвращаюсь 24 часа Предполагая, что у нас есть 12 января, 15:45 сейчас:

current_trend = хиты [11 января, 3:45 - 12 января, 3:45]

исторический_тренд = хиты [10 января, 3:45 - 11 января, 3:45] + хиты [9 января, 3:45 - 10 января, 3:45] + хиты [8 января, 3:45 - 9 января , 3:45] + ...

Но действительно ли это достаточно? Разве не было бы лучше, если бы я всегда начинал в 00:00? Например, для тех же данных (3:45 вечера):

current_trend = хиты [11 января, 0:00 - 12 января, 0:00]

history_trends = хиты [10 января, 0:00 - 11 января, 0:00] + хиты [9 января, 0:00 - 10 января, 0:00] + хиты [9 января, 0:00 - 9 января , 0: 0] + ...

Я уверен, что результаты будут другими. Но какой подход даст вам лучшие результаты?

Надеюсь, вы поняли мой вопрос и можете мне помочь. :) Заранее спасибо!

1 Ответ

1 голос
/ 17 июня 2009

Я думаю, что проблема, с которой вы можете столкнуться в своей текущей реализации, заключается в том, что темы, которые были горячими 23 часа назад, сейчас влияют на ваш рейтинг. Проблема, которую я вижу с вашей новой предложенной реализацией, заключается в том, что вы чистите планшет в полночь, поэтому темы, которые были горячими поздно вечером, не будут казаться горячими рано утром (но они должны).

Я предлагаю вам взглянуть на реализацию алгоритма в стиле Digg, в котором актуальность темы уменьшается с возрастом. Вы могли бы сделать это, подсчитав количество попаданий / час для каждого из последних 24-часовых периодов, а затем разделив каждый счет за период на количество часов назад периода. Сложите 24 периода, чтобы получить счет.

hottness = (оценка24 / 24) + (оценка23 / 23) + ... + (оценка2 / 2) + оценка1

Где Score24 - это число "обращений", полученных темой за один час, который произошел 24 часа назад (возможно, не совпадения, а нормализованный показатель за этот час).

Таким образом, темы, которые были горячими 24 часа назад, все равно будут учитываться в вашем алгоритме, но не так сильно, как темы, которые были горячими час назад.

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