R - 多元回歸:初學者指南
你好,未來的 R 程式設計師們!今天,我們將踏上一段令人興奮的旅程,透過 R 來探索多元回歸的世界。別擔心如果你之前從未寫過一行代碼——我將會在每一步成為你親切導遊。在這個教學結束時,你將會對只用幾行 R 代碼就能達成的成就感到驚奇!
什麼是多元回歸?
在我們深入研究代碼之前,讓我們先了解什麼是多元回歸。想像你正在試圖預測一個房子的價格。你會考慮它的面積,但這不是唯一因素,對吧?房間數量、社區環境,甚至房子的年齡都可能起到作用。多元回歸是一種統計技術,它幫助我們了解多個因素(我們稱之為獨立變量)如何影響一個結果(我們的依變量)。
lm() 函數:你的新最佳朋友
在 R 中,我們使用 lm()
函數來進行多元回歸。 "lm" 代表 "線性模型",它將會成為你在統計世界中的新最佳朋友。讓我們分解一下如何使用它:
model <- lm(dependent_variable ~ independent_variable1 + independent_variable2 + ..., data = your_dataset)
這可能一開始看起來有點令人生畏,但讓我們來分解一下:
-
model
是我們給我們的回歸結果的名字。 -
dependent_variable
是我們試圖預測的變量。 -
~
在 R 語言中就像是在說 "被解釋為"。 -
independent_variable1
、independent_variable2
等等是我們的預測因子。 -
data = your_dataset
告訴 R 在哪裡找到我們的變量。
一個逐步示例
讓我們一起走過一個真實的例子。我們將使用 R 中的內置數據集 mtcars
(簡稱為摩托趨勢汽車道路測試)。這是一個關於不同汽車模型及其特性的數據集。
步驟 1:探索我們的數據
首先,讓我們窺探一下我們的數據:
head(mtcars)
這會顯示數據集的前幾行。你會看到像 mpg
(每加侖英里數)、cyl
(汽缸數)、disp
(排量)和 hp
(馬力)這樣的列。
步驟 2:創建我們的模型
假設我們想根據汽車的重量(wt
)和馬力(hp
)來預測它的每加侖英里數(mpg)。我們這樣做:
car_model <- lm(mpg ~ wt + hp, data = mtcars)
步驟 3:理解我們的結果
現在,讓我們看看我們的模型告訴我們什麼:
summary(car_model)
這個命令將給我們提供大量信息。別擔心如果其中一些看起來像天書——我們將專注於關鍵部分:
- 係數:這告訴我們每個變量如何影響 mpg。負值意味著隨著變量的增加,mpg 會減少。
- R 平方:這告訴我們模型對數據的適合程度。它的範圍從 0 到 1,1 表示完美適合。
- p 值:這告訴我們結果是否有統計显著性。通常,我們尋找小於 0.05 的值。
步驟 4:進行預測
現在最有趣的部分來了——讓我們用我們的模型來預測一個重 3000 磅且馬力為 150 的汽車的 mpg:
new_car <- data.frame(wt = 3, hp = 150)
predict(car_model, new_car)
瞧!你剛剛用多元回歸進行了一個預測。
可視化我們的結果
一幅圖片勝過千言萬語,尤其是在數據科學中。讓我們創建一個簡單的圖表來可視化我們的模型:
plot(mtcars$wt, mtcars$mpg, main = "重量 vs MPG", xlab = "重量", ylab = "每加侖英里數")
abline(lm(mpg ~ wt, data = mtcars), col = "red")
這會創建一個重量對 mpg 的散點圖,並添加我們的回歸線,線條為紅色。
多元回歸中的常見方法
以下是一些你可能會在回歸模型中使用的常見方法:
方法 | 描述 |
---|---|
summary() | 提供回歸模型的詳細摘要 |
coefficients() | 返回模型的係數 |
residuals() | 顯示觀測值和預測值之間的差異 |
predict() | 使用模型進行預測 |
plot() | 創建各種診斷圖表 |
anova() | 對模型進行方差分析 |
結論
恭喜你!你剛剛踏入了 R 中多元回歸的世界。記住,就像學習任何新技能一樣,熟練需要練習。不要害怕嘗試不同的數據集和變量。
當我們結束時,我想到一個學生曾經告訴我:"我從未想到我會能用數學來預測任何事物!" 現在你不僅可以預測事物,而且還能同時考慮多個因素。這不是很像超能力嗎?
持續編程,持續學習,最重要的是,用 R 遊戲時要玩得開心!
Credits: Image by storyset