Poszukuje algorytmu rankingu, który faworyzuje nowsze wpisy

9

Pracuję nad systemem rankingowym, który uszereguje wpisy na podstawie głosów oddanych przez pewien czas. Szukam algorytmu, który obliczy wynik, który jest trochę jak średnia, ale chciałbym, aby faworyzował nowsze wyniki niż starsze. Myślałem o czymś w rodzaju:

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

Zastanawiałem się, czy istnieją inne algorytmy, które są zwykle używane w takich sytuacjach, a jeśli tak, czy mógłbyś je wyjaśnić?

Logan Besecker
źródło

Odpowiedzi:

7

Możesz użyć dowolnej funkcji, która nadaje mniejszą wagę starszym wpisom. Na przykład, jeśli dane składają się z wyników, , gdzie indeks odpowiada „czasowi nadejścia” wpisu, to znaczy, że nowsze wpisy mają większe indeksy, wówczas można użyć funkcji wagi, która zwiększa się, gdy: rośnie. Tak więc zadziała każda funkcja „zwiększania”. Przykłady obejmują:s1,,sni

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

itp.

Wtedy twoja funkcja będzie

i=1nsif(i)i=1nf(i) .

Właściwie bardziej sensowne jest nadanie najnowszemu wpisowi najniższego indeksu i zmniejszenie funkcji wagi. W ten sposób możesz go dostroić, ustawiając wagę, którą chcesz nadać pierwszemu elementowi.

Wikipedia ma wpis na temat funkcji ważenia , niektóre przykłady można znaleźć na stronie o środkach ważonych .

Dave Clarke
źródło
dziękuję bardzo, tego właśnie szukałem. Bardzo pouczające
Logan Besecker,
Mam jedno szybkie pytanie, wiem, że „∑i” jest sumą „i”, a „f (i)” jest funkcją (jak „f (x) = logx”) w odniesieniu do „i”. Ale co oznacza „si”?
wielkie
1
si to twoje wyniki.
Dave Clarke