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の創始者による本。最近の研究成 果がわかる。
© Copyright 2024 ExpyDoc