
“最優(yōu)“回歸方程的選擇”
當變量中含有對Y影響不大的變量時,可能因為誤差平方和的自由度減小而使方差的估計增大,從而影響回歸預測的精度,適當?shù)倪x擇一個變量建立一個最優(yōu)的回歸方程十重要。此處采用逐步回歸法。
逐步回歸法計算
#水泥熱量與四種成分的關系
cement<-data.frame(
X1=c( 7, 1, 11, 11, 7, 11, 3, 1, 2, 21, 1, 11, 10),
X2=c(26, 29, 56, 31, 52, 55, 71, 31, 54, 47, 40, 66, 68),
X3=c( 6, 15, 8, 8, 6, 9, 17, 22, 18, 4, 23, 9, 8),
X4=c(60, 52, 20, 47, 33, 22, 6, 44, 22, 26, 34, 12, 12),
Y =c(78.5, 74.3, 104.3, 87.6, 95.9, 109.2, 102.7, 72.5,
93.1,115.9, 83.8, 113.3, 109.4)
)
lm.sol<-lm(Y ~ X1+X2+X3+X4, data=cement)
summary(lm.sol)
Call:
lm(formula = Y ~ X1 + X2 + X3 + X4, data = cement)
Residuals:
Min 1Q Median 3Q Max
-3.1750 -1.6709 0.2508 1.3783 3.9254
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 62.4054 70.0710 0.891 0.3991
X1 1.5511 0.7448 2.083 0.0708 .
X2 0.5102 0.7238 0.705 0.5009
X3 0.1019 0.7547 0.135 0.8959
X4 -0.1441 0.7091 -0.203 0.8441
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.446 on 8 degrees of freedom
Multiple R-squared: 0.9824, Adjusted R-squared: 0.9736
F-statistic: 111.5 on 4 and 8 DF, p-value: 4.756e-07
#回歸系數(shù)沒有一項通過檢測
#用step( )做回歸分析
lm.ste<-step(lm.sol)
Start: AIC=26.94
Y ~ X1 + X2 + X3 + X4
Df Sum of Sq RSS AIC
- X3 1 0.1091 47.973 24.974
- X4 1 0.2470 48.111 25.011
- X2 1 2.9725 50.836 25.728
<none> 47.864 26.944
- X1 1 25.9509 73.815 30.576
Step: AIC=24.97
Y ~ X1 + X2 + X4
Df Sum of Sq RSS AIC
<none> 47.97 24.974
- X4 1 9.93 57.90 25.420
- X2 1 26.79 74.76 28.742
- X1 1 820.91 868.88 60.629
用全部變量做回歸分析時,AIC值為26.94。接下來顯示如果去除X3,則AIC = 24.97,去掉x4則為25.01,去掉X3可以使AIC達到最小,R軟件自動去掉x3.
summary(lm.ste)
Call:
lm(formula = Y ~ X1 + X2 + X4, data = cement)
Residuals:
Min 1Q Median 3Q Max
-3.0919 -1.8016 0.2562 1.2818 3.8982
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 71.6483 14.1424 5.066 0.000675 ***
X1 1.4519 0.1170 12.410 5.78e-07 ***
X2 0.4161 0.1856 2.242 0.051687 .
X4 -0.2365 0.1733 -1.365 0.205395
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.309 on 9 degrees of freedom
Multiple R-squared: 0.9823, Adjusted R-squared: 0.9764
F-statistic: 166.8 on 3 and 9 DF, p-value: 3.323e-08
回歸系數(shù)顯著性水平有大提高,但是X2,X2系數(shù)檢驗不理想。從step()可以看出去掉x4,AIC從24.97變?yōu)?5.42,是增加的最少的,除AIC準則外,殘差平方各也是逐步回歸的重要指標之一,從直觀上看,擬合越好的直線,殘差平方和應該最小,去掉x4后,殘差平方和上升了9.93,也是最少的。從這兩項指標看,應該去掉x4.
lm.opt <- lm(Y ~ X1+X2,data = cement);
summary(lm.opt)
Call:
lm(formula = Y ~ X1 + X2, data = cement)
Residuals:
Min 1Q Median 3Q Max
-2.893 -1.574 -1.302 1.363 4.048
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 52.57735 2.28617 23.00 5.46e-10 ***
X1 1.46831 0.12130 12.11 2.69e-07 ***
X2 0.66225 0.04585 14.44 5.03e-08 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.406 on 10 degrees of freedom
Multiple R-squared: 0.9787, Adjusted R-squared: 0.9744
F-statistic: 229.5 on 2 and 10 DF, p-value: 4.407e-09
這個結果還算滿意
Y = 52.58 + 1.46831*X1 + 0.66225*X2
改變step( )中的某些參數(shù),可能得到不同的結果。
lm.ste<-step(lm.sol, trace=0, k=3); lm.ste
Call:
lm(formula = Y ~ X1 + X2, data = cement)
Coefficients:
(Intercept) X1 X2
52.5773 1.4683 0.663
直接去掉X3和X4。
從增加變量的角度考慮逐步回歸
lm0<-lm(Y~1, data=cement)
lm.ste<-step(lm0, scope = ~X1+X2+X3+X4, k=4)
Start: AIC=73.44
Y ~ 1
Df Sum of Sq RSS AIC
+ X4 1 1831.90 883.87 62.852
+ X2 1 1809.43 906.34 63.178
+ X1 1 1450.08 1265.69 67.519
+ X3 1 776.36 1939.40 73.067
<none> 2715.76 73.444
Step: AIC=62.85
Y ~ X4
Df Sum of Sq RSS AIC
+ X1 1 809.10 74.76 34.742
+ X3 1 708.13 175.74 45.853
<none> 883.87 62.852
+ X2 1 14.99 868.88 66.629
- X4 1 1831.90 2715.76 73.444
Step: AIC=34.74
Y ~ X4 + X1
Df Sum of Sq RSS AIC
+ X2 1 26.79 47.97 32.974
+ X3 1 23.93 50.84 33.728
<none> 74.76 34.742
- X1 1 809.10 883.87 62.852
- X4 1 1190.92 1265.69 67.519
Step: AIC=32.97
Y ~ X4 + X1 + X2
Df Sum of Sq RSS AIC
- X4 1 9.93 57.90 31.420
<none> 47.97 32.974
- X2 1 26.79 74.76 34.742
+ X3 1 0.11 47.86 36.944
- X1 1 820.91 868.88 66.629
Step: AIC=31.42
Y ~ X1 + X2
Df Sum of Sq RSS AIC
<none> 57.90 31.420
+ X4 1 9.93 47.97 32.974
+ X3 1 9.79 48.11 33.011
- X1 1 848.43 906.34 63.178
- X2 1 1207.78 1265.69 67.519
這里取k4,最后還剩下x1與x2。
在R中,還有兩個函數(shù)可以做逐步回歸,一個是add1( )函數(shù),用于增加變量,一個是drop1( )函數(shù),用于減小變量。事實上,step( )就是使用這兩個函數(shù)來自動增加和減小變量。
add1(lm0, scope = ~X1+X2+X3+X4, test="F")
Single term additions
Model:
Y ~ 1
Df Sum of Sq RSS AIC F value Pr(>F)
<none> 2715.76 71.444
X1 1 1450.08 1265.69 63.519 12.6025 0.0045520 **
X2 1 1809.43 906.34 59.178 21.9606 0.0006648 ***
X3 1 776.36 1939.40 69.067 4.4034 0.0597623 .
X4 1 1831.90 883.87 58.852 22.7985 0.0005762 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
打算減少變量
drop1(lm.sol, test="F")
Single term deletions
Model:
Y ~ X1 + X2 + X3 + X4
Df Sum of Sq RSS AIC F value Pr(>F)
<none> 47.864 26.944
X1 1 25.9509 73.815 30.576 4.3375 0.07082 .
X2 1 2.9725 50.836 25.728 0.4968 0.50090
X3 1 0.1091 47.973 24.974 0.0182 0.89592
X4 1 0.2470 48.111 25.011 0.0413 0.84407
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
根據(jù)每步計算的結果情況,人工選擇增加還是去掉某些變量。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉換:從基礎用法到實戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關聯(lián)查詢效率:打破 “拆分必慢” 的認知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結構數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結構數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預期算子的內(nèi)涵、作用與應用解析 動態(tài)隨機一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結構數(shù)據(jù)特征價值的專業(yè)核心 表結構數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結構化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應用 在數(shù)據(jù)分析與統(tǒng)計學領域,假設檢驗是驗證研究假設、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結構數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結構數(shù)據(jù)(以 “行 - 列” 存儲的結構化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進行 HTTP 網(wǎng)絡請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結構數(shù)據(jù)價值的核心操盤手 表格結構數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務數(shù)據(jù)分析是企業(yè)解決日常運營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務邏輯:從規(guī)則拆解到數(shù)據(jù)把關的實戰(zhàn)指南 在業(yè)務系統(tǒng)落地過程中,“業(yè)務邏輯” 是連接 “需求設計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅動下的精準零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當下,精準營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10