Procurando por um algoritmo de classificação que favorece entradas mais recentes

9

Estou trabalhando em um sistema de classificação que classificará as entradas com base nos votos lançados ao longo de um período de tempo. Estou procurando um algoritmo que calcule uma pontuação que é como uma média, no entanto, gostaria que ela favorecesse pontuações mais recentes que as mais antigas. Eu estava pensando em algo ao longo da linha de:

score1 1+ 2score2 + + nscoren1 1+2++n

Fiquei me perguntando se havia outros algoritmos que geralmente são usados ​​para situações como essa e, se sim, você poderia explicá-los?

Logan Besecker
fonte

Respostas:

7

Você pode usar qualquer função que dê um peso menor às entradas mais antigas. Por exemplo, se os dados consistirem em pontuações, , em que o índice corresponde ao 'horário de chegada' da entrada, ou seja, as entradas mais recentes têm índices maiores, você pode usar uma função de peso que aumenta como eu aumenta. Portanto, qualquer função 'crescente' serve. Exemplos incluem:s1 1,,snEu

  • f(x)=ex
  • f(x)=registrox
  • f(x)=x
  • f(x)=x2

etc.

Então sua função será

Eu=1 1nsEuf(Eu)Eu=1 1nf(Eu)

Na verdade, faz mais sentido atribuir à entrada mais nova o índice mais baixo e diminuir a função de peso. Dessa forma, você pode ajustá-lo definindo a ponderação que deseja atribuir ao primeiro elemento.

A Wikipedia possui uma entrada sobre funções de peso , alguns exemplos podem ser encontrados na página sobre médias ponderadas .

Dave Clarke
fonte
muito obrigado, era isso que eu estava procurando. Muito informativo
Logan Besecker
Eu tenho uma pergunta rápida, eu sei que '∑i' é a soma de 'i' e 'f (i)' é a função (como 'f (x) = logx') em relação a 'i'. Mas o que 'si' representa? Muito obrigado pela sua ajuda
Logan Besecker
11
sEu