回帰分析 - 線形単回帰分析
今回は、データ解析の基本である線形単回帰分析の復習をしてみる
lm関数
Rには、線形回帰分析を行う関数として、lmが用意されている
lm(formula, data, weights, subset, na.action)
- formula : モデルの形式
- data : データセット
- weights : 説明変数に重みをつける場合に指定する
- na.action : 欠損値の扱いを指定
データの用意
今回は、UCIマシンラーニング•レポジトリにあるAuto MPG Data Setの中の自動車の排気量と重量の二つの変数を使う。
ats <- read.table("auto-mpg.data", header=T) ats <- ats[, c("displacement", "weight")] head(ats)
displacement weight 1 307 3504 2 350 3693 3 318 3436 4 304 3433 5 302 3449 6 429 4341
回帰分析の結果の要約
summary(ats.lm)
Call: lm(formula = ats$weight ~ ats$displacement) Residuals: Min 1Q Median 3Q Max -1866.13 -175.35 -44.68 181.79 1042.20 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 1505.0187 32.3062 46.59 <2e-16 *** ats$displacement 7.5761 0.1471 51.52 <2e-16 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 305.5 on 396 degrees of freedom Multiple R-squared: 0.8702, Adjusted R-squared: 0.8698 F-statistic: 2654 on 1 and 396 DF, p-value: < 2.2e-16
Residuals
- 残差の四分位数。
- lm関数で求めたモデルによる値と実データの値の差の事で、残差の最小値、第1四分位数、中央値、第2四分位数、最大値が出力される
Coefficients
- 推定された回帰係数。
- Interceptの行に、定数項、その下に、モデルで指定した説明変数の係数があり、ここではats.s$displacementになっている。
- 各行は、係数の推測値、その標準誤差、t値、p値の順に並べられている。
- 係数の横にある、t値、p値は、係数が回帰モデルに役立っているかどうかに関する統計量で、p値が小さいほど、その係数が役立っている事を示す。
- 一番右にある、アスタリスクは、役に立ってる度を表している。3つが最大。
- 追記: 係数がこの回帰モデルに役立っているかどうかで、実際のデータへの当てはまりに役立っているかどうかは別です。
Multiple R-squared、Adjusted R-squared
- 決定係数と自由度調整済み決定係数
- 求めた回帰モデルがどの程度データにフィットしているかを評価する指標で、これらが1に近づくほど回帰モデルがデータに良くフィットしていることになる。
- 調整をする理由は、決定係数が、その定義上説明変数が多くなれば実際より大きくなってしまう傾向があるため
回帰診断図
回帰分析では残差を視覚的に分析したりする。
plotに、lmの結果を入れると、回帰診断図という図を出力することが出来る。
今回のデータは、残差の影響が大きい事が分かる
par(mfrow=c(2,2)) plot(ats.lm)
左上から、「残差とフィット値のプロット」、「残差の正規Q-Qプロット」、「残差の平方根プロット」、「残差と影響力プロット」
信頼区間と予測区間
ats.clim <- predict(ats.lm, interval="confidence") ats.plim <- predict(ats.lm, interval="prediction")
- グラフ描画
matplot(ats$displacement,cbind(ats.clim, ats.plim[,-1]), lty=c(1,2,2,3,3), type="l", ylab="predicted weight", xlab="displacement")
参考書籍
- 多次元データ解析法 (Rで学ぶデータサイエンス 2)
- Rによるデータサイエンス - データ解析の基礎から最新手法まで