Rで単回帰分析

こんにちは。namakemonoです。

今日は単回帰分析について記載していきたいと思います。

単回帰分析とは?

単回帰分析とは、1つの変数の値を用いて、ある1つの変数の値を予測する解析手法です。
要するに、2つの変数から「y=ax+b」という1次式を求める解析手法です。
yを「目的変数」、xを「説明変数」と呼びます。
ちなみに複数の変数値を用いて、ある1つの変数の値を予測する場合、「重回帰分析」と呼びます。

 

Rで単回帰分析

Rで単回帰分析をする場合、「lm」関数を利用します。
lm(y~x)と入力することで、単回帰分析を行ってくれます。
今回は「cars」サンプルデータを利用します。
carsはスピードと停止距離のデータです。そこで今回はスピードから停止距離を求める1次式を行いましょう。

> speed<-cars[[1]] > dist<-cars[[2]] > lm(dist~speed)Call:
lm(formula = dist ~ speed)Coefficients:
(Intercept) speed
-17.579 3.932

この結果から、「dist = 3.932 × speed + (-17.579)」という式が求まりました。
では、speed、distからなる散布図を作成し、そこにこの直線を表示させましょう。

> plot(speed,dist)
> abline(lm(dist~speed),col=”red”)

066
plotで散布図を作成し、ablineで回帰直線を表示させています。
視認できたほうがわかりやすいですね。

 

詳細な結果の取得

単回帰分析で2数間の関係がわかったからって、それをそのまま鵜呑みにしてはいけません。
その結果が信頼できるものかどうかを調べる必要があります。
結果の検証に必要な値は、「summary」関数を利用することで求められます。

> summary(lm(dist~speed))Call:
lm(formula = dist ~ speed)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

 

単回帰分析の結果をsummary関数の引数に利用すると、詳細な数値を取得することができます。
各数値の意味は以下の通りです。

Residuals:残差。残差とは予測の誤差のことで、予測値と実際値のずれを表します。

Min 最小値
1Q 第一四分位点
Median 中央値
3Q 第三四分位点
Max 最大値



Coefficients:偏回帰係数や標準誤差など、回帰分析の結果の主要部分が表示されます。(Interceptは切片を表します。)

意味
Estimate 偏回帰係数の推定値。 単回帰分析の場合、直線の傾きを表す。
Std.Error 標準誤差
t value t値。

t値とは、説明変数の係数や定数項の確からしさの度合いを判断する際に使用する数値です。

Pr(>|t|) p値。

p値とは、説明変数の係数や定数項が”たまたま”その値である確率を示しています。



他には以下のようなものがあります。
Residual standard error:残差の標準誤差
Multiple R-squared:寄与率、決定係数
Adjusted R-squared:調整済み寄与率、調整済み決定係数
寄与率には説明変数が多くなる程、値が大きくなる欠点があるので、自由度調整済み寄与率を使用します。
自由度とは、「サンプル数-定数項を含む変数の数」です。自由度が低いと、回帰分析の結果の信頼性は低くなってしまいます。

妥当性の検証

さて、数値の説明が終わったところで、妥当性の検証をしましょう。
妥当性の検証は主に2軸です。
 1.その変数の説明力
 2.その変数の信頼性


説明力とは、その説明変数がどの程度目的変数を説明できるかということです。
これには「寄与率」を利用します。
今回の例ですと、Adjusted R-squaredが「0.6438」ですので、60%ちょっと説明できていることがわかります。
また、この寄与率のp値が「1.49e-12」ですので、「1.49*(10^(-12))」、つまり、ほぼ0ですね。
p値は、「偶然この値になってしまう確率」を表すため、この寄与率は99%以上信頼できるといえます。


次に、信頼性です。
変数「speed」のp値は「1.49e-12」です。そのため、この変数は99%以上信頼できるといえます。



これらのことから、停止距離はスピードに(60%程度)影響を受けているとわかりました。
また、この分析結果も信頼できるものであることがわかりました。

最後に

今回は単回帰分析という回帰分析の基礎に触れました。
実際1つの説明変数しかない場合などほとんどないと思うので、これを足掛かりにしていただければと思います。
ではでは。


コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA