《Discovering Statistics Using R》筆記13-多重線性回歸基礎(chǔ)

筆記說明

讀《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ù):
Y_i=(b_0 +b_1X_{1i} +b_2X_{2i}+...+b_nX_{ni})+ε_(tái)i
模型擬合更為復(fù)雜,但是基本原則與簡(jiǎn)單線性回歸相同:尋找能夠最大程度上與因變量相關(guān)的自變量的線性組合。
多重線性回歸中的決定系數(shù)R^2是模型的預(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ù)R^2作為評(píng)價(jià)模型擬合優(yōu)度指標(biāo)的問題是:模型增加自變量,R^2就會(huì)增加。Akaike information criterion(AIC)是一個(gè)對(duì)模型自變量數(shù)進(jìn)行“懲罰”的擬合優(yōu)度指標(biāo),有點(diǎn)像矯正的R^2,AIC的定義為:
AIC=n×ln(\frac{SSE }{n})+2k
其中n為樣本量,ln為自然對(duì)數(shù)函數(shù),SSE為模型的誤差平方和,k為自變量個(gè)數(shù)。公式中的2k起到懲罰自變量個(gè)數(shù)的作用。
對(duì)于AIC的使用有幾點(diǎn)說明:

  1. AIC越大表明擬合越差,AIC越小表明擬合越好,但是多大算大并沒有標(biāo)準(zhǔn)。
  2. 只有在同一批數(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),因此自變量選擇的方法很重要。

  1. 分層級(jí)(Hierarchical)
    分層回歸(Hierarchical regression)中自變量選擇基于既往研究。研究者決定自變量進(jìn)入模型的順序。由既往研究得到的已知自變量根據(jù)其預(yù)測(cè)因變量的重要性先進(jìn)入模型。在已知自變量進(jìn)入后,研究者再添加新自變量。新自變量可以一次全部納入,也可以逐個(gè)納入或分層納入(即推測(cè)最重要的先納入)。
  2. 強(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é)果。
  3. 逐步法(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ò)誤。
  4. 全子集法(all-subsets methods)
    逐步法的問題:基于模型中已有的變量來評(píng)價(jià)某個(gè)自變量對(duì)因變量的擬合情況。有人用穿衣服類比逐步法的問題:在大冷天,逐步法可能先選擇穿上褲子,但是穿上褲子以后再想穿內(nèi)褲就很難了。
    全子集回歸是更好的方法,它嘗試所有可能的自變量組合的模型,通過統(tǒng)計(jì)量Mallows' C_p(不深入探究它了)評(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

輸出的底部有R^2 它是模型擬合優(yōu)度的一個(gè)測(cè)量,表示因變量的平方和中被模型“解釋”的比例。《Discovering Statistics Using R》筆記12-簡(jiǎn)單線性回歸 中使用同樣數(shù)據(jù)建立的簡(jiǎn)單線性模型的R^2為0.335,新納入2個(gè)自變量后R^2增加為0.665,因此可以說樂隊(duì)的吸引程度和廣播次數(shù)能夠“解釋”約33%(0.665-0.335)的因變量變異。
矯正R^2的解讀待做完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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容