威爾遜區(qū)間算法
在不考慮時(shí)間的情況下,以「贊成」和「反對(duì)」兩種評(píng)價(jià)方式為例,通常我們會(huì)有兩種最基礎(chǔ)的方法計(jì)算得分。
第一種為絕對(duì)分?jǐn)?shù)
這種計(jì)算方式有時(shí)會(huì)存在一定問題,例如:A 獲得 60 張贊成票,40 張反對(duì)票;B 獲得 550 張贊成票,450 張反對(duì)票。根據(jù)上式計(jì)算可得 A 的評(píng)分為 20,B 的評(píng)分為 100,所以 B 要優(yōu)于 A。但實(shí)際上,B 的好評(píng)率僅有 ,而 A 的好評(píng)率為
,因此實(shí)際情況應(yīng)該是 A 優(yōu)于 B。
這樣,我們就得到了第二種,相對(duì)分?jǐn)?shù)
這種方式在總票數(shù)比較大的時(shí)候沒有問題,但總票數(shù)比較小時(shí)就容易產(chǎn)生錯(cuò)誤。例如:A 獲得 2 張贊成票,0 張反對(duì)票;B 獲得 100 張贊成票,1 張反對(duì)票。根據(jù)上式計(jì)算可得 A 的評(píng)分為 100% ,B 的評(píng)分為 99% 。但實(shí)際上 B 應(yīng)該是優(yōu)于 A 的,由于 A 的總票數(shù)太少,數(shù)據(jù)不太具有統(tǒng)計(jì)意義。
對(duì)于這個(gè)問題,我們可以抽象出來:
- 每個(gè)用戶的投票都是獨(dú)立事件。
- 用戶只有兩個(gè)選擇,要么投贊成票,要么投反對(duì)票。
- 如果投票總?cè)藬?shù)為
,其中贊成票為
,則贊成票的比例
。
不難看出,上述過程是一個(gè)二項(xiàng)實(shí)驗(yàn)。 越大表示評(píng)分越高,但是
的可信性取決于投票的人數(shù),如果人數(shù)太少,
就不可信了。因此我們可以通過計(jì)算
的置信區(qū)間對(duì)評(píng)分算法進(jìn)行調(diào)整如下:
- 計(jì)算每個(gè)項(xiàng)目的好評(píng)率。
- 計(jì)算每個(gè)好評(píng)率的置信區(qū)間。
- 根據(jù)置信區(qū)間的下限值進(jìn)行排名。
置信區(qū)間的本質(zhì)就是對(duì)可信度進(jìn)行修正,彌補(bǔ)樣本量過小的影響。如果樣本足夠多,就說明比較可信,則不需要很大的修正,所以置信區(qū)間會(huì)比較窄,下限值會(huì)比較大;如果樣本比較少,就說明不一定可信,則需要進(jìn)行較大的修正,所以置信區(qū)間會(huì)比較寬,下限值會(huì)比較小。
二項(xiàng)分布的置信區(qū)間有多種計(jì)算公式,最常見的「正態(tài)區(qū)間」方法對(duì)于小樣本準(zhǔn)確性較差。1927 年,美國(guó)數(shù)學(xué)家 Edwin Bidwell Wilson 提出了一個(gè)修正公式,被稱為「威爾遜區(qū)間」,很好地解決了小樣本的準(zhǔn)確性問題。置信區(qū)間定義如下:
其中,
表示樣本好評(píng)率,
表示樣本大小,
表示某個(gè)置信水平的
統(tǒng)計(jì)量。
貝葉斯平均算法
在一些榜單中,有時(shí)候會(huì)出現(xiàn)排行榜前列總是那些票數(shù)最多的項(xiàng)目,新項(xiàng)目或者冷門的項(xiàng)目很難有出頭機(jī)會(huì),排名可能會(huì)長(zhǎng)期靠后。以世界最大的電影數(shù)據(jù)庫(kù) IMDB 為例,觀眾可以對(duì)每部電影投票,最低為 1 分,最高為 10 分,系統(tǒng)根據(jù)投票結(jié)果,計(jì)算出每部電影的平均得分。
這就出現(xiàn)了一個(gè)問題:熱門電影與冷門電影的平均得分,是否真的可比?例如一部好萊塢大片有 10000 個(gè)觀眾投票,一部小成本的文藝片可能只有 100 個(gè)觀眾投票。如果使用威爾遜區(qū)間算法,后者的得分將被大幅拉低,這樣處理是否公平,是否能反映電影的真正質(zhì)量呢?在 Top 250 榜單中,IMDB 給到的評(píng)分排名計(jì)算公式如下:
其中, 為最終的加權(quán)得分,
為該電影用戶投票的平均得分,
為該電影的投票人數(shù),
為排名前 250 電影的最低投票數(shù),
為所有電影的平均得分。
從公式中可以看出,分量 可以看作為每部電影增加了評(píng)分為
的
張選票。然后再根據(jù)電影自己的投票數(shù)量
和投票平均分
進(jìn)行修正,得到最終的分?jǐn)?shù)。隨著電影投票數(shù)量的不但增加
占的比重將越來越大,加權(quán)得分也會(huì)越來越接近該電影用戶投票的平均分。也可以將公式寫為更一般的形式:
其中,
為需要擴(kuò)充的投票人數(shù)規(guī)模,可以根據(jù)投票人數(shù)總量設(shè)置一個(gè)合理的常數(shù),
為當(dāng)前項(xiàng)目的投票人數(shù),
為每張選票的值,
為總體的平均分。這種算法稱為「貝葉斯平均」。在這個(gè)公式中,
可以視為“先驗(yàn)概率”,每新增一次投票,都會(huì)對(duì)最終得分進(jìn)行修正,使其越來越接近真實(shí)的值。