読者です 読者をやめる 読者になる 読者になる

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

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

第35回 モデル選択

R 多変量解析

第35回はモデル選択について書きます。前回の記事で、重回帰分析では変数の選択が重要とかきました。そこで今回は、変数の有効な選択法について書いていきます。

 

変数選択法には大きく3つあります。

①変数増加法:説明変数1つから順次増やしていく

②変数減少法:すべての変数を投入し、変数を減らしていく

③ステップワイズ法:増加法と減少法を組み合わせたもの

以上のいずれかを用いて、決定係数や分散分析によって回帰式の良し悪しを評価していましたが、最近は赤池情報量基準(AIC)を使うことが多くなってきました。私が所属していた分野では。

AICに関しては、今後くわしく書くとして、簡単にいうと、「よく予測できるモデルがよいモデル」という判断基準をもとにAICは作られています。「真のモデル」ではなく、「いい予測ができるモデル」を選択しようということ。理由として、真のモデル(神のみぞ知るモデル)を選択しなくても、単純なモデルでもよりよい予測ができるからです。とりあえず、AICの値は「小さければ」いいモデルということだけ忘れずに。

 

使うデータは前回の記事で用いた「マンガでわかる統計学(回帰分析)」のp107です。

> manga.all.lm <- lm(sales~.,data=manga) #3つの説明変数を投入する

> step(manga.all.lm)

Start: AIC=67.81
sales ~ no + area + distance

     Df  Sum of Sq  RSS    AIC
- no    1  214.9      4173.0   66.338
<none>            3958.1   67.809
- distance  1  10151.0     14109.2   78.520
- area    1  26190.8     30148.9   86.113

Step: AIC=66.34
sales ~ area + distance

     Df  Sum of Sq  RSS    AIC
<none>            4173   66.338
- distance    1  11345     15518  77.472
- area     1  26249    30422  84.203

Call:
lm(formula = sales ~ area + distance, data = manga)

Coefficients:
(Intercept)  area  distance
65.3239  41.5135  -0.3409

> extractAIC(manga.all.lm) #AICを算出
[1] 4.00000 67.80946

> manga.2.lm <- lm(sales~distance+area,data=manga) #2つの説明変数を投入する

> manga.1.lm <- lm(sales~distance,data=manga) #1つの説明変数を投入する

> extractAIC(manga.2.lm)
[1] 3.00000 66.33807

> extractAIC(manga.1.lm)
[1] 2.0000 84.2035

> par(mfrow=c(2,2)) #4分割
> plot(manga.all.lm) #回帰診断図

 

f:id:teruaki-sugiura:20150728193613p:plain

 

step関数を用いた結果、2つの変数を用いた回帰分析(sales ~ area + distance)が「よりよく予測できる」モデルのようです。

回帰診断図では、「分散の均一性」「誤差の正規性」などを確認。

分散の均一性については、左下の図により確認します。データが全体に満遍なく散布していることが望ましく、Fitted valuesが大きくなるにつれて分散も大きくなるようだと要検討。今回は大丈夫そう。

誤差の正規性についてはQ-Qプロット(右上)をみます。データポイントが直線にぴったりと乗る状態が好ましい。データが曲線的に見えるので正規性に疑いがある。

 

第35回は以上でお終い。

広告を非表示にする