我有一個資料集,其中包含不同的電子郵件代碼、電子郵件收件人以及他們是否回復電子郵件的標志。我計算了每個人過去的回復率,對于當前電子郵件之前的電子郵件(回復總和/電子郵件數量)。它看起來像這樣:
email_code responded person number_of_emails response_rate date
wy2 1 A 0 0 2022/01/12
na3 1 A 1 100 2022/01/22
li3 0 A 2 100 2022/01/23
pa4 1 A 3 66 2022/01/24
然而,這似乎不對。假設 A 人收到了 1 封電子郵件并回復了它,那么他們的回復率為 100%。B 人收到了 10 封郵件,回復了其中的 9 封,所以他們的回復率為 90%。但 B 人更有可能做出回應。
我想我需要計算一些貝葉斯平均值,類似于這篇文章和這個網站。但是,這些網站顯示了如何為評級執行此操作,我不知道如何根據我的情況調整公式。
任何幫助/建議將不勝感激!
uj5u.com熱心網友回復:
SO上的帖子完美地描述了如何計算貝葉斯評級,IMO。
我參考:
rating = (v / (v m)) * R
(m / (v m)) * C;
變數是:
- R – 物品自己的等級。R 是專案投票的平均值。(例如,如果一個專案沒有投票,它的 R 為 0。如果有人給它 5 星,R 變為 5。如果有人給它 1 星,R 變為 3,即 [1, 5] 的平均值。所以在。)
- C - 平均專案的評級。找出資料庫中每一項的R,包括當前一項,取它們的平均值;即 C。(假設資料庫中有 4 個專案,它們的評分為 [2, 3, 5, 5]。C 是 3.75,這些數字的平均值。)
- v – 一個專案的投票數。(再舉一個例子,如果有 5 個人對一個專案投了票,v 是 5。)
- m – 可調引數。應用于評級的“平滑”量基于與 m 相關的票數 (v)。調整 m 直到結果讓你滿意。并且不要將 IMDb 對 m 的描述誤解為“列出所需的最低投票數”——這個系統完全有能力對投票數少于 m 的專案進行排名。
所以在你的情況下:
R是response rate或number of replies / number of received emails. If someone hasn't received any emails setRto0to avoid divison by zero. If the haven't responded to any received emails theirR`當然是零。C, 是所有收件人的Rs 之和除以所有收件人的數量。v, 是收到的電子郵件數量。如果有人收到 10 封電子郵件,他們v將是 10。如果沒有收到任何電子郵件,他們v將是零。m, 如原始帖子中所述,是可調引數。
原始帖子的進一步參考描述m得很好:
公式所做的只是:在計算平均值之前添加 m 個假想票,每個票的值為 C。一開始,當沒有足夠的資料時(即投票數大大少于m),這會導致空白被平均資料填充。然而,隨著選票的積累,最終虛構的選票將被真實的選票淹沒。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/422816.html
標籤:
