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

相関の話(その1)

 相関係数は統計学や計量経済学で、たいてい、単回帰を習う前に習います。しかし、相関係数の求め方はじつは単回帰です。

 相関係数は-1から1の間の数です。

 ふたつの変数に正の相関があると、散布図は右上がりになります。相関係数が1に近いと、傾向がはっきりします。

multico01.jpg

 下は、ふたつの変数に負の相関がある例。散布図は右下がりになります。

multico02.jpg

 相関係数とは、ふたつの変数を説明変数・被説明変数にして単回帰したときの決定係数の平方根です。相関係数はふつうRで表します。Rの2乗だから、決定係数はR-Squaredなのです。

多重共線性

 重回帰分析の最後で、トレンドを持つ説明変数がふたつあると、いくつか困ったことが起きる例を示しました。別の言い方をすると、x1とx2には正の相関があったのです。もしx1とx2に負の相関があっても、同じような問題が生じます。これらをmulticolinearity(多重共線性)といいます。

 多重共線性の代表的な症状は、

  • わずかなデータの変化や追加・削除で係数が大きく変わる
  • 説明変数を追加・削除することで、もともとあった説明変数の係数や有意性が大きく変化する
  • 個々の変数が有意でない場合にも、決定係数は高い

 といったものです。

相関の話(その2)

 多重共線性の有無を直観的に見る基本的な方法は、相関行列を眺めることです。高い数字があったら、t検定にかけて、どれくらいありえないことが起こっているか、P値を求めます。

 それにはcorとcor.testを使うので、お料理番組のようで恐縮ですが、まとめて実行する例をRサンプル7に示します。

 dsetにsample.csvから読み込んだもの全体を代入していますから、y、x1、x2全体にdsetという名前をつけたことになります。dsetのCorrelation Matrix(相関行列)を出すのがcor()です。中にある変数の組み合わせすべてについて相関係数を求め、一覧表(相関行列)にして出します。こんな結果が出てきます。

          x1        x2         y
x1 1.0000000 0.9724986 0.9172542
x2 0.9724986 1.0000000 0.8959368
y  0.9172542 0.8959368 1.0000000

 左上→右下の対角線には必ず1が並びます。自分と自分の相関はそりゃあ1ですよね。右上と左下は同じものが対称形に並びます。統計ソフトによっては片方しか出力しないものもあります。こんなふうに。

          x1        x2         y
x1 1.0000000
x2 0.9724986 1.0000000
y  0.9172542 0.8959368 1.0000000

 重回帰分析の最後にあったグラフでもわかることですが、やはり相関がどれも大きいですね。いやしかし、どれくらい「大きい」と相関関係があると考えないといけないのでしょう。それは自由度、言い換えればデータの数によってかなり異なってきます。プラスであれマイナスであれ、相関係数の絶対値が0.3を超えると、たいてい少なくとも5%有意くらいには相関の存在がはっきりします。

 t検定は、dset全体について一度にさせることができません。結果の表記が長くなりすぎますからね。

cor.test(x1,x2)

 などと組み合わせをひとつずつ指定します。この例の場合、こんな結果が出てきます。

       Pearson's product-moment correlation
data:  x1 and x2 
t = 8.3509, df = 4, p-value = 0.001124
alternative hypothesis: true correlation is not equal to 0 
95 percent confidence interval:
0.7636128 0.9971036 
sample estimates:
cor 
0.9724986 

 このタイプの相関係数を「ピアソンの積率相関係数」といいます。 single01.jpgで仮説「b=0」、あるいは同じことですが「R=0」を検定したときのt値やP値が示されています。alternative hypothesisは「対立仮説」で、「b=0」が成り立たないとしたら何が成り立つのか、という仮説のことをいいます。「真の相関(bではなくRのこと)は0ではない」のが対立仮説です。

 P値は0.0011ですから0.1%余りですね。1%有意です。相関のあることは明白です。

 そのあとに続いているのは「95%信頼区間」です。こういう統計結果の表し方を「区間推定」といいますが、経済分析ではあまり使われませんから解説を省略します。

多重共線性への対策(変数の選択)

 さて、多重共線性はこのように、

  • 推定結果は普通に出てくる
  • 式の説明力を示す決定係数は高いままなこともある
  • 出てくる係数の推定値は、見かけよりも不安定で、信用がおけない  という厄介な状況です。

 経済データを「いくつか」取ってくるとき、皆さんは「時間差のあるデータ」を持ってくることもあるし、「地域差・個体差のあるデータ」を持ってくることもあるでしょう。「1995年-2005年の日本のGDP」のような、時間差のあるデータを時系列データ、「都道府県別の人口」のように、時間差のないデータをクロスセクションデータといいます。時系列データ、特に日本のものは右肩上がりであることが多く、多重共線性を起こしやすいのですが、クロスセクションデータでも油断はできません。

 各都道府県の二酸化炭素排出量を説明するために、各都道府県の県民所得と消費支出、そして人口を説明変数として並べたとします。消費と貯蓄の比率に地域差があまりないとすれば、県民所得と消費支出にはほとんど比例関係と言ってよいほどの相関があるはずですし、ひとりあたり所得の地域差はかなりありますが、それでも人口と県民所得にも相関はありそうです。

 多重共線性を起こしやすい説明変数の中からは、ひとつだけを説明変数として残すのが基本です。そのための機械的な手続きに関する論文は多く発表されていますが、簡単に応用でき、結果にも納得できる都合の良い手続きはまだないようです。経済系の計量分析をやる人は、説明変数になりそうなデータをまずたくさん集めてデータセットを作り、その中でああでもないこうでもないと説明変数の組み合わせを試しているのが普通です。関係をまず見つけて、「なぜこれとこれは関係があるのか」をあとから考えることも珍しくありません。


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