車の運転速度から、ブレーキを踏んでから停止までの距離を予測したい!
ここで使うのが単回帰分析です!
車の運転速度のデータ(説明変数)を用いて、停止までの距離(目的変数)を予測する式を作る、単回帰分析を行います。
1. 単回帰分析とは
2. 単回帰分析をやってみよう(carsのデータセット使用, 散布図行列や相関係数も確認)
3. 単回帰の当てはまり具合を、残差分析で確認(残差プロット, Q-Qプロット)
単回帰分析は、一つの変数xにより一つのyを説明・予測する方法です。
被説明変数 (応答変数, 従属変数, 目的変数) y: 説明される変数
説明変数 (独立変数, 予測変数) x: 説明する変数
yi=β0+β1xi+εi (i=1,2,3,…,n)
βは回帰係数で、β0は切片、β1は傾きを表し、εiは誤差項(測定に伴う誤差などを表すもの)です。
今回はcarsのデータセットを使用して、コードを解説します。
carsは、Speed and Stopping Distances of Cars(車の速度と停止距離)のデータです(1920年代)。
head(cars) # carsのデータセット確認 speed dist 1 4 2 2 4 10 3 7 4 4 7 22 5 8 16 6 9 10 pairs(cars) #1 散布図行列 cor(cars) #2 相関係数 speed dist speed 1.0000000 0.8068949 dist 0.8068949 1.0000000 cars_lm <- lm(dist~speed, data=cars) #3 単回帰分析 plot(dist~speed, data=cars) #4 散布図 abline(cars_lm) #5 単回帰直線を引く coef(cars_lm) #6 β0とβ1の算出 (Intercept) speed -17.579095 3.932409 summary(cars_lm) #7 単回帰分析の結果の詳細 Call: lm(formula = dist ~ speed, data = cars) Residuals: Min 1Q Median 3Q Max -29.069 -9.525 -2.272 9.215 43.201 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -17.5791 6.7584 -2.601 0.0123 * speed 3.9324 0.4155 9.464 1.49e-12 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 15.38 on 48 degrees of freedom Multiple R-squared: 0.6511, Adjusted R-squared: 0.6438 F-statistic: 89.57 on 1 and 48 DF, p-value: 1.49e-12
#1 散布図行列 #2 相関係数 で変数間の関連を確認しました。
右肩上がりのプロットであることが分かりました。
また、相関係数は0.81であり、これらの変数間には強い正の相関があることが分かりました。
#3 単回帰分析 (lm関数を使用)
lm(被説明変数~説明変数, data) によって分析できます。
#4, 5で、散布図+単回帰直線 で以下の図が作成できます。
#6 β0とβ1の算出
β0=-17.579095 β1=3.932409 が求まりました。
yi=-17.6+3.9xi の式で、xiを入れると予測値yiが求まる単回帰直線の式ができました。
#7 単回帰分析の結果の詳細
Multiple R-squared(決定係数): 0.6511
Adjusted R-squared(自由度調整済み決定係数 変数の数で補正): 0.6438
これらの決定係数は、0~1の間の値をとり、モデルがどの程度yを説明できているかを示す指標になります。
p-value(p値): 1.49e-12 で、0.05以下であるため、xがyを説明する力が十分であると結論できました。
参考)上記のsummary(cars_lm)で表示される、各名称についても丁寧に記述があり、本記事に関する情報はかなり豊富です。
残差分析によって、単回帰の当てはまり具合を確認します。
par(mfrow=c(1,2)) #8 plot(cars_lm, which=1:2) #9
plot関数で、残差に関するグラフは6つ指定できます。
今回は、その中の”「残差プロット」と「Q-Qプロット」を作図指定しました。
#8 複数の図を表示する指示で、1行に2つ作図せよの指示です。
#9 残差分析の1:残差プロットと2:Q-Qプロットを指定しています。
★残差プロット(上記左図)
横軸に予測値、縦軸に残差をプロットしています。
赤線は残差を説明する回帰曲線で、残差=0と重なっているほど、あてはまりがよい回帰モデルであるといえます。
図中の23, 35, 49 は、データフレームの行番号であり、このデータが、残差の絶対値が大きいもの※になります。
※これらが外れ値の候補になることも。ただし、外れ値として取り除くかは慎重な検討が必要。
★Q-Qプロット(quantile-quantile plot 上記右図)
横軸に標準正規分布の分位点、縦軸に残差の分位点をプロットしています。
正規分布である場合、データ プロットは直線になります。
23, 35, 49は、残差プロット同様、残差の絶対値が大きく、正規分布から外れていると考えられます。
ただし、残差プロット同様、外れ値の除去については検討が必要になります。
以下、参考図書です。Rを初めからきっちり学びたい方にお勧めです。
コメント