殘差散點圖
偶遇一份關(guān)于樹木基本屬性的數(shù)據(jù),某研究者想探討體積(y)和樹高(x1)、周長(x2)的相關(guān)關(guān)系,因變量體積y是定量變量,所以我們首選線性回歸進行分析。為了驗證模型是否滿足線性回歸的前提條件,我們可以通過殘差散點圖進行判斷。具體的判斷方法可查看本公眾號往期文章《多重線性回歸前提條件的應(yīng)對》,下圖是擬合線性回歸方程y~x1+x2,所得到殘差散點圖,縱坐標是殘差,橫坐標是預(yù)測值。
非線性分布
從上圖可知,我們所擬合的回歸方程存在明顯的非線性關(guān)系。當然,我們可以通過直接擬合廣義線性模型或非線性模型等,來處理非線性的問題,但這通常是最后的殺手锏,明智的做法應(yīng)該是先采用相對簡單的數(shù)據(jù)變換方法來嘗試處理該類問題。數(shù)據(jù)變換可以對自變量進行,也可以對因變量進行,但往往考慮到擬合方程后對結(jié)果的可解釋性,我們通常選擇對自變量進行變換,適用于自變量做正態(tài)變換的方法可以查看本公眾號往期文章《數(shù)據(jù)不正態(tài),怎么辦?》。
我們先通過直方圖(見下圖)考察一下各個變量的分布情況,發(fā)現(xiàn)自變量都基本符合正態(tài)分布的情況,存在問題的正是因變量,它呈明顯的正偏峰分布。所以接下來我們考慮如何對因變量進行變換。
Box-Cox變換公式
除了上面遇到的例子,特別是在醫(yī)學(xué)統(tǒng)計分析中,常會遇到因變量不滿足正態(tài)分布的情況,我們就可以對因變量進行變換,Box-Cox變換是最常用的一種方法。Box-Cox變換的原理很簡單,用兩個公式就可以很好地解釋。第一個公式為:
y'=(y+c)^λ-1/[λ*g^(λ-1)]
y'是變換后的因變量;g為因變量y的幾何均數(shù);當因變量y存在小于等于0的數(shù)據(jù)時,我們需要借助參數(shù)c對整個因變量數(shù)據(jù)進行平移,使得y+c>0;λ為最重要的變換參數(shù),可以通過極大似然法進行估計,當所估計的λ為0時,上面的公式恒等于0,所以需要校正為以下公式:
y'=g*log(y+c)
R語言實例
下面我們采用R語言對開篇的例子進行Box-Cox變換以及變換后的回歸分析。
#載入car包
library(car)
#估計變換參數(shù)λ
lambada=powerTransform(y~x1+x2)
#進行Box-Cox變換
y_bc=bcPower(y,lambda$lambda)
#變換后的線性回歸
fit=lm(y_bc~x1+x2)
#查看殘差散點圖
plot(fit)
由散點圖可知,通過Box-Cox變換后,殘差散點的分布情況得到明顯的改善,基本符合前提假設(shè)。
參考文獻
Box, G. E. P. and Cox, D. R. (1964). An analysis of transformations, Journal of the Royal Statistical Society, Series B, 26, 211-252.
Kutner, M., Nachtsheim, C., Neter, J., and Li, W. (2004). Applied Linear Statistical Models, McGraw-Hill/Irwin, Homewood, IL.
聯(lián)系客服