為麻雀存活機率擬合模型
在這個練習中,你要根據麻雀的外觀特徵,估計牠在嚴重冬季風暴中存活的機率。資料集 sparrow 已經預先載入。要預測的結果變數是 status(「Survived」、「Perished」)。我們要考慮的變數有:
total_length:從喙尖到尾尖的全長(mm)weight:重量(克)humerus:肱骨長度(將翅膀連到身體的「上臂骨」)(英吋)
記得使用 glm()(文件)建立邏輯斯迴歸模型時,必須明確指定 family = binomial:
glm(formula, data = data, family = binomial)
你會呼叫 summary() 與 broom::glance(),用不同的函式來檢視邏輯斯迴歸模型。其中一個要看的診斷指標是對應於 \(R^2\) 的量,稱為偽 $R^2$。
$$ pseudoR^2 = 1 - \frac{deviance}{null.deviance} $$
可以把 deviance 看成類似於變異數:它衡量類別資料的變異程度。偽 \(R^2\) 類似於一般迴歸裡的 $R^2$:\(R^2\) 衡量模型「解釋的變異比例」。偽 \(R^2\) 則衡量「被解釋的 deviance 比例」。
本練習屬於課程
R 中的監督式學習:回歸
練習說明
- 如影片所示,請以
TRUE與FALSE的結果來進行預測。在sparrow資料框中建立新欄位survived,當status == "Survived"時為 TRUE。 - 建立表示
survived與關注變數之關係的公式fmla,並印出它。 - 擬合一個邏輯斯迴歸模型來預測麻雀的存活機率。將模型指定給變數
sparrow_model。 - 呼叫
summary()檢視模型係數、deviance 與 null deviance。 - 對模型呼叫
glance(),在資料框中檢視 deviance 與其他診斷指標。將glance()的輸出指定給變數perf。 - 計算偽 $R^2$。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# sparrow is available
summary(sparrow)
# Create the survived column
sparrow$survived <- ___
# Create the formula
(fmla <- _____)
# Fit the logistic regression model
sparrow_model <- ___
# Call summary
___
# Call glance
(perf <- ___)
# Calculate pseudo-R-squared
(pseudoR2 <- ___)