Ищете алгоритм ранжирования, который поддерживает новые записи


9

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

sсоре1+ 2sсоре2 + + NsсореN1+2++N

Мне было интересно, есть ли другие алгоритмы, которые обычно используются в подобных ситуациях, и если да, не могли бы вы объяснить их?



2
Как насчет взвешенной скользящей средней? en.wikipedia.org/wiki/Moving_average#Weighted_moving_average
Джо,

Ответы:


7

s1,...,sNя

  • е(Икс)знак равноеИкс
  • е(Икс)знак равножурналИкс
  • е(Икс)знак равноИкс
  • е(Икс)знак равноИкс2

и т.п.

Тогда ваша функция будет

Σязнак равно1Nsяе(я)Σязнак равно1Nе(я)

На самом деле, имеет смысл дать самой новой записи самый низкий индекс и уменьшить весовую функцию. Таким образом, вы можете настроить его, установив вес, который вы хотите дать первому элементу.

В Википедии есть запись о весовых функциях , некоторые примеры можно найти на странице о взвешенных средних .


Большое спасибо, это было то, что я искал. Очень информативно
Логан Безекер

У меня есть один быстрый вопрос, я знаю, что «∑i» - это сумма «i», а «f (i)» - это функция (например, «f (x) = logx») относительно «i». Но что означает «си»?
Большое

1
sя
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.