之前我們學習瞭線性回歸和邏輯回歸等回歸模型對連續型變量或分類變量進行預測模型建模。
同時,我們也在之前的講解中,多次提到,如果預測變量(自變量)與結果變量(因變量)間不相關,即該預測模型的系數與0無統計學差異,我們在最終的預測模型中,需要將該預測變量刪除。
那麼,假如我們有很多個預測變量,想要一一確定這些預測變量是否真對結果變量起到瞭預測功能,我們有沒有辦法讓這個“刪除”變量的步驟可以自動實現呢?
於是我們引入瞭逐步回歸。
1. 逐步回歸
逐步回歸的基本思想是將變量逐個引入模型,每引入一個預測變量(解釋變量)後都要進行F檢驗(投必得論文編譯:第十九講 R語言–F檢驗:兩樣本方差比較),並對已經選入的預測變量逐個進行t檢驗(投必得論文編譯:第十講 R-兩獨立樣本t檢驗),當原來引入的預測變量由於後面預測變量的引入變得不再顯著時,則將其刪除。以確保每次引入新的變量之前回歸方程中隻包含顯著性變量。這是一個反復的過程,直到既沒有顯著的預測變量選入回歸方程,也沒有不顯著的預測變量從回歸方程中剔除為止。以保證最後所得到的預測變量集是最優的。
依據上述思想,可利用逐步回歸篩選並剔除引起多重共線性的變量(投必得論文編譯:第三十七講 R語言-多元線性回歸中的多重共線性和方差膨脹因子),其具體步驟如下:先用結果變量對每一個所考慮的預測變量做簡單回歸,然後以對結果變量貢獻最大的預測變量所對應的回歸方程為基礎,再逐步引入其餘預測變量。經過逐步回歸,使得最後保留在模型中的解釋變量既是重要的,又沒有嚴重多重共線性。
逐步回歸有三種實現策略,我們一般指的逐步回歸為第三種:
- 正向(Forward)選擇,從模型中沒有預測因素開始,反復添加最有幫助的預測因素,直到沒有顯著的預測變量選入回歸方程 。
- 向後(Backward)選擇(也稱向後消除)從完整模型(即包含所有可能預測變量的模型)中的所有預測變量開始,以迭代方式刪除貢獻最小的預測變量,直到沒有不顯著的預測變量從回歸方程刪除。
- 逐步(stepwise)選擇(也稱順序替換),這是向前和向後選擇的組合。您從沒有預測變量開始,然後順序添加最有貢獻的預測變量(例如正向選擇)。添加每個新變量後,刪除所有不再改善模型擬合的變量(例如向後選擇),直到既沒有顯著的預測變量選入回歸方程,也沒有不顯著的預測變量從回歸方程中剔除為止。
註意!
- 正向選擇和逐步選擇可以應用在高維數據情況下,即樣本數量n小於預測變量p的數量,例如在基因組領域,全基因組數量遠大於測試人群。
- 向後選擇要求樣本數n大於變量p數,以便可以擬合整個模型。
2. 逐步回歸R實現
2.1 加載所需的R包及數據集
- tidyverse 便於數據操作和可視化
- caret 簡化工作流程
- leaps,用於計算逐步回歸
library(tidyverse)
library(caret)
library(leaps)
-
扫码下载安卓APP
-
微信扫一扫关注我们微信扫一扫打开小程序手Q扫一扫打开小程序
-
返回顶部
Copyright © TaoHigo.com |
2020-2021 |
|
queries in 0.448 s