R - 多元回歸:初學者指南

你好,未來的 R 程式設計師們!今天,我們將踏上一段令人興奮的旅程,透過 R 來探索多元回歸的世界。別擔心如果你之前從未寫過一行代碼——我將會在每一步成為你親切導遊。在這個教學結束時,你將會對只用幾行 R 代碼就能達成的成就感到驚奇!

R - Multiple Regression

什麼是多元回歸?

在我們深入研究代碼之前,讓我們先了解什麼是多元回歸。想像你正在試圖預測一個房子的價格。你會考慮它的面積,但這不是唯一因素,對吧?房間數量、社區環境,甚至房子的年齡都可能起到作用。多元回歸是一種統計技術,它幫助我們了解多個因素(我們稱之為獨立變量)如何影響一個結果(我們的依變量)。

lm() 函數:你的新最佳朋友

在 R 中,我們使用 lm() 函數來進行多元回歸。 "lm" 代表 "線性模型",它將會成為你在統計世界中的新最佳朋友。讓我們分解一下如何使用它:

model <- lm(dependent_variable ~ independent_variable1 + independent_variable2 + ..., data = your_dataset)

這可能一開始看起來有點令人生畏,但讓我們來分解一下:

  • model 是我們給我們的回歸結果的名字。
  • dependent_variable 是我們試圖預測的變量。
  • ~ 在 R 語言中就像是在說 "被解釋為"。
  • independent_variable1independent_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)

這個命令將給我們提供大量信息。別擔心如果其中一些看起來像天書——我們將專注於關鍵部分:

  1. 係數:這告訴我們每個變量如何影響 mpg。負值意味著隨著變量的增加,mpg 會減少。
  2. R 平方:這告訴我們模型對數據的適合程度。它的範圍從 0 到 1,1 表示完美適合。
  3. 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