在 R 中擬合與解讀線性迴歸簡介
歡迎大家!在本章中,我們將從 Paper A 的理論公式轉向 Paper B 的實際應用,學習如何使用 R 語言進行線性迴歸 (Linear Regression)。迴歸分析是精算師工具箱中最強大的工具之一——它讓我們能夠理解變量之間的關係(例如駕駛者的年齡如何影響其保險索償金額),並對未來做出預測。
對於 Paper B,考官不僅僅是在尋找一個「正確的數字」;他們更希望看到你能利用軟件擬合模型、解讀匯總輸出結果,並驗證該模型是否真正適合數據。如果一開始覺得 R 代碼很陌生,請別擔心;我們將逐行拆解輸出內容。
1. 擬合模型:lm() 函數
在 R 中,我們使用 lm() 函數(代表「linear model」,即線性模型)來擬合線性迴歸模型。最重要的一點是記住其公式語法 (formula syntax):
\(response \sim explanatory\)
- 響應變量 (Response Variable, \(y\)): 你想要預測的目標(例如:總索償成本)。
- 解釋變量 (Explanatory Variable, \(x\)): 你認為會影響響應變量的因素(例如:保單持有人人數)。
簡單線性迴歸 vs. 多重線性迴歸
在簡單線性迴歸中,我們只有一個解釋變量:
\(model1 <- lm(y \sim x, data = my_data)\)
在多重線性迴歸中,我們有多個解釋變量:
\(model2 <- lm(y \sim x1 + x2 + x3, data = my_data)\)
小貼士:R 使用最小二乘法 (Method of Least Squares) 來計算最佳擬合線。這種方法能使實際數據點與模型預測值之間的平方差之和達到最小。
2. 解讀匯總輸出結果 (Summary Output)
擬合模型後(例如 \(fit <- lm(y \sim x)\)),你可以使用 summary(fit) 命令來查看結果。這是 Paper B 大多數題目考查的重點。
系數表 (The Coefficients Table)
這張表提供了截距和斜率的最小二乘估計值:
- (Intercept) Estimate (\(\hat{\beta}_0\)): 當所有 \(x\) 變量均為零時,\(y\) 的預測值。
- Variable Estimate (\(\hat{\beta}_1\)): 在假設所有其他變量保持不變的情況下,該解釋變量每增加 1 個單位,響應變量隨之產生的變化量。
斜率的統計推斷
輸出結果還為每個系數提供了一個 p 值 (p-value)(通常標記為 Pr(>|t|))。這用於檢驗原假設 (Null Hypothesis) \(H_0: \beta_i = 0\):
- 小 p 值(通常 \(p < 0.05\)): 我們拒絕 \(H_0\)。該解釋變量具有統計顯著性 (statistically significant)——它與響應變量之間存在顯著的關係。
- 大 p 值 (\(p > 0.05\)): 我們未能拒絕 \(H_0\)。在存在其他變量的情況下,該變量可能不是一個有用的預測指標。
核心重點:務必留意 R 輸出中的星號 (***)。它們是判斷顯著性的快速視覺引導,但在考試中,請務必引用實際的 p 值來支持你的結論。
3. 評估擬合優度 (Goodness of Fit)
我們的模型究竟在多大程度上解釋了數據?我們主要看 R 輸出中的兩個指標:
多重 R 平方 (Multiple R-squared, \(R^2\))
\(R^2\) 告訴我們響應變量的總變異中,由解釋變量所解釋的部分所佔的比例。其取值範圍為 \(0\) 到 \(1\):
- \(R^2 = 0.85\) 意味着模型解釋了數據中 85% 的變異。
- \(R^2 = 1.00\) 表示完美擬合(這在現實的精算數據中非常罕見!)。
調整後的 R 平方 (Adjusted R-squared)
當你增加更多解釋變量時,\(R^2\) 幾乎總是會增加,即使這些新變量毫無用處。調整後的 R 平方會對增加不必要的變量進行「懲罰」。在比較具有不同數量變量的兩個模型時,通常首選 Adjusted R-squared 較高的那一個。
4. 利用殘差檢查模型的有效性
「殘差」(Residual) 是實際觀測值與模型預測值之間的差異:\(e_i = y_i - \hat{y}_i\)。為了確保線性迴歸是有效的,我們需要通過 R 的診斷圖(通常使用 plot(fit))來檢查這些殘差。
- 殘差 vs 擬合值圖 (Residuals vs Fitted plot): 我們希望看到點呈隨機的「雲狀」分佈。如果出現明顯的模式(如曲線或漏斗形),則說明線性模型可能不合適,或者方差可能不是常數(即存在異方差性 heteroscedasticity)。
- 常態 Q-Q 圖 (Normal Q-Q plot): 點應該大致分佈在一條直線對角線上。這證實了殘差呈正態分佈,這是確保我們的 p 值和置信區間有效的前提假設。
常見錯誤: 不要只說「模型很好」。要利用殘差圖來證明滿足了線性 (linearity)、等方差性 (constant variance) 和正態性 (normality) 的假設。
5. 預測與置信極限
一旦有了擬合模型,我們就可以使用 predict() 函數來估計新數據的值。在 CS1 中,你必須區分兩種區間:
置信區間 (Confidence Interval - 平均響應)
這是針對具有特定 \(x\) 值的所有項目的平均 (average) 響應的區間。
R 代碼:\(predict(fit, newdata, interval = "confidence")\)
預測區間 (Prediction Interval - 個體響應)
這是針對單個 (single) 未來觀測值的區間。個體結果比平均值更難精確預測,因此預測區間總是比置信區間更寬。
R 代碼:\(predict(fit, newdata, interval = "prediction")\)
類比: 預測 1,000 名男性的平均身高(置信區間)要比預測下一個走進門的男性的身高(預測區間)容易得多。
6. 總結與模型選擇
當你有幾個潛在的解釋變量時,你需要選擇「最佳」的一組。這個過程包括:
- 檢查每個變量的顯著性(p 值)。
- 尋找最高的調整後 R 平方。
- 剔除對模型沒有顯著貢獻的變量(這個過程通常被稱為「逐步法」選擇,但在考試中,你可能只需要比較兩個特定的模型)。
你知道嗎? 精算師經常使用這些模型來設定「基準費率」。例如,線性迴歸可能會告訴他們,車齡每增加一年,預計的年度維修成本就會增加 \(\$50\)。那 \(\$50\) 就是你在 R 輸出中看到的斜率系數!
快速複習框
- lm(y ~ x):擬合模型。
- summary():顯示系數、p 值和 \(R^2\)。
- p-value < 0.05:變量具有顯著性。
- R-squared:解釋了多少變異。
- plot():通過殘差檢查模型假設是否成立。
- 預測區間 (Prediction Interval):總是比置信區間 (Confidence Interval) 更寬。