計量経済学のためのR環境

単回帰の出力結果

 次のスクリプトを実行してみましょう。これは 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 

> 
>

単回帰の理屈

 出力結果を解説する前に、ごく簡単に単回帰の理屈を説明しておきましょう。

 aとbはsingle03.jpgをなるべく小さくするように選ばれています。そのための計算は単調なものですが、すっかり公式として整理されています。この公式を短く書くためには行列の意味や計算がわかっていないといけないので、ここでは公式(正規方程式)について説明しないことにします。

 なぜsingle03.jpgをなるべく小さくするaやbを選ぶのでしょう。それは「説明しそこなった部分の大きさを分散で測っている」ことに関係があります。分散は「説明しそこなった部分を2乗して足してゆく」統計量なので、分散がなるべく小さくなるように考えている、ということなのです。

 では、実際にどうやって計算するのでしょう。ミクロ経済学で最大化問題を解くとき、「微分してゼロとおく」ことで解を見つけます。関数が極大になったところでは、アーチのてっぺんのように傾きはゼロなはずだ、という理屈です。ここでもコンピュータは似たような計算をやっています。

 では、順に解説していきましょう。

係数の推定値

 aやbはCoefficients(係数)と呼ばれます。そのEstimates(推定値)はこの場合、aが-6.0930、bが2.6227です。

 aはIntercepts(切片)とよく呼ばれます。X1=0のときのyの値は、yの軸を推定された直線のグラフが横切る値でもあるからです。ですから、推定された式は single02.jpg です。

残差

 コンピュータに与えたデータは、

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(残差)といいます。残差はもちろん小さいほうが良いのですが、残差を目で見ることの意味は「残差にパターンが残っていないか」という点にあります。

標準誤差

 Std.Errorと書いてあるのはStandard Error(標準誤差)です。これに関する説明は少し長くなるので回帰分析と標準誤差を見てください。

t値・P値・有意性の表記

 それぞれの変数と定数項について、「もし係数が0だったら」というt検定を行った結果です。t検定については回帰分析と標準誤差に簡単に解説しました。

 それぞれのt値は、係数が標準誤差の何倍くらい0から離れているかを示します。この数字と、統計学教科書の後ろによく載っているt分布表を照らし合わせて、有意性(係数が0でないこと)を判断するのが従来の方法でした。

 最近はこの照合作業もパッケージがやるようになり、P値が出力されます。これは例えば「x1の係数が本当は0だとすると、2.6227という係数がデータの偏りで生じる可能性は 0.999%だ」と述べています。

 さて、この0.999%を高いと見るか低いと見るかは、人間が決めます。1%や5%がよく判断基準として持ち出されます。「この変数は1%有意である」とは、P値が1%未満だということです。*印は有意な変数の印としてつけますが、*いくつが何%有意にあたるかはソフトや論文によって同じではないので、注意する必要があります。

 なお定数項のt値やP値も出力されますが、多くの場合定数項がゼロである(ゼロでない)ことに意味はないので、解釈のときには無視されます。

残差の標準誤差と自由度

 Residual standard error(残差の標準誤差)は、残差の分布が理論の仮定通りであるか検定するとき、使われる場合があります。

 自由度とは、「サンプル数-定数項を含む変数の数」です。例えば平均消費性向を求めるために、消費額で所得額を説明する単回帰モデルを組んだとします。変数は定数項を合わせて2つ。もしサンプル数が2であれば、自由度はゼロです。ふたつのデータから直線を引こうとするのですから、ふたつの点を結ぶ直線になるに決まっていますね。

 自由度が低いと、それぞれの変数の標準誤差は大きくなり、推定結果はその意味で「怪しく」なります。モデルを「精密な」ものにしようと、データも少ないのに説明変数を増やすと、自由度が低すぎることの弊害が大きくなってきます。

決定係数とF検定

 ここではMultipleがついていますが、R-Squared(決定係数)という表現も同じものを指します。Adjusted R-squaredは自由度修正済決定係数です。squareは2乗のことで、single04.jpgとも表記します。

 決定係数は、残差の2乗を足し合わせ、被説明変数(ここではy)の平均との差の2乗和歩で割り、1から引いたものです。残差がゼロなら1になります。被説明変数の平均との差を説明しようとして説明できなかったものが残差ですから、直観的には「被説明変数の変化のうち、推定式で説明できた割合」です。

 経済分析ではAdjusted R-squaredのほうが重視されます。R-squaredには、t値が低い説明変数を追加したときもR-squaredだけは上がってしまう、という欠点があります。この対策として定義式を変更し、t値が1未満の変数を追加すると数値が下がるようにしたのがAdjusted R-squaredです。

 R-squaredは0未満になりませんが、式全体の説明力が低いと、Adjusted R-squaredはマイナスになることがあります。

 F検定はt検定のバリエーションで、「係数がすべて0である」かどうかを検定するものです。F検定ですら仮説を棄却(係数が全部0ならありえない結果だと結論)できないとしたら、式に意味がなかったと言ってよく、人に見せられる推定結果ならF検定はパスして当然なので、たいてい無視されます。

この出力結果をレポートや論文に書くとしたら

y = -6.0930 + 2.6227x1         Adjusted R-square=0.8017
    (0.06738) (0.00999)**      ()内はP値 **は1%有意

または

y = -6.0930 + 2.6227x1         Adjusted R-square=0.8017
    (-2.491)  (4.606)**        ()内はt値 **は1%有意

 のように表記します。()の中に標準誤差を書くこともあります。

参考リンク

早稲田大学商学部 阿部圭司先生のシラバス http://www.aoni.waseda.jp/abek/comm/index-fall.html


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-12-11 (木) 22:19:33 (5605d)