Rを通じて統計学を学ぶ備忘録ブログ

SPSSからRに移行したい私のような人向けのR解説ブログ兼学習用備忘録。

第31回 回帰分析と重回帰分析

第31回は回帰分析と重回帰分析について書きます。

 

説明変数が 1つの場合=単回帰分析

説明変数が 2つ以上の場合=重回帰分析

線形回帰、非線形回帰に回帰分析は分類できるが、「線形」回帰の由来は「yとxの関係を直線で表せる」からである。まずは単回帰分析の大まかな特徴ついてみていく。

 

特徴1:回帰直線は、xとyの平均を通る

特徴2:傾きとx、yの相関係数の「符号」は一致する

特徴3:x以外の効果は誤差項に集約される

 

線形回分析にはいくつかの仮定がつけられます。

 

仮定 1:線型性。y = α + β x + εで表せる。(ε:誤差項、撹乱項

仮定 2:εの期待値は 0。

仮定 3:εの分散はすべての変数[i]について等しい。分散均一性を持つ。

仮定 4:εに系列相関は存在しない。 

仮定 5:説明変数とεは独立関係にある。

仮定 6:正規分布の仮定。εの確率分布は正規分布に従う。ゆえに仮定 2、3、 4をあわせると、εは互いに独立かつ同一の正規分布に従う。

 

なんのこっちゃ!?となるかもしれませんが、最初はわからなくてもいいかな〜。

(仮定ばっかりやなーと、最初学んだ時は思いました。)

 R備え付けデータstate.x77を「state」と書き出したのち、使用しています。

 

> demo3<-read.csv("state.csv",header=TRUE)  #stateデータを使用

> lm <- lm(Murder~Illiteracy,data=demo3) #回帰分析をする
> lm

 

Call:
lm(formula = Murder ~ Illiteracy, data = demo3)

Coefficients:
(Intercept)  Illiteracy
2.397    4.257

> summary(lm) #回帰分析の内容を詳しく

 

Call:

lm(formula = Murder ~ Illiteracy, data = demo3)

 

Residuals:

    Min      1Q      Median       3Q      Max 

-5.5315 -2.0602  -0.2503   1.6916   6.9745 

 

Coefficients:

               Estimate   Std. Error  t value  Pr(>|t|)    

(Intercept)     2.3968       0.8184      2.928     0.0052 ** 

Illiteracy        4.2575      0.6217     6.848    1.26e-08 ***

---

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

 

Residual standard error: 2.653 on 48 degrees of freedom

Multiple R-squared:  0.4942, Adjusted R-squared:  0.4836 

F-statistic: 46.89 on 1 and 48 DF,  p-value: 1.258e-08

 

予測値を確認していきましょう。predict関数を使います。

 

> round(predict(lm),2) #少数第2まで表示させ、予測値を見る

1  11.34

2  8.78

3  10.06

・・・

49  5.38

50  4.95

 

 x以外の効果部分=残差は以下のように計算できます。

例、Alabama。

ε(Alabama)=15.1-11.3=3.8

reesiduals関数を使えば、すべての残差を計算してくれます。

 

> residuals(lm)

1  3.76

2  2.51

・・・

49  -2.37

50  1.94

 

> sum(residuals(lm)) #残差の合計は(ほぼ)0が確かめられる
[1] 4.052314e-15 

 

> par(mfrow=c(2,2)) #4分割する
> plot(lm) #回帰分析の仮定を満たすかを確認f:id:teruaki-sugiura:20150714011026p:plain

Residuals vs. Fitted(左上)

横軸が予測値、縦軸が残差。残差の振る舞いを観察する。残差が0からどのように散らばっているかを確認する。外れ値がある時は、回帰係数がそれに引っ張られるので、外したほうがいいかも。

Normal QQ plot(右上)

データの正規性を確認するためのもの。データが正規分布に従っている場合は、直線にデータがのってきます。

Scale-Location(左下)

残差の変動状況を考察するために使用します。

標準化した残差の絶対値の平方根を縦軸にし、予測値を横軸にした散布図。残差の大きさを確認するために使います。

Residuals vs. Leverage(左上)

横軸は梃子値で、縦軸は標準化残差。赤線でクックの距離0.5を示している。クックの距離が0.5を超えると異常値として扱われます。梃子値は1以下で、残差とともに大きくなると問題あり。

 

以上、第31回はお終い。