6.1 遺漏變數偏差
單一回歸變數的迴歸中的遺漏變數偏差
遺漏變數偏差是當回歸變數X與遺漏變數相關時,OLS 估計量中的偏差。要產生遺漏變數偏差,必須滿足兩個條件:
- 與遺漏變數相關。
- 遺漏變數是依變數 的決定因素。
CASchools$STR <- CASchools$students/CASchools$teachers
CASchools$score <- (CASchools$read + CASchools$math)/2
cor(CASchools$STR, CASchools$score)
cor(CASchools$STR, CASchools$english)
考慮會說、讀和寫英語的能力可能是學習叫好的一個重要因素:
mod <- lm(score ~ STR, data = CASchools)
mult.mod <- lm(score ~ STR + english, data = CASchools)
mod Coefficients: (Intercept) STR 698.93 -2.28 mult.mod Coefficients: (Intercept) STR english 686.0322 -1.1013 -0.6498
OLS估計^β1表明小班制可以提高考試成績,但小班制的效果被高估了,,即 的係數,在絕對值上會太大。
6.2 多重回歸模型
Yi=β0+β1X1i+β2X2i+β3X3i+⋯+βkXki+ui , i=1,…,n.
summary(mult.mod)$coef
Estimate Std. Error t value Pr(>|t|)
(Intercept) 686.0322445 7.41131160 92.565565 3.871327e-280
STR – 1.1012956 0.38027827 -2.896026 3.978059e-03
english -0.6497768 0.03934254 -16.515882 1.657448e-47
因此,估計的多重迴歸模型是TestScore=686.03−1.10×STR−0.65×PctEL.
6.3 多重回歸中的擬合測量
在多元迴歸中,常見的摘要統計量為 、 和調整過的 。
可用summary()函式或手算:
n <- nrow(CASchools) # 觀測值數量(列數)
k <- 2 # 迴歸變數數量y_mean <- mean(CASchools$score) # 平均平均測試分數
SSR <- sum(residuals(mult.mod)^2) # 殘差平方和
TSS <- sum((CASchools$score – y_mean )^2) # 總平方和
ESS <- sum((fitted(mult.mod) – y_mean)^2) # 解釋平方和SER <- sqrt(1/(n-k-1) * SSR) # 迴歸標準誤
Rsq <- 1 – (SSR / TSS) # 決定係數 R^2
adj_Rsq <- 1 – (n-1)/(n-k-1) * SSR/TSS # 調整後的決定係數 adj. R^2# 輸出結果
c(“迴歸標準誤” = SER, “R^2” = Rsq, “調整後的 R^2” = adj_Rsq)
SER R^2 Adj.R^2
14.4644831 0.4264315 0.4236805
通過不斷增加迴歸變數以最大化這些度量值通常並不明智(增加成本)。
更有用的做法是增加能提高因果效應估計的迴歸變數(有關聯的、高興趣的)。