熱線電話:13121318867

登錄
首頁精彩閱讀R語言-選擇“最佳”的回歸模型
R語言-選擇“最佳”的回歸模型
2017-06-03
收藏

R語言-選擇“最佳”的回歸模型

嘗試獲取一個回歸方程時,實際上你就面對著從眾多可能的模型中做選擇的問題。是不是所有的變量都要包括?抑或去掉那個對預測貢獻不顯著的變量?還是需要添加多項式項和/或交互項來提高擬合度?最終回歸模型的選擇總是會涉及預測精度(模型盡可能地擬合數據)與模型簡潔度(一個簡單且能復制的模型)的調和問題。如果有兩個幾乎相同預測精度的模型,你肯定喜歡簡單的那個。本節討論的問題,就是如何在候選模型中進行篩選。注意,“最佳”是打了引號的,因為沒有做評價的唯一標準,最終的決定需要調查者的評判。

8.6.1 模型比較
用基礎安裝中的anova()函數可以比較兩個嵌套模型的擬合優度。所謂嵌套模型,即它的一些項完全包含在另一個模型中。在states的多元回歸模型中,我們發現Income和Frost的回歸系數不顯著,此時你可以檢驗不含這兩個變量的模型與包含這兩項的模型預測效果是否一樣好(見代碼清單8-11)。


此處,模型1嵌套在模型2中。 anova()函數同時還對是否應該添加Income和Frost到線性模型中進行了檢驗。由于檢驗不顯著(p=0.994),因此我們可以得出結論:不需要將這兩個變量添加到線性模型中,可以將它們從模型中刪除。
AIC(Akaike Information Criterion,赤池信息準則)也可以用來比較模型,它考慮了模型的統計擬合度以及用來擬合的參數數目。 AIC值越小的模型要優先選擇,它說明模型用較少的參數獲得了足夠的擬合度。該準則可用AIC()函數實現(見代碼清單8-12)。

此處AIC值表明沒有Income和Frost的模型更佳。注意, ANOVA需要嵌套模型,而AIC方法不需要。比較兩模型相對來說更為直接,但如果有4個、 10個,或者100個可能的模型怎么辦呢?這便是下節的主題。

8.6.2 變量選擇
從大量候選變量中選擇最終的預測變量有以下兩種流行的方法:逐步回歸法(stepwise method)和全子集回歸(all-subsets regression)。
1. 逐步回歸
逐步回歸中,模型會一次添加或者刪除一個變量,直到達到某個判停準則為止。例如, 向前逐步回歸(forward stepwise)每次添加一個預測變量到模型中,直到添加變量不會使模型有所改進為止。 向后逐步回歸(backward stepwise)從模型包含所有預測變量開始,一次刪除一個變量直到會降低模型質量為止。而向前向后逐步回歸(stepwise stepwise,通常稱作逐步回歸,以避免聽起來太冗長),結合了向前逐步回歸和向后逐步回歸的方法,變量每次進入一個,但是每一步中,變量都會被重新評價,對模型沒有貢獻的變量將會被刪除,預測變量可能會被添加、刪除好幾次,直到獲得最優模型為止。
逐步回歸法的實現依據增刪變量的準則不同而不同。 MASS包中的stepAIC()函數可以實現逐步回歸模型(向前、向后和向前向后),依據的是精確AIC準則。代碼清單8-13中,我們應用的是向后回歸。

開始時模型包含4個(全部)預測變量,然后每一步中, AIC列提供了刪除一個行中變量后模型的AIC值, <none>中的AIC值表示沒有變量被刪除時模型的AIC。第一步, Frost被刪除, AIC從97.75降低到95.75;第二步, Income被刪除, AIC繼續下降,成為93.76,然后再刪除變量將會增加AIC,因此終止選擇過程。
逐步回歸法其實存在爭議,雖然它可能會找到一個好的模型,但是不能保證模型就是最佳模型,因為不是每一個可能的模型都被評價了。為克服這個限制,便有了全子集回歸法。
2. 全子集回歸
全子集回歸,顧名思義,即所有可能的模型都會被檢驗。分析員可以選擇展示所有可能的結果,也可以展示n 個不同子集大?。ㄒ粋€、兩個或多個預測變量)的最佳模型。 例如, 若nbest=2,先展示兩個最佳的單預測變量模型,然后展示兩個最佳的雙預測變量模型,以此類推,直到包含所有的預測變量。全子集回歸可用leaps包中的regsubsets()函數實現。你能通過R平方、調整R平方或Mallows Cp統計量等準則來選擇“最佳”模型。

R平方含義是預測變量解釋響應變量的程度;調整R平方與之類似,但考慮了模型的參數數目。 R平方總會隨著變量數目的增加而增加。當與樣本量相比,預測變量數目很大時,容易導致過擬合。R平方很可能會丟失數據的偶然變異信息,而調整R平方則提供了更為真實的R平方估計。另外, Mallows Cp統計量也用來作為逐步回歸的判停規則。廣泛研究表明,對于一個好的模型,它的Cp統計量非常接近于模型的參數數目(包括截距項)。
在代碼清單8-14中,我們對states數據進行了全子集回歸。結果可用leaps包中的plot()函數繪制(如圖8-17所示),或者用car包中的subsets()函數繪制(如圖8-18所示)。

初看圖8-17可能比較費解。第一行中(圖底部開始),可以看到含intercept(截距項)和Income的模型調整R平方為0.33,含intercept和Population的模型調整R平方為0.1。跳至第12行,你會看到含intercept、 Population、 Illiteracy和Income的模型調整R平方值為0.54,而僅含intercept、 Population和Illiteracy的模型調整R平方為0.55。此處,你會發現含預測變量越少的模型調整R平方越大(對于非調整的R平方,這是不可能的)。圖形表明,雙預測變量模型(Population和Illiteracy)是最佳模型。
在圖8-18中,你會看到對于不同子集大小,基于Mallows Cp統計量的四個最佳模型。越好的模型離截距項和斜率均為1的直線越近。圖形表明,你可以選擇這幾個模型,其余可能的模型都可以不予考慮:含Population和Illiteracy的雙變量模型;含Population、 Illiteracy和Frost的三變量模型,或Population、 Illiteracy和Income的三變量模型(它們在圖形上重疊了,不易分辨) ;含Population、 Illiteracy、 Income和Frost的四變量模型。
大部分情況中,全子集回歸要優于逐步回歸,因為考慮了更多模型。但是,當有大量預測變量時,全子集回歸會很慢。一般來說,變量自動選擇應該被看做是對模型選擇的一種輔助方法,而不是直接方法。擬合效果佳而沒有意義的模型對你毫無幫助,主題背景知識的理解才能最終指引你獲得理想的模型。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢