筆記說明
讀《Discovering Statistics Using R》第七章 Regression中的7.6節(jié)做的筆記。使用R進(jìn)行實(shí)操部分來自7.8.2-7.8.4節(jié)。
多重線性回歸
多重線性回歸(multiple regression)是簡(jiǎn)單線性回歸在多個(gè)自變量下的延申。
每多一個(gè)自變量就對(duì)應(yīng)多一個(gè)回歸系數(shù):
模型擬合更為復(fù)雜,但是基本原則與簡(jiǎn)單線性回歸相同:尋找能夠最大程度上與因變量相關(guān)的自變量的線性組合。
多重線性回歸中的決定系數(shù)是模型的預(yù)測(cè)y值和實(shí)際觀測(cè)y值之間pearson相關(guān)系數(shù)r的平方。多重線性回歸中對(duì)決定系數(shù)的解讀與簡(jiǎn)單線性回歸一樣:it is the amount of variation in the outcome variable that is accounted for by the model.
模型擬合優(yōu)度指標(biāo)
決定系數(shù)作為評(píng)價(jià)模型擬合優(yōu)度指標(biāo)的問題是:模型增加自變量,
就會(huì)增加。Akaike information criterion(AIC)是一個(gè)對(duì)模型自變量數(shù)進(jìn)行“懲罰”的擬合優(yōu)度指標(biāo),有點(diǎn)像矯正的
,AIC的定義為:
其中n為樣本量,ln為自然對(duì)數(shù)函數(shù),SSE為模型的誤差平方和,k為自變量個(gè)數(shù)。公式中的2k起到懲罰自變量個(gè)數(shù)的作用。
對(duì)于AIC的使用有幾點(diǎn)說明:
- AIC越大表明擬合越差,AIC越小表明擬合越好,但是多大算大并沒有標(biāo)準(zhǔn)。
- 只有在同一批數(shù)據(jù)上對(duì)同模型比較AIC才有意義。
在R中還可以計(jì)算另一個(gè)類似的指標(biāo):BIC(bayesian information criterion)但BIC相關(guān)內(nèi)容不在本書范圍。(可參考:AIC和BIC準(zhǔn)則)
自變量選擇
理想情況下,自變量選擇應(yīng)該基于既往研究。若考慮在已有模型基礎(chǔ)上增加新的自變量,新自變量的選擇應(yīng)該基于這些變量的理論重要性。反對(duì)隨機(jī)選擇上百個(gè)變量直接扔到模型中分析。
另外,自變量進(jìn)入模型的方式也有很多。當(dāng)自變量相互間完全不相關(guān)時(shí),自變量進(jìn)入的順序?qū)?shù)估計(jì)影響很小,但實(shí)際中自變量間常常相關(guān),因此自變量選擇的方法很重要。
- 分層級(jí)(Hierarchical)
分層回歸(Hierarchical regression)中自變量選擇基于既往研究。研究者決定自變量進(jìn)入模型的順序。由既往研究得到的已知自變量根據(jù)其預(yù)測(cè)因變量的重要性先進(jìn)入模型。在已知自變量進(jìn)入后,研究者再添加新自變量。新自變量可以一次全部納入,也可以逐個(gè)納入或分層納入(即推測(cè)最重要的先納入)。 - 強(qiáng)制納入(Forced Entry)
將所有自變量全部同時(shí)納入模型。和分層級(jí)納入一樣,這種方法需要有很好的專業(yè)理論依據(jù)。和分層級(jí)納入不同的是研究者不決定進(jìn)入的順序。有學(xué)者提出(Studenmund&Cassidy,1987)對(duì)于理論檢驗(yàn)來說這是唯一合適的變量選擇方法,因?yàn)橹鸩郊{入自變量的技術(shù)會(huì)收到數(shù)據(jù)隨機(jī)變異的影響,當(dāng)模型重復(fù)驗(yàn)證時(shí)很少能得到可復(fù)現(xiàn)的結(jié)果。 - 逐步法(Stepwise methods)
統(tǒng)計(jì)學(xué)家一般不贊成逐步回歸,R也不善于進(jìn)行自動(dòng)逐步回歸。如果你用R進(jìn)行逐步回歸的結(jié)果和用其他軟件得到的結(jié)果不同,原因可能是其他程序是在多年前寫成的,那時(shí)編程序的人員還不知道有更好的方法。逐步回歸中自變量進(jìn)入模型的順序完全基于數(shù)學(xué)的準(zhǔn)則。
在R中進(jìn)行逐步回歸需要指定方向。前進(jìn)法的初始模型僅有常數(shù)項(xiàng)。程序接下來挑選一個(gè)預(yù)測(cè)因變量效果最好的自變量進(jìn)入模型(根據(jù)與因變量的相關(guān)系數(shù)最高)。如果這個(gè)自變量提高了模型預(yù)測(cè)因變量的能力則保留其在模型中,然后再挑選第二個(gè)自變量。挑選第二個(gè)自變量的標(biāo)準(zhǔn)是與因變量的半偏相關(guān)系數(shù)(semi-partial correlation)最高。
具體舉例:假設(shè)第一個(gè)自變量能夠“解釋”因變量40%的變異,也就是說還有60%的變異未能被解釋。程序會(huì)選擇能解釋剩余60%變異比例最大的自變量。半偏相關(guān)系數(shù)衡量了因變量中“新的變異”中能被帶選自變量解釋的部分(可參考《Discovering Statistics Using R》筆記10-偏相關(guān)分析)。將選擇的自變量加入模型后如果模型預(yù)測(cè)能力提高則會(huì)保留該自變量,然后在剩余變量中重復(fù)挑選過程。
R做前進(jìn)法逐步回歸時(shí),基于AIC來進(jìn)行終止判斷。如果納入新變量后模型AIC降低則保留該自變量,如果剩余變量中沒有能使模型AIC再降低的變量則逐步法終止。
后退法的初始模型中納入所有潛在自變量,然后逐一查看剔除某自變量是否能使模型AIC降低,直到剔除模型中任何自變量都無法使AIC再降低。
逐步法中最后一種方向在R中稱為“both”,兼具兩種方向。同前進(jìn)發(fā)法一樣開始,每次有新自變量納入模型后都會(huì)對(duì)模型現(xiàn)有的自變量進(jìn)行一次剔除測(cè)試。
后退法優(yōu)于前進(jìn)法,因?yàn)榭赡艽嬖谝种菩?yīng)(suppressor effects):某自變量只在其他某個(gè)特定自變量保持不變的情況下才有作用。當(dāng)有抑制效應(yīng)存在時(shí),前進(jìn)法比后退法更可能會(huì)舍棄抑制效應(yīng)涉及的有作用的自變量,有更大的風(fēng)險(xiǎn)犯第二類錯(cuò)誤。 - 全子集法(all-subsets methods)
逐步法的問題:基于模型中已有的變量來評(píng)價(jià)某個(gè)自變量對(duì)因變量的擬合情況。有人用穿衣服類比逐步法的問題:在大冷天,逐步法可能先選擇穿上褲子,但是穿上褲子以后再想穿內(nèi)褲就很難了。
全子集回歸是更好的方法,它嘗試所有可能的自變量組合的模型,通過統(tǒng)計(jì)量(不深入探究它了)評(píng)估擬合效果選擇最優(yōu)模型。
全子集法的問題:隨著備選自變量數(shù)量增加,可能的自變量組合數(shù)呈指數(shù)增加。當(dāng)自變量較多時(shí)可能需要很長(zhǎng)時(shí)間完成所有模型的計(jì)算。但如今電腦計(jì)算能力有大幅提高,全子集法可行性不再是問題。
自變量選擇方法的選擇
廣義上的逐步法(stepwise methods)包括上面介紹的逐步法和全子集法,他們都基于數(shù)學(xué)標(biāo)準(zhǔn)選擇自變量,有學(xué)者認(rèn)為使用這些方法時(shí)決策權(quán)不在研究者手中。計(jì)算結(jié)果會(huì)受到樣本隨機(jī)性影響,可能和理論上自變量的重要性不符。另外還有過擬合和欠擬合的風(fēng)險(xiǎn)?;谏鲜鲈?,如果不是在模型建立探索階段,最好避免使用逐步法。如果使用,建議將數(shù)據(jù)切分使用交叉驗(yàn)證技術(shù)(cross-validate),詳見7.7.2.2節(jié)。
在7.8.1節(jié),推薦的建模策略:選擇有理論依據(jù)的自變量,先建立一個(gè)把所有可能有預(yù)測(cè)能力的自變量都納入的模型。根據(jù)該模型輸出評(píng)估各自變量對(duì)模型的貢獻(xiàn)程度。知道各自變量重要性后再重新建模,只納入重要的自變量。
使用R建立多重線性模型
使用的示例數(shù)據(jù)為:Album Sales 2.dat
在《Discovering Statistics Using R》筆記12-簡(jiǎn)單線性回歸 中,用廣告投入費(fèi)用(adverts)來預(yù)測(cè)唱片銷量(sales)建立簡(jiǎn)單線性回歸。在多重線性回歸的演示中在次此基礎(chǔ)上增加了2個(gè)自變量:
airplay:唱片發(fā)布前1周內(nèi),唱片中歌曲在廣播中播放的次數(shù)。
attract:樂隊(duì)的吸引程度。(打分0-10,10分表示最高)
library(rio)
album2 <- import("data/Album Sales 2.dat")
str(album2)
## 'data.frame': 200 obs. of 4 variables:
## $ adverts: num 10.3 985.7 1445.6 1188.2 574.5 ...
## $ sales : int 330 120 360 270 220 170 70 210 200 300 ...
## $ airplay: int 43 28 35 33 44 19 20 22 21 40 ...
## $ attract: int 10 7 7 7 5 5 1 9 7 7 ...
先建立一個(gè)和《Discovering Statistics Using R》筆記12-簡(jiǎn)單線性回歸 中一樣的簡(jiǎn)單線性回歸模型:
albumSales.2 <- lm(sales ~ adverts, data = album2)
接下來建立一個(gè)多重線性回歸模型:
albumSales.3 <- lm(sales ~ adverts + airplay + attract, data = album2)
因?yàn)閍lbmSales.3模型是在albumSales.2模型的基礎(chǔ)上加了2個(gè)自變量,書中介紹在這種情況下還可以使用update()函數(shù)通過在albumSales.2模型上新加自變量的方式建立albmSales.3。
albumSales.3 <- update(albumSales.2, .~. + airplay + attract)
函數(shù)的第一個(gè)參數(shù)是需要更新的原有模型,第二個(gè)參數(shù)為更新后的模型表達(dá)式,這里.~.表示保留原模型的自變量和因變量。
模型結(jié)果解讀
建立模型后可以使用summary()查看模型結(jié)果
summary(albumSales.3)
## Call:
## lm(formula = sales ~ adverts + airplay + attract, data = album2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -121.324 -28.336 -0.451 28.967 144.132
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -26.612958 17.350001 -1.534 0.127
## adverts 0.084885 0.006923 12.261 < 2e-16 ***
## airplay 3.367425 0.277771 12.123 < 2e-16 ***
## attract 11.086335 2.437849 4.548 9.49e-06 ***
## ---
## Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
##
## Residual standard error: 47.09 on 196 degrees of freedom
## Multiple R-squared: 0.6647, Adjusted R-squared: 0.6595
## F-statistic: 129.5 on 3 and 196 DF, p-value: < 2.2e-16
輸出的底部有 它是模型擬合優(yōu)度的一個(gè)測(cè)量,表示因變量的平方和中被模型“解釋”的比例。《Discovering Statistics Using R》筆記12-簡(jiǎn)單線性回歸 中使用同樣數(shù)據(jù)建立的簡(jiǎn)單線性模型的
為0.335,新納入2個(gè)自變量后
增加為0.665,因此可以說樂隊(duì)的吸引程度和廣播次數(shù)能夠“解釋”約33%(0.665-0.335)的因變量變異。
矯正的解讀待做完7.7.2.2節(jié)交叉驗(yàn)證后再做。
輸出還包括模型的參數(shù)估計(jì):各自變量的回歸系數(shù)、回歸系數(shù)的標(biāo)準(zhǔn)誤和t統(tǒng)計(jì)量、P值。
從回歸系數(shù)的正負(fù)可以判斷對(duì)應(yīng)自變量和因變量間的關(guān)系是正向/負(fù)向。回歸系數(shù)還表示在其他自變量不變的情況下,對(duì)應(yīng)自變量每改變1個(gè)單位,因變量改變的值。
標(biāo)準(zhǔn)化偏回歸系數(shù)
使用QuantPsyc包的lm.beta()可以計(jì)算線性回歸模型的標(biāo)準(zhǔn)化偏回歸系數(shù)。
library(QuantPsyc)
lm.beta(albumSales.3)
## adverts airplay attract
## 0.5108462 0.5119881 0.1916834
標(biāo)準(zhǔn)化偏回歸系數(shù)表示在其他自變量不變的情況下,某一自變量每改變1個(gè)標(biāo)準(zhǔn)差,因變量改變多少個(gè)標(biāo)準(zhǔn)差。標(biāo)準(zhǔn)化偏回歸系數(shù)均以對(duì)應(yīng)自變量的標(biāo)準(zhǔn)差為單位,不同變量間的標(biāo)準(zhǔn)化偏回歸系數(shù)是可比的。因此可以來衡量自變量的重要程度。
回歸系數(shù)的置信區(qū)間
在summary的輸出中有點(diǎn)估計(jì)值、有標(biāo)準(zhǔn)誤、有自由度,可以用confint()計(jì)算回歸系數(shù)的置信區(qū)間。
confint(albumSales.3)
## 2.5 % 97.5 %
## (Intercept) -60.82960967 7.60369295
## adverts 0.07123166 0.09853799
## airplay 2.81962186 3.91522848
## attract 6.27855218 15.89411823