以下文章來源于付大米先生 ,作者付大米
付大米先生讓你與啤酒相視而坐
時常飲酒的你,應該對啤酒評分網站并不陌生。這些網站類似于啤酒的“大眾點評”,除了查詢一款酒的基本信息,很多網站上都會有用戶對這款酒的評分和評價,以及評分名列前茅的酒款名單。那么,這些評分網站是如何根據一個個獨立的個人評分,計算出該酒總評分和排名的呢?其實這只是一個簡單的數學問題——看完這篇文章,你將理解啤酒評分網站的基本排名邏輯。如今比較知名的啤酒評分網站,國內的有酒花兒,國外的有Untappd。兩者在玩法上有些共性:
參與者在一款酒后面留下自己的評分,分值為0-5分(實際上都有起評分數,如酒花兒至少0.25分,Untappd至少0.1分等);
每個人對同一款酒只能給出一個有效評分,多次評分的話取最新的那個;
網站根據所有人的評分為該酒計算一個總評分,并依據評分對酒款進行排名。
每個人都可以給一款酒打個人評分。那這款酒的總評分該如何得到呢?一個直接的想法就是——把這款酒的所有評分加起來,除以評分人數,得到這款酒的評分。這就是樸素的“算術平均”思想;每一個新評分都會對這款酒的總評分帶來影響,直觀又直接。在Untappd平臺上直接搜索某一款酒時,看到的得分,就是通過算術平均得到的。有評分,就不免有比較——哪一款酒評分更高呢?涉及到對比,我們很容易想到很多問題:評價人數偏少時,極端評分(比如0分和5分)影響比較大;
Blue Suede Shews算術平均分4.87酒A有100個人評價,算術平均值4.5分;酒B有1000個人評價,算術平均值4.4分。那么酒A評分一定比酒B好嗎?我們假設所有評分的人都是理性人,他會根據自身的喜好和品鑒能力對一款酒給出最合理的評分。同時我們假定,一款酒憑借其不同的質量會有一個確定的真實評分。受限于個人喜好和水平,大家給分就不會完全一致,但從整體分布上來看,還是會分布在這款酒真實評分附近。評分人數越多,計算出的評分就越貼近實際。我們假設不同評分出現的概率,符合正態分布。當評分數量較少時,評分分布就會有很大的偶然性。比如10個人有可能恰好都給一款酒打了4.8分,然而評分人數增加到1000人時,大家評分可能會集中于3.8分附近。通過增加數據點數量,可以減少偶然性。但如果評分數量差別比較大呢?比如上述圖中的情況,Blue Seude Shews和King JJJulis,該如何排名呢?一個合理的思路是,如果要比較兩款酒的好壞,至少應該請同樣多的評分人品嘗和評分。既然有的酒喝過的人數偏少,那么應該設法為它增加一些評分人。如何操作呢?換言之,通過擴展多少個“虛擬人”,每個虛擬人的評分該是多少,才合理呢?此時,所有啤酒的所有評分所構成的數據池,就可以起到很好的作用了。數據池中所有評分的算術平均值,可以認為是收錄的啤酒的平均水平。例如,數據池中有30萬條評分,算術平均值為3.5分,我們就可以認為,酒的平均水平是3.5分。若有新酒加入,在沒有任何人給出評分時,我們預設它就是一款處于平均水平的酒。也就是他的預設評分為3.5分。當有飲酒人喝過然后給出理性的評分時,這款酒的評分就開始被修正。越來越多的人給出評分,這款酒的評分就越來越接近其真實分數。假設我們給每一款新酒預設了C個預設評分,每個評分都是數據池平均分m;一段時間之后,出現了n條真人評分,每一條評分,我們計做Xi。根據相同的計算方法,我們知道這款酒的新評分為也就這個式子里,分子后面一項的意思是這n條真人評分的總和。也就是所有的分數(真人的和擴展的)加起來,除以總的評分數量。這個公式計算出來的平均值,就被稱為貝葉斯平均(Bayesian average),因為某種程度上,它借鑒了貝葉斯推斷(Bayesian inference)的思想:既然不知道投票結果,那就先估計一個值,然后不斷用新的信息修正,使得它越來越接近正確的值。Untappd和酒花兒在對酒款進行排名時,使用的都是貝葉斯平均值。雖然兩個網站都沒有給出擴展人數、擴展平均分,但基本思路大家應該明白了。你已經可以猜到了,剛剛的King JJJulis憑借更多的評分數,雖然算數平均值低于Blue Seude Shews,但仍然坐上了所有啤酒排名第一的寶座。(數據時間:2020年10月5日)。
用戶點評 共 2 條評論
網上點評不錯。
好家伙,概率論與數理統計應用面真廣