數據分析中常見的七種回歸分析以及R語言實現(二)---逐步回歸
接著上篇文章,這裡講一下逐步回歸,那麼大家應該都知道逐步回歸是什麼樣的作用了,就是為我們剔除一些不重要或者不顯著的自變數,使得回歸方程最優形式去預測因變數;其中主要思路將所有自變數按照對因變數Y的作用大小,顯著程度,由大到小引入回歸方程中;其中主要通過幾個統計值來識別重要變數,可決係數,T值和AIC值,通過這三個值來添加和刪除自變數來擬合模型。大概步驟這樣,首先我們在實施每一步都要對引入方程的變數計算其偏回歸平方和,為什麼我們要計算偏回歸平方和呢,這個好比偏相關係數一樣,這個主要放映自變數和因變數之間的相關程度的偏差平方和,然後選擇一個偏回歸平方和最小的變數進行顯著性檢驗,如果顯著則保留,這時方程中其他的幾個變數也都不需要剔除,因為最小偏差平方和都顯著了,其他的更不需要了,相反,如果不顯著,則要提出變數,然後按偏回歸平方和小到大依次對方程中其他變數進行F檢驗,將對Y不顯著的變數全部提出,保留的都是顯著,接著再對未引入回歸方程中的變數分別計算其偏回歸平方和,並選取其中偏回歸平方和最大的一個變數,同樣進行顯著性檢驗,顯著則引入該變數進入方程,,這個過程一直下去,直到在回歸方程中的變數都不能剔除而又無新變數可以引入時,逐步回歸過程就結束了;按照其選擇方式的可以分為三種,向前逐步回歸法,每次增加一個自變數到模型中,直到添加變數不會使模型有所改進為止;向後逐步回歸從模型包含所有自變數開始,一次刪除一個變數,直到會降低模型質量為止;還有一種是是向前向後逐步回歸,通常我們稱之為逐步回歸,就是我們上段講一樣,每次的引入然後重新評估變數,然後剔除對模型沒有貢獻的變數,一直到模型最優為止;
這裡我們就使用R語言實戰裡面的代碼給大家做個實例,這裡使用的是MASS包中的stepAIC()函數可以實現逐步回歸模型,這個依據的AIC準則,模型的話就使用我們第一篇文章中的模型作為參照
載入包和數據集
library(nutshell)
library(MASS)
data(team.batting.00to08)
查看前六行
head(team.batting.00to08)
數據成功載入,這時候我們進行向後逐步回歸
runs.lm <- lm(runs~singles+doubles+triples+homeruns+walks+hitbypitch+sacrificeflies+stolenbases+caughtstealing,data=team.batting.00to08)
lm_back<-stepAIC(runs.lm,direction = "backward")
結果太長,分段截圖,開始AIC值
最後得到AIC值已經結果式,AIC值的減少所以模型得到了優化,我們的逐步回歸法是有效的
最後我們使用使用summary()函數列印模型結果
summary(lm_back)
從上圖得知全部變數都顯著有效,這裡就說到這裡,有什麼問題的話下方評論一起交流
大家也可以加小編微信:tswenqu,進R語言中文社區 交流群。
推薦閱讀:
※ggplot2繪製漂亮的直方圖
※離散顏色標度連續化的最佳實踐
※R語言 RStudio快捷鍵總結
※R語言文本挖掘包安裝方法匯總
※北京歷史空氣質量數據可視化~