Mencari algoritma peringkat yang mendukung entri yang lebih baru


9

Saya sedang mengerjakan sistem peringkat yang akan menentukan peringkat entri berdasarkan suara yang telah diberikan selama periode waktu tertentu. Saya mencari algoritma yang akan menghitung skor yang agak seperti rata-rata, namun saya ingin agar skor yang lebih baru lebih disukai daripada yang lebih tua. Saya sedang memikirkan sesuatu di sepanjang baris:

scHaire1+ 2scHaire2 + + nscHairen1+2++n

Saya bertanya-tanya apakah ada algoritma lain yang biasanya digunakan untuk situasi seperti ini dan jika demikian, dapatkah Anda menjelaskannya?



2
Bagaimana dengan moving average tertimbang? en.wikipedia.org/wiki/Moving_average#Weighted_moving_average
Joe

Jawaban:


7

Anda bisa menggunakan fungsi apa pun yang memberi bobot lebih rendah ke entri yang lebih lama. Misalnya, jika data terdiri dari skor, , di mana indeks terkait dengan 'waktu kedatangan' entri, yaitu entri baru memiliki indeks yang lebih besar, maka Anda dapat menggunakan fungsi bobot yang meningkatkan karena saya meningkat. Jadi fungsi 'meningkatkan' akan dilakukan. Contohnya termasuk:s1,...,snsaya

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

dll.

Maka fungsi Anda akan menjadi

.saya=1nssayaf(saya)saya=1nf(saya)

Sebenarnya, lebih masuk akal untuk memberi entri terbaru indeks terendah dan membuat fungsi berat berkurang. Dengan cara ini Anda bisa menyetelnya dengan mengatur bobot yang ingin Anda berikan ke elemen pertama.

Wikipedia memiliki entri tentang fungsi bobot , beberapa contoh dapat ditemukan di halaman tentang cara tertimbang .


terima kasih banyak, ini yang saya cari. Sangat informatif
Logan Besecker

Saya punya satu pertanyaan singkat, saya tahu bahwa 'i' adalah jumlah dari 'i' dan 'f (i)' adalah fungsinya (seperti 'f (x) = logx') sehubungan dengan 'i'. Tapi apa yang diwakili oleh 'si'? terima kasih banyak atas bantuan Anda
Logan Besecker

1
ssaya
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.