単回帰分析

| コメント(0) | トラックバック(0)

 

ファイル

garbage.csv

に横浜と川崎を除く神奈川県内の各市における人口とゴミ収集量のデータが保存されています。このデータを使って、

(ゴミ収集量)=clip_image002×(人口)clip_image004

の単回帰分析を行ってみましょう。

データの入力

いつものように read.csvを使ってデータを読み込みます。

> g <- read.csv("garbage.csv")

> g

市 人口ごみ収集量

1 平塚 251991 75938

2 鎌倉 172638 64139

3 藤沢 362088 106898

4 小田原 197460 72415

5 茅ヶ崎 209575 64302

6 逗子 56436 20700

7 相模原 560366 169343

8 三浦 53795 20550

9 秦野 161692 46948

10 厚木 206186 85428

11 大和 202200 76155

12 伊勢原 96436 31048

13 海老名 110638 32124

14 座間 117025 36712

15 南足柄 43314 12939

16 綾瀬 80430 25665

 

R で回帰分析を行うための関数はlmです。説明変数と被説明変数をそれぞれ、人口とごみ収集量とする回帰分析を行うには以下のように入力します。

> result <- lm(g$ごみ収集量 ~ g$人口)

以上で変数resultに結果が代入されました。結果の要約を表示するにはsummaryという関数を利用します。

> summary(result)

Call:

lm(formula = g$ごみ収集量 ~ g$人口)

Residuals:

Min 1Q Median 3Q Max

-6495 -4545 -3229 1595 18787

Coefficients:

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

(Intercept) 4.811e+03 3.283e+03 1.466 0.165

g$人口 2.999e-01 1.486e-02 20.175 9.55e-12 ***

---

Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1

Residual standard error: 7598 on 14 degrees of freedom

Multiple R-Squared: 0.9667, Adjusted R-squared: 0.9644

F-statistic: 407 on 1 and 14 DF, p-value: 9.552e-12

まず注目すべき点は、Coefficientsの部分です。ここで、

Estimate :係数

Std. Error :標準誤差

Pr(>|t|) : P値

を意味します。また、

Residual standard error:標準誤差

Multiple R-Squared:決定係数

を表しますので、この回帰分析の結果は

clip_image006

となります。

p値は

帰無仮説:「回帰係数は0である」、 対立仮説:「回帰係数は0ではない」

に関する仮説検定のp値を意味しています。この結果から、5%の有意水準で、「a=0」は受容され、また、「b=0」は棄却されることが分かります。いいかえれば、切片は0であるが、人口はゴミ収集量に影響を与えていると考えられます。

残差を読み取る

次に残差をグラフ化してみましょう。残差はresidualsという関数で得られます。

> residuals(result)

1 2 3 4 5 6 7

-4439.2846 7557.7275 -6494.6658 8390.2205 -3355.7699 -1035.1521 -3508.3591

8 9 10 11 12 13 14

-393.1811 -6350.8365 18786.5078 10708.8111 -2682.1678 -5864.9981 -3192.3023

15 16

-4861.1871 -3265.3622

これをグラフにしてみましょう。

> plot(residuals(result),xlab="データNo.",ylab="残差")

次のようなグラフが表示されます。

clip_image008

もし、回帰分析がうまくいっているなら、残差の点は0を中心にまんべんなくばらついているはずです。ところが、このグラフを見ると、大きくプラスの方向へ外れている点が4点あります。この4点がどの都市に相当するのかを調べてみましょう。

以下のように入力すると、グラフに十字マークが表示されます。マークをプラス方向へ外れている4点に移動させ、マウスで右クリックして下さい。そのデータに対応する都市名が表示されます。表示が終わったらグラフ左上の「stop」メニューから「stop locator」を選択して下さい。

> identify(residuals(result),labels=d$市)

clip_image010

この結果から、これら4点が厚木・大和・小田原・鎌倉市であることが分かりました。これらの市は大都市または観光地です。このことから、ゴミの収集量を説明するには、単に人口だけではなく、都市の規模や、観光地があるかどうかなどを考慮しなければならないことが示唆されます。

練習問題

小売業に関する売上高(百億円)と従業員数(百人)のデータが

retail.csv

に保存されています。このデータを利用して散布図を描画し、単回帰モデルを推定してみましょう。


トラックバック(0)

トラックバックURL: http://www.moriyasu.org/cgi/mt/mt-tb.cgi/167

コメントする

このブログ記事について

このページは、moriyasuが2008年7月15日 14:53に書いたブログ記事です。

ひとつ前のブログ記事は「例題6-4」です。

次のブログ記事は「主成分分析」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.2rc3-ja