Rによる回帰分析

Rによる回帰分析
高崎経済大学
宮田 庸一
Rとは
Rとは、統計処理、グラフ作成のために開発された言語
である。
 Rはフリーソフト
 ダウンロードおよびインストールの仕方は
高崎経済大学 宮田研究室のRというページに書いてある

使用するデータ


各店舗の売上高のデータ
http://mo161.soci.ous.ac.jp/@d/DoDStat/indexj.htmlより
引用(このページから経済→店舗データといけば見つか
る)
numpass
通行人
numerical
minutes
最寄り駅からの時間
numerical
area
店舗面積
numerical
parkcar
駐車台数
numerical
numwork
従業員数
numerical
kinds
品数
numerical
sales
売上高
numerical
使用するデータ
numpass minutes
716
25
2208
30
1880
3
1416
20
904
10
1850
3
1039
15
2394
1
711
12
738
10
1322
11
793
18
1733
3
1569
4
1770
6
area
44
25
68
30
67
66
52
113
30
39
60
34
96
55
80
parkcar numwork
16
7
8
3
18
10
10
5
32
10
10
10
15
7
50
20
12
7
10
7
23
8
10
3
40
10
28
10
32
8
kinds
125
132
110
70
82
82
82
125
102
70
72
97
145
92
80
sales
78
34
145
51
98
115
75
258
70
65
82
32
190
168
195
データのインポート
Rにデータを取り込むために
data01<-read.csv("c:\\Program Files\\R\\jikken.csv",header=T)

と入力しEnterを押す
numpass minutes
716
25
2208
30
1880
3
1416
20
904
10
1850
3
1039
15
5
area parkcar numwork kinds
sales
44
16
7
125
78
25
8
3
132
34
68
18
10
110
145
30
10
5
70
51
67
32
10
82
98
66
10
10
82
115
52
15
7
82
75
Rによる回帰分析
応答変数

説明変数
res1<lm(sales~numpass+minutes+area+parkcar+numwork+kin
ds,data=data01)
使用するデータの変数名
解析結果を見る
summary(res1)
Call:
lm(formula = sales ~ numpass + minutes + area + parkcar + numwork + kinds, data = data1)
Residuals:
Min
1Q
-29.0324 -11.1896
Median
0.1114
3Q
3.0808
Max
38.7954
t-value
p-value
Coefficients: 推定値 標準誤差
Estimate Std. Error t value
Pr(>|t|)
(Intercept) 17.87515 39.47384 0.453
0.6627
numpass
0.02375 0.01455
1.632
0.1413
minutes
-2.72584 1.39556
-1.953
0.0866 .
area
0.10797
0.83667
0.129
0.9005
parkcar
2.23888
1.23919
1.807
0.1084
numwork 1.60522 3.30274
0.486
0.6400
kinds
0.24413
0.32616
0.749
0.4756
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 23.89 on 8 degrees of freedom
Multiple R-squared: 0.9267, Adjusted R-squared: 0.8717
F-statistic: 16.85 on 6 and 8 DF, p-value: 0.0003844
この値が0.05より小さいとき,帰
無仮説H0は棄却される
自由度調整済み決
定係数
F検定におけるp-value
AICを求める
> AIC(res1)
[1] 144.3474

AIC  2 log L( )  2( K  1)
2
 N (log(2 )  1)  N log( )  2( K  1)
> extractAIC(result)
[1] 7.00000 99.77926
2
extractAIC N log( )  2K
Kや推定量以外の定数
は比較するときには使
用しないので
AICによるモデル選択(変数減少法)
全ての説明変数を組み込んだ線形回帰モデルからpvalueの大きな説明変数から削除したモデルを作っていく。
その中で最もAICの小さなモデルを最適なモデルとして採
用する。
【例】 先ほどの回帰分析でp-valueが最も大きな値を取っ
ていたのはareaであった。これを削除して再び回帰分析
を行い, AICを求める.

>res2<-lm(sales~numpass+minutes+parkcar+numwork+kinds,data=data01)
> AIC(res2)
[1] 142.3786
出来れば一気にモデル選択したい
Rにはstepという関数が用意されている
【例】
step(lm(sales~numpass+minutes+area+parkcar+numwork+kinds,data=data01))
Start: AIC=99.78
sales ~ numpass + minutes + area + parkcar + numwork + kinds

Df Sum of Sq RSS AIC
- area 1
9.5 4576.8 97.8
- numwork 1 134.9 4702.1 98.2
- kinds 1 319.9 4887.1 98.8
<none>
4567.3 99.8
- numpass 1 1520.9 6088.2 102.1
- parkcar 1 1863.6 6430.8 102.9
- minutes 1 2178.1 6745.3 103.6
Step: AIC=97.81
sales ~ numpass + minutes + parkcar + numwork + kinds
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・延々続く
出来れば一気にモデル選択したい
Model
extractAIC
sales ~ numpass + minutes + area + parkcar + numwork + kinds
99.78
sales ~ numpass + minutes + parkcar + numwork + kinds
97.81
sales ~ numpass + minutes + parkcar + kinds
96.32
sales ~ numpass + minutes + parkcar
95.49
•step() 関数には。オプションとして変数増加法
(direction="forward"),変数減少法(direction="backward"),
変数増減法(direction="both") などがある。
•ただしstep() 関数のデフォルトは変数減少法になっている
ので,変数減少法を行う場合は単にstep()を用いれば良い。
参考文献
http://www.is.titech.ac.jp/~shimo/class/gakubu200409.html
(東工大・下平英寿さんの講義「R による多変量解析入
門」の第8 回「モデル選択」の資料
 坂元 慶行, 石黒 真木夫, 北川 源四郎. (1983). 情報量統
計学 (情報科学講座 A・5・4)共立出版
これはAICの入門書
 小西 貞則, 北川 源四郎. (2004). 情報量規準 (シリーズ・
予測と発見の科学),朝倉書店
AICを一般化したGAICの創始者による本。最近の研究成
果がわかる。
