平行傾きの線形回帰

Rで学ぶ中級回帰分析

Richie Cotton

Data Evangelist at DataCamp

前提となるコース

このコースは Introduction to Regression in R の知識を前提とします。

Rで学ぶ中級回帰分析

単回帰から重回帰へ

「重回帰」は、2つ以上の説明変数をもつ回帰モデルです。

説明変数を増やすと、洞察が深まり、予測精度が上がります。

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
  • 各行は1匹の魚
  • 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で学ぶ中級回帰分析

Let's practice!

Rで学ぶ中級回帰分析

Preparing Video For Download...