點(diǎn)贊的有多少人喜歡?

上一篇:《有多少人會(huì)點(diǎn)贊?》

提出問(wèn)題

在上次的文章中,我們簡(jiǎn)單討論了多少人會(huì)喜歡的問(wèn)題。
  這當(dāng)然是一個(gè)很大的問(wèn)題的很小的一部分,關(guān)于這個(gè)很大的問(wèn)題,可以看很久以前寫的文章:《點(diǎn)贊動(dòng)力學(xué)》

今天是在上一次文章的基礎(chǔ)上,來(lái)問(wèn)一個(gè)反過(guò)來(lái)的問(wèn)題:如果我們已經(jīng)知道有多少人、其中多少人為這個(gè)事物點(diǎn)了贊,那么我們?nèi)绾蝸?lái)確定究竟有多少人真正喜歡這個(gè)東西呢?

這似乎很搞哦。。。

解決問(wèn)題

上文主要是計(jì)算了人們給特定事物點(diǎn)贊的概率,有了這個(gè)概率,我們就可以通過(guò)二項(xiàng)式分布來(lái)“猜測(cè)”會(huì)有多少人點(diǎn)贊:



其中p是點(diǎn)贊的概率,我們已經(jīng)計(jì)算了出來(lái)。
  這個(gè)東西實(shí)際給出的,就是如果已經(jīng)知道了n和p,那么可以求出點(diǎn)贊數(shù)x的一個(gè)分布。

今天的問(wèn)題其實(shí)反了過(guò)來(lái):如果我們已經(jīng)知道了n和x,那么求p的一個(gè)分布。
  x的分布是一個(gè)二項(xiàng)式分布,p的分布則是一個(gè)β分布,而且就是通過(guò)上面的式子再做一個(gè)歸一化得到的:



或者寫為:


從分布曲線上來(lái)看,二項(xiàng)式分布和β分布很接近——其實(shí)前者就是后者的離散化。

因此,如果我們知道了總?cè)藬?shù)n和點(diǎn)贊的人數(shù)x,那么這篇文章被喜歡的概率分布就有了。可問(wèn)題到此還沒(méi)有結(jié)束——難道就簡(jiǎn)單地求一個(gè)平均值么?
  事實(shí)上,隨著樣本數(shù)量n的不同,平均值相等的情況也可以與很多不同的分布,比如下面這些分布曲線:


這些都是x/n=0.3的β分布,從高到低n分別為100、50、30、20、10

  所以,為了可以更好地反映分布,光有一個(gè)平均值是不行的。

不妨考慮這么兩個(gè)值:當(dāng)整個(gè)分布的概率密度等于最大概率密度的1/e時(shí)的兩個(gè)上下邊界值。

如果將這里的1/e換位1/2的話,這個(gè)其實(shí)就是通訊和模擬電路里面的半波寬。
  另一方面,1/e的地方也就是分布的Wilson熵最大的地方。

這里,為了解決這個(gè)問(wèn)題,我們引入這么一個(gè)輔助函數(shù):



其中pb=x/n。

下面的問(wèn)題就是求解方程:



這里由于x和n-x都是整數(shù),所以這個(gè)方程是一個(gè)代數(shù)方程而不是超越方程(如果是已知p求解x,那就是超越方程了)。但即便是一個(gè)代數(shù)方程,由于五次開(kāi)始不存在通用的求解公式,而這里x和n-x顯然都遠(yuǎn)大于5,所以這個(gè)方程不可簡(jiǎn)單求解。。。

要解決這個(gè)問(wèn)題,一個(gè)有效的方式是尋找這個(gè)函數(shù)的近似,要求就是兩者足夠相似,同時(shí)又方便求解。
  別說(shuō),這樣的函數(shù)還真被找到了:



  這倆人有多像呢?看下面的圖:


n=10,x=7

n=50,x=35

n=100,x=70

n=1000,x=700

  基本上,從100開(kāi)始,兩者就已經(jīng)幾乎無(wú)法分辨了。

這下,半波寬的問(wèn)題就很容易解決了:



由于n一般很大,所以也可以用Taylor展開(kāi)寫作:


當(dāng)然,由于這個(gè)結(jié)果是基于那個(gè)近似分布曲線的,所以我們需要代回到真正的β分布中,來(lái)看看是不是真的正好到最大概率密度的1/e。
  結(jié)果還算不錯(cuò),但依然有誤差,所以通過(guò)調(diào)節(jié),最后可以選擇下面這個(gè)結(jié)果,它在n大于100的時(shí)候足夠接近我們所要的結(jié)果,而在n只有幾十的時(shí)候也可以有不錯(cuò)的近似:


為什么選擇這樣的調(diào)節(jié)?
  這個(gè)是通過(guò)看分布曲線和邊值數(shù)據(jù)試出來(lái)的,俗稱瞎猜。
  比如在n=100,x=70的情況下,原來(lái)的計(jì)算結(jié)果給出的下邊界結(jié)果為0.356826,上邊界結(jié)果為0.386835,經(jīng)過(guò)調(diào)節(jié)后則上下邊界的結(jié)果分別為0.364572和0.364388,而我們想要的數(shù)值是0.367879。可以接受。

于是,關(guān)于最初的問(wèn)題,我們現(xiàn)在有三個(gè)值可以作為參考:
  平均值、下邊界值和上邊界值。

接下來(lái),如果你有一系列的文章,每篇文章都有一定的人閱讀和一定的人喜歡,就可以利用這個(gè)下邊界值來(lái)做排序——嗯,這也就是新聞排序中的Wilson算法(當(dāng)然,由于我懶得去查Wilson的原文,也懶得去鼓搗別的近似函數(shù),所以我這里采用的近似函數(shù)所給出的Wilson熵最大值的位置和對(duì)應(yīng)的Wilson排序系數(shù)就和真正的Wilson算法有點(diǎn)差別了,不過(guò)思路還是一樣的嘛~~~)。

下面的問(wèn)題

上面的所有計(jì)算都是建立在所有的閱讀和點(diǎn)贊都是隨機(jī)事件的情況下。
  有兩類事件這里沒(méi)有考慮:
  1,由于排序的引入導(dǎo)致的馬太效應(yīng);
  2,惡意刷榜。

前者大概還能用算法來(lái)消除一定的影響,后者就免談了,這不是算法能解決的問(wèn)題。

當(dāng)然了,在知道p的分布的情況下,是否可能逆推出上一篇文章中所說(shuō)的群體品味分布和文章格調(diào)值,這就是另一個(gè)問(wèn)題了。


如果你覺(jué)得這篇東西寫得還行,愿意打賞我一口咖啡,請(qǐng)戳打賞頁(yè)~~
本文遵守創(chuàng)作共享CC BY-NC-SA 3.0協(xié)議**

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容