0、推薦術語
LCN: Longest Continuous no-click Num,連續展現不點擊;
1、PNR(Positive Negative Rate)
正逆序比 = 正序數 / 逆序數;
2、TGI(Target Group Index)
TGI:即Target Group Index(目標群體指數)
TGI指數= [目標群體中具有某一特征的群體所占比例/總體中具有相同特征的群體所占比例]*標准數100。
TGI指數表征:不同特征用戶關注問題的差異情況,其中TGI指數等於100表示平均水平,高於100,代表該類用戶對某類問題的關注程度高於整體水平。
3、COPC(Click over Predicted Click)
copc = 實際的點擊率/模型預測的點擊率,主要衡量model整體預估的偏高和偏低,同樣越接近1越好,一般情況下在1附近波動。這個指標在展示廣告上應用多一些。
4、pCTR(Predict Click-Through Rate)
廣告點擊率預測,pCTR要解決的問題是預測特定用戶在特定廣告位對特定廣告當特定環境下的點擊概率。
5、RMSE(Root Mean Square Error)
計算:是觀測值與真值偏差的平方和與觀測次數m比值的平方根。
均方根誤差:用來衡量觀測值同真值之間的偏差;
平均絕對誤差:是絕對誤差的平均值,能更好地反映預測值誤差的實際情況。
RMSE與MAE對比:RMSE相當於L2范數,MAE相當於L1范數。次數越高,計算結果就越與較大的值有關,而忽略較小的值,所以這就是為什么RMSE針對異常值更敏感的原因(即有一個預測值與真實值相差很大,那么RMSE就會很大)。
6、SD(Standard Deviation)
計算:是方差的算數平方根,是用來衡量一組數自身的離散程度。
RMSE與標准差對比:標准差是用來衡量一組數自身的離散程度,而均方根誤差是用來衡量觀測值同真值之間的偏差,它們的研究對象和研究目的不同,但是計算過程類似。
7、R-square(確定系數)
在講確定系數之前,我們需要介紹另外兩個參數SSR和SST,因為確定系數就是由它們兩個決定的。
其實“確定系數”是通過數據的變化來表征一個擬合的好壞。由上面的表達式可以知道“確定系數”的正常取值范圍為[0 1],越接近1,表明方程的變量對y的解釋能力越強,這個模型對數據擬合的也較好
當我們做邏輯回歸的時候,可以通過mse計算loss,但是僅僅看loss難以衡量模型的好壞,需要我們通過R_square來衡量模型。
對於R^2可以通俗地理解為使用均值作為誤差基准,看預測誤差是否大於或者小於均值基准誤差。
R2_score = 1,樣本中預測值和真實值完全相等,沒有任何誤差,表示回歸分析中自變量對因變量的解釋越好。
R2_score = 0。此時分子等於分母,樣本的每項預測值都等於均值。
R2_score不是r的平方,也可能為負數(分子>分母),模型等於盲猜,還不如直接計算目標變量的平均值。
注意事項:
1、R^2一般用在線性模型中(非線性模型也可以用)
2、R^2不能完全反映模型預測能力的高低,某個實際觀測的自變量取值范圍很窄,但此時所建模型的R2 很大,但這並不代表模型在外推應用時的效果肯定會很好。
3、數據集的樣本越大,R²越大,因此,不同數據集的模型結果比較會有一定的誤差,此時可以使用Adjusted R-Square (校正決定系數),能對添加的非顯著變量給出懲罰:
8、AUC(Area Under Curve)
ROC(Receiver Operating Characteristic)曲線與AUC(Area Under Curve)
ROC曲線:
- 橫坐標:假正率(False positive rate, FPR),FPR = FP / [ FP + TN] ,代表所有負樣本中錯誤預測為正樣本的概率,假警報率;
- 縱坐標:真正率(True positive rate, TPR),TPR = TP / [ TP + FN] ,代表所有正樣本中預測正確的概率,命中率。
對角線對應於隨機猜測模型,而(0,1)對應於所有整理排在所有反例之前的理想模型。曲線越接近左上角,分類器的性能越好。
ROC曲線有個很好的特性:當測試集中的正負樣本的分布變化的時候,ROC曲線能夠保持不變。在實際的數據集中經常會出現類不平衡(class imbalance)現象,即負樣本比正樣本多很多(或者相反),而且測試數據中的正負樣本的分布也可能隨着時間變化。
ROC曲線繪制:
(1)根據每個測試樣本屬於正樣本的概率值從大到小排序;
(2)從高到低,依次將“Score”值作為閾值threshold,當測試樣本屬於正樣本的概率大於或等於這個threshold時,我們認為它為正樣本,否則為負樣本;
(3)每次選取一個不同的threshold,我們就可以得到一組FPR和TPR,即ROC曲線上的一點。
當我們將threshold設置為1和0時,分別可以得到ROC曲線上的(0,0)和(1,1)兩個點。將這些(FPR,TPR)對連接起來,就得到了ROC曲線。當threshold取值越多,ROC曲線越平滑。
AUC(Area Under Curve)即為ROC曲線下的面積。AUC越接近於1,分類器性能越好。
物理意義:首先AUC值是一個概率值,當你隨機挑選一個正樣本以及一個負樣本,當前的分類算法根據計算得到的Score值將這個正樣本排在負樣本前面的概率就是AUC值。當然,AUC值越大,當前的分類算法越有可能將正樣本排在負樣本前面,即能夠更好的分類。
計算公式:就是求曲線下矩形面積。
推薦系統的 auc:https://mp.weixin.qq.com/s/e3qcSo8LPDf2S8TUvU6S1A
AUC代表模型預估樣本之間的排序關系,即正負樣本之間預測的gap越大,auc越大。
- ROC曲線反映了分類器的分類能力,結合考慮了分類器輸出概率的准確性
- AUC量化了ROC曲線的分類能力,越大分類效果越好,輸出概率越合理
- AUC常用作CTR的離線評價,AUC越大,CTR的排序能力越強
計算邏輯問題:
AUC計算是基於模型對全集樣本的的排序能力,而真實線上場景,往往只考慮一個用戶一個session下的排序關系。這里的gap往往導致一些問題。正如參考[3]中的舉例的幾個case,比較典型。主要包括兩點:
- 線上會出現新樣本,在線下沒有見過,造成AUC不足。這部分更多是采用online learning的方式去緩解,AUC本身可改進的不多。
- 線上的排序發生在一個用戶的session下,而線下計算全集AUC,即把user1點擊的正樣本排序高於user2未點擊的負樣本是沒有實際意義的,但線下auc計算的時候考慮了它。
- 改進:deepES 數據分析時,分用戶進行 pnr 統計;
9、PR曲線和ROC曲線比較
ROC曲線特點:
(1)優點:當測試集中的正負樣本的分布變化的時候,ROC曲線能夠保持不變。因為TPR聚焦於正例,FPR聚焦於與負例,使其成為一個比較均衡的評估方法。
在實際的數據集中經常會出現類不平衡(class imbalance)現象,即負樣本比正樣本多很多(或者相反),而且測試數據中的正負樣本的分布也可能隨着時間變化。
(2)缺點:上文提到ROC曲線的優點是不會隨着類別分布的改變而改變,但這在某種程度上也是其缺點。因為負例N增加了很多,而曲線卻沒變,這等於產生了大量FP。像信息檢索中如果主要關心正例的預測准確性的話,這就不可接受了。在類別不平衡的背景下,負例的數目眾多致使FPR的增長不明顯,導致ROC曲線呈現一個過分樂觀的效果估計。ROC曲線的橫軸采用FPR,根據FPR ,當負例N的數量遠超正例P時,FP的大幅增長只能換來FPR的微小改變。結果是雖然大量負例被錯判成正例,在ROC曲線上卻無法直觀地看出來。(當然也可以只分析ROC曲線左邊一小段)
PR曲線:
(1)PR曲線使用了Precision,因此PR曲線的兩個指標都聚焦於正例。類別不平衡問題中由於主要關心正例,所以在此情況下PR曲線被廣泛認為優於ROC曲線。
使用場景:
- ROC曲線由於兼顧正例與負例,所以適用於評估分類器的整體性能,相比而言PR曲線完全聚焦於正例。
- 如果有多份數據且存在不同的類別分布,比如信用卡欺詐問題中每個月正例和負例的比例可能都不相同,這時候如果只想單純地比較分類器的性能且剔除類別分布改變的影響,則ROC曲線比較適合,因為類別分布改變可能使得PR曲線發生變化時好時壞,這種時候難以進行模型比較;反之,如果想測試不同類別分布下對分類器的性能的影響,則PR曲線比較適合。
- 如果想要評估在相同的類別分布下正例的預測情況,則宜選PR曲線。
- 類別不平衡問題中,ROC曲線通常會給出一個樂觀的效果估計,所以大部分時候還是PR曲線更好。
- 最后可以根據具體的應用,在曲線上找到最優的點,得到相對應的precision,recall,f1 score等指標,去調整模型的閾值,從而得到一個符合具體應用的模型。