いっかくのデータサイエンティストをいく

1からプログラミングとデータサイエンスを独習したい

【統計学】回帰分析と最小二乗法(R)

3回にわたって解説してきました回帰分析をRで実装してみたと思います。 有斐閣統計学」3章です。

Rで実装

Rではlm関数で回帰分析を行えます。lm関数を適当な変数に入れ、入れた変数をsummary()に入れると詳しい結果がでます。

#データ:教科書P60 Jリーグのデータ
#勝数
wins  <- c(22, 20, 20, 18, 17, 18, 13, 13, 13, 13, 13, 13, 13, 12, 12, 5, 6, 4)
#得点
score <- c(67, 84, 80, 60, 68, 62, 51, 47, 49, 50, 57, 43, 56, 46, 42, 32, 44, 38)

#まずは散布図
#モデルが正しそうかデータの分布を確認する
plot(score, wins, xlab="得点", ylab="勝数")
 
#回帰分析
result <- (lm(wins~score)) 
summary(result)

#回帰直線を引いてみる
plot(score, wins, xlab="得点", ylab="勝数")
abline(result)

散布図と回帰直線 f:id:imakoto0323:20180613154631p:plain

結果を眺める

f:id:imakoto0323:20180613154218p:plain

係数は回帰式のa,bに当たります。 scoreのt値を見ると6.99あり、得点力は勝敗に結び付きそうです。 自由度調整済み決定係数も7.38あり、十分説明できていると思います。

Rはt値はp値に星がつくので判断がしやすく便利です。