[[計量経済学のためのR環境]] #contents *単回帰の出力結果 [#ob63c679] 次のスクリプトを実行してみましょう。これは &ref(http://hnami.sub.jp/p/up/single01.jpg); のaとbを推定するスクリプトです。 dset <- read.csv("d/sample3.csv", header=TRUE) attach (dset) eq1 <- lm(y ~ x1) summary(eq1) 次のような結果が出るはずです。 > dset <- read.csv("d/sample3.csv", header=TRUE) > attach (dset) > eq1 <- lm(y ~ x1) > summary(eq1) Call: lm(formula = y ~ x1) Residuals: 1 2 3 4 5 6 -1.041 2.061 -1.673 1.378 -2.794 2.070 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -6.0930 2.4456 -2.491 0.06738 . x1 2.6227 0.5694 4.606 0.00999 ** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 2.352 on 4 degrees of freedom Multiple R-Squared: 0.8414, Adjusted R-squared: 0.8017 F-statistic: 21.21 on 1 and 4 DF, p-value: 0.009987 > > *単回帰の理屈 [#x65ce4a4] 出力結果を解説する前に、ごく簡単に単回帰の理屈を説明しておきましょう。 aとbは&ref(http://hnami.sub.jp/p/up/single03.jpg);をなるべく小さくするように選ばれています。そのための計算は単調なものですが、すっかり公式として整理されています。この公式を短く書くためには行列の意味や計算がわかっていないといけないので、ここでは公式(正規方程式)について説明しないことにします。 なぜ&ref(http://hnami.sub.jp/p/up/single03.jpg);をなるべく小さくするaやbを選ぶのでしょう。それは「説明しそこなった部分の大きさを分散で測っている」ことに関係があります。分散は「説明しそこなった部分を2乗して足してゆく」統計量なので、分散がなるべく小さくなるように考えている、ということなのです。 では、実際にどうやって計算するのでしょう。ミクロ経済学で最大化問題を解くとき、「微分してゼロとおく」ことで解を見つけます。関数が極大になったところでは、アーチのてっぺんのように傾きはゼロなはずだ、という理屈です。ここでもコンピュータは似たような計算をやっています。 では、順に解説していきましょう。 *係数の推定値 [#t950210b] aやbはCoefficients(係数)と呼ばれます。そのEstimates(推定値)はこの場合、aが-6.0930、bが2.6227です。 aはIntercepts(切片)とよく呼ばれます。X1=0のときのyの値は、yの軸を推定された直線のグラフが横切る値でもあるからです。ですから、推定された式は &ref(http://hnami.sub.jp/p/up/single02.jpg); です。 *残差 [#wfe50086] コンピュータに与えたデータは、 x1 y 1.5 -3.2 2.3 2.0 3.8 2.2 4.2 6.3 5.6 5.8 6.3 12.5 でしたね。x1が1.5のとき、上の推定式に当てはめると、yは-2.15895になるはずですが、与えたデータは-3.2です。-1.04105だけ推定を「はずした」、あるいは「説明しそこなった」ことになります。これをResidual(残差)といいます。