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值:
參考: