平行斜率線性迴歸

R 的迴歸分析中級

Richie Cotton

Data Evangelist at DataCamp

前一門課

本課程預設你已修過[Introduction to Regression in R](https://learn.datacamp.com/courses/introduction-to-regression-in-r)。

R 的迴歸分析中級

從單變數到多元迴歸

「多元迴歸」是含有超過 1 個解釋變數的迴歸模型。

更多解釋變數可帶來「更多洞見」與「更佳預測」。

R 的迴歸分析中級

課程內容

第 1 章

  • 「平行斜率」迴歸

第 2 章

  • 交互作用
  • 辛普森悖論

第 3 章

  • 更多解釋變數
  • 線性迴歸的原理

第 4 章

  • 多元羅吉斯迴歸
  • 羅吉斯分配
  • 羅吉斯迴歸的原理
R 的迴歸分析中級

魚類資料集

mass_g length_cm species
242.0 23.2 Bream
5.9 7.5 Perch
200.0 30.0 Pike
40.0 12.9 Roach
  • 每列是一條魚
  • mass_g 為反應變數
  • 1 個數值型、1 個類別型解釋變數
R 的迴歸分析中級

一次放入 1 個解釋變數

mdl_mass_vs_length <- lm(mass_g ~ length_cm, data = fish)
Call:
lm(formula = mass_g ~ length_cm, data = fish)

Coefficients:
(Intercept)    length_cm  
     -536.2         34.9
  • 1 個截距係數
  • 1 個斜率係數
mdl_mass_vs_species <- lm(mass_g ~ species + 0, data = fish)
Call:
lm(formula = mass_g ~ species + 0, data = fish)

Coefficients:
speciesBream  speciesPerch   speciesPike  speciesRoach  
       617.8         382.2         718.7         152.0
  • 每個類別各有 1 個截距係數
R 的迴歸分析中級

同時放入兩個變數

mdl_mass_vs_both <- lm(mass_g ~ length_cm + species + 0, data = fish)
Call:
lm(formula = mass_g ~ length_cm + species + 0, data = fish)

Coefficients:
   length_cm  speciesBream  speciesPerch   speciesPike  speciesRoach  
       42.57       -672.24       -713.29      -1089.46       -726.78 
  • 1 個斜率係數
  • 每個類別各 1 個截距係數
R 的迴歸分析中級

比較各係數

coefficients(mdl_mass_vs_length)
(Intercept)   length_cm 
     -536.2        34.9
coefficients(mdl_mass_vs_species)
speciesBream speciesPerch  speciesPike speciesRoach 
       617.8        382.2        718.7        152.0
coefficients(mdl_mass_vs_both)
length_cm speciesBream speciesPerch  speciesPike speciesRoach 
    42.57      -672.24      -713.29     -1089.46      -726.78 
R 的迴歸分析中級

視覺化:1 個數值解釋變數

library(ggplot2)

ggplot(fish, aes(length_cm, mass_g)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE)

魚重對長度的散佈圖

R 的迴歸分析中級

視覺化:1 個類別解釋變數

ggplot(fish, aes(species, mass_g)) +
  geom_boxplot() + 
  stat_summary(fun.y = mean, shape = 15)

魚重對物種的箱型圖

R 的迴歸分析中級

視覺化:同時放入兩個解釋變數

library(moderndive)

ggplot(fish, aes(length_cm, mass_g, color = species)) +
  geom_point() +
  geom_parallel_slopes(se = FALSE)

魚重對兩變數的散佈圖

R 的迴歸分析中級

一起來練習吧!

R 的迴歸分析中級

Preparing Video For Download...