1. 程式人生 > >box-cox 轉換

box-cox 轉換

gist 性能 spa head 建立 http 推導 關於 blank

box-cox

由於線性回歸是基於正態分布的前提假設,所以對其進行統計分析時,需經過數據的轉換,使得數據符合正態分布。

Box 和 Cox在1964年提出的Box-Cox變換可使線性回歸模型滿足線性性獨立性方差齊性以及正態性的同時,又不丟失信息。

Box-Cox變換是統計建模中常用的一種數據變換,用於連續的響應變量不滿足正態分布的情況。在做線性回歸的過程中,不可觀測的誤差可能是和預測變量相關,於是給線性回歸的最小二乘法估計系數的結果帶來誤差,為了解決這樣的方差齊性問題,所以考慮對相應因變量做Box-Cox變換,變換之後,可以一定程度上減小不可觀測的誤差和預測變量的相關性。但是選擇的參數要適當,使用極大似然估計得到的參數,可以使上述過程的效果更好。當然,做過Box-Cox變換之後,方差齊性的問題不一定會消失,做過之後仍然需要做方差齊性的檢驗,看是否還需要采用其他方法。

1. 應用前提:

在做線性回歸的過程中,一般線性模型假定; Y=Xβ + ε, 其中ε滿足正態分布,但是利用實際數據建立回歸模型時,個別變量的系數通不過。例如往往不可觀測的誤差 ε 可能是和預測變量相關的,不服從正態分布,於是給線性回歸的最小二乘估計系數的結果帶來誤差,為了使模型滿足線性性獨立性方差齊性以及正態性,需改變數據形式,故應用box-cox轉換。

2. 和其他處理方法的比較:

對於非正太數據的轉換方法有:

技術分享

在一些情況下(P值<0.003)上述方法很難實現正態化處理,所以優先使用Box-Cox轉換,但是當P值>0.003時兩種方法均可,優先考慮普通的平方變換

Box-Cox推導公式見參考,這裏可用sklearn、SAS等實現。

3. 結論

  • 使用Box-Cox變換後的數據得到的回歸模型優於變換前的模型,變換可以使模型的解釋力度等性能更加優良。
  • 變換後的殘差可以更好的滿足正態性、獨立性等假設前提,降低了偽回歸的概率。
  • 使用Box-Cox變換族一般可以保證將數據進行成功的正態變化,但在二分變量或較少水平的等級變量的情況下,不能成功進行轉換,此時可以考慮使用廣義線性模型,例如logistic模型、johson轉換等。

註:關於P值

假設檢驗中常見到P值( P-Value,Probability,Pr),P值是進行檢驗決策的另一個依據。 P值即概率,反映某一事件發生的可能性大小。統計學根據顯著性檢驗方法所得到的P 值,一般以P < 0.05 為有統計學差異, P<0.01 為有顯著統計學差異,P<0.001為有極其顯著的統計學差異。其含義是樣本間的差異由抽樣誤差所致的概率小於0.05 、0.01、0.001。實際上,P值不能賦予數據任何重要性,只能說明某事件發生的幾率。統計結果中顯示Pr > F,也可寫成Pr( >F),P = P{ F0.05 > F}或P = P{ F0.01 > F}。統計學上一般P值大於0.05
我們可認為該組數據是符合正態分布

參考:

百度文庫

box-cox 轉換