120 likes | 292 Views
R による回帰分析. 高崎経済大学 宮田 庸一. R とは. R とは、統計処理、グラフ作成のために開発された言語である。 R はフリーソフト ダウンロードおよびインストールの仕方は 高崎経済大学 宮田研究室の R というページに書いてある. 使用するデータ. 各店舗の売上高のデータ http://mo161.soci.ous.ac.jp/@d/DoDStat/indexj.html より引用(このページから経済→店舗データといけば見つかる). 使用するデータ. データのインポート. R にデータを取り込むために
E N D
Rによる回帰分析 高崎経済大学 宮田 庸一
Rとは • Rとは、統計処理、グラフ作成のために開発された言語である。 • Rはフリーソフト • ダウンロードおよびインストールの仕方は 高崎経済大学 宮田研究室のRというページに書いてある
使用するデータ • 各店舗の売上高のデータ • http://mo161.soci.ous.ac.jp/@d/DoDStat/indexj.htmlより引用(このページから経済→店舗データといけば見つかる)
データのインポート • Rにデータを取り込むために data01<-read.csv("c:\\Program Files\\R\\jikken.csv",header=T) と入力しEnterを押す
Rによる回帰分析 • res1<-lm(sales~numpass+minutes+area+parkcar+numwork+kinds,data=data01) 説明変数 応答変数 使用するデータの変数名
解析結果を見る summary(res1) Call: lm(formula = sales ~ numpass + minutes + area + parkcar + numwork + kinds, data = data1) Residuals: Min 1Q Median 3Q Max -29.0324 -11.1896 0.1114 3.0808 38.7954 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 推定値 標準誤差 t-value p-value この値が0.05より小さいとき,帰無仮説H0は棄却される 自由度調整済み決定係数 F検定におけるp-value
AICを求める > AIC(res1) [1] 144.3474 Kや推定量以外の定数は比較するときには使用しないので > extractAIC(result) [1] 7.00000 99.77926
AICによるモデル選択(変数減少法) • 全ての説明変数を組み込んだ線形回帰モデルからp-valueの大きな説明変数から削除したモデルを作っていく。 その中で最も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 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・延々続く
出来れば一気にモデル選択したい • 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の創始者による本。最近の研究成果がわかる。