Lec11: 重回帰分析③変数の加工と多重共線性

皆さんこんばんは!矢野大樹です。前回までの記事では、内生性の問題を解消する手段の一つとしての重回帰分析という位置づけで、重回帰分析の基本モデルと、その仮定について取り扱いました。今日は一歩進んで、実際に重回帰分析を行う際に変数をどのように加工することが出来るかについて見ていくとともに、重回帰分析ではしばしば発生しやすい多重共線性(マルチコリニアリティ)について説明していきます! 本日もどうかよろしくお願い申し上げます。

1. 変数の加工/対数変換、ダミー変数、交差項、2乗項

これは単回帰分析の時にも説明したのですが、説明変数や被説明変数のデータを対数化して回帰分析を行うことが出来ます。重回帰分析の時も同じで、データを対数化したものをモデルに組み込むことはよくあります。例えば、次のようなモデルを考えてみましょう。

画像1

係数の解釈については、詳しくは次回説明します。(重回帰分析における係数の解釈はちょっと間違いやすいので注意が必要です。)今回は、被説明変数yiと説明変数x2を対数変換しました。対数変換をしたときは単回帰分析の時もそうでしたが、係数の解釈としては〇〇%の変化というふうに伸び率で表すことが出来ましたね。今回のケースだと、x2が1%変化すると、yiはβ2%変化すると解釈できます。(厳密な解釈ではありませんが)。特に賃金や名目GDPなど数が膨大になるようなデータにおいて、対数変換はよく使われます。ご自身の書きたいモデルに応じて使い分けてみてください。(分からなければ先行研究を参考にするのが良いと思います)

また、単回帰分析の時と同様に、説明変数にダミー変数を使用することも出来ます。ダミー変数を使用した場合は、その係数は2つのグループごとの差を表しましたね。

そして、今回新しく2乗項という概念を導入します。これはデータを2乗したものを説明変数に組み込むという事ですが、これはいったい何故でしょうか。今まで学修したことを踏まえ、次のようなモデルを考察しましょう。

画像3

男女間の賃金格差を考えてみましょう。ただし、男女間の賃金格差といっても、学歴や年齢といった要因にも左右されるかもしれません。そこで、内生性の問題を解消するために上記のようなモデルを考えました。最初の2つの変数はダミー変数です。男性か女性か、あるいは大卒か高卒かで区別しており、その差を観察しようというわけです。

画像3

係数は1か0をとりますので、まとめると上記のようになります。また、男性であり大卒の場合はこの2つの相乗効果によって賃金に影響が出るかもしれません。あくまでダミー変数はそれそれ単独で見た場合の効果ですので、相乗効果を仮定しているわけではありません。そこで、交差項と呼ばれる2つの変数を掛け合わせたものを導入しました。これにより両者の相乗効果を確かめることが出来ます。この交差項の係数は今回はβ3です。交差項については、少し難易度が上がりますが、修士論文を書く際には必要不可欠なので、興味がある方は使いこなせるようにしてみましょう。

そして、説明変数に年齢を加えました。年齢と賃金との関係については、基本的には年齢が上がると賃金も上昇します。(特に日本型の終身雇用、年功序列制度では)ただし、60歳、70歳、80歳になっても給料が上がり続けるのかと言われればそんなことはありませんよね。基本的には、ある年齢を超えると年収は下がります。この関係性をグラフで表すと次のようになります。

画像4

もちろん、数学的に厳密な放物線ではありませんが、だいたい近似すると2次曲線のようになります。正確に言うと、年齢の2乗に比例すると言えるでしょう。こうしたことは社会の中でよく見られます。このような場合、単なる直線関係を仮定しただけでは不十分であり、2次曲線型に変化することを想定してモデルを組み立て津必要があります。そこで、2乗項と呼ばれる説明変数を2乗したモデルを組み入れるわけです。最終的には、β4(年齢ー賃金間に直線関係を想定)とβ5(年齢ー賃金間に2次曲線関係を想定)の係数の有意性によって判定する必要がありますが、少しでもそのような事態が想定される場合は2乗項を加えたほうが良いでしょう。

このように、単に説明変数にデータを当てはめるのではなく、自分の調べたいことに応じて様々にモデルを加工するスキルは論文を書く上では必要不可欠なものとなっています。では、今日は最後に説明変数を加えるときに注意しなければならない多重共線性について説明して終わります。

2. 多重共線性

これまで、内生性の問題を解消する手段として重回帰分析を紹介しましたが、だからといって変数をむやみやたらに加えればよいというわけではありません。変数は出来るだけ少ないほうが自由度の問題がありますので、望ましいと言えるでしょう。その中でも特に、多重共線性の問題には気を付けなければいけません。多重共線性(Multicollinearity: 略称マルチコ)とは、説明変数間に相関関係が見られた場合、検出される係数が過大評価されてしまうおそれがあるという問題です。

例えば、降水量が店舗の売り上げにどのような影響を与えたかという問題を考慮する際に、説明変数に月間降水量と雨が降った日数を加えたとします。当たり前ですが、雨が降った日数が多ければ多いほど月間降水量も基本的には増えると想像できます。(最近はゲリラ豪雨とかのせいでそうとも言い切れないこともありますが...)

つまり、月間降水量と雨が降った日数には相関関係が存在すると言えるでしょう。もしこの2つの変数を同時に加えてしまった場合、誤差項の仮定そのものは満たさなくなることは無いが、出てくる係数が過大に評価されてしまう可能性があるというわけです。勘違いしてはいけないのは、マルチコによって誤差項の仮定自体に揺らぎは生じないという事です。誤差項の仮定はマルチコがあろうがなかろうが関係ありません。ただし、係数の値が異常値を取ったり、毎回全く違う値が出てしまったりと、適切な因果関係を表しているとは言えない状態に陥ってしまう危険性があります。ですので、常に自分のモデルにはマルチコが存在しないか意識しておく必要があります。

マルチコがあるか否かを判定するには、一番は普段から説明変数間に相関関係が無いか自分で考えておくことですが、判断する指標が無いわけでもありません。それがVIF(Variance Inflation Factor)です。VIFは次のような式で与えられます。

画像5

VIFが10を超えていた場合は、多重共線性が発生していると一般的には考えます。じゃあ9.9の場合はどうなんだって話ですが、正直なところこのVIFも一つの指標でしかないので、9.9の場合にマルチコが絶対起きていないと言い切れるわけではありません。ただ、どう考えてもマルチコが起きていない場合はVIFが10近い値になることはまずありません。ですので、一つの目安にはなるかと思います。

Excelでは、相関関係を求めてから上記の定義式に当てはめて計算するのが一般的です。一方で、Stataの場合は回帰分析を行った後でvifコマンドを使用することでそれぞれの変数ごとのVIFを一瞬で求めてくれます。なので、ここまで調べたい場合はExcelを使うより、RやStataといった統計解析ソフトを使ったほうがいいでしょう。(ただし、学部生は無理に使う必要はありません。大学院に行きたい、論文コンクールで賞を取りたいなど意欲ある学生はチャレンジしてみてみましょう)

さて、本日は様々な変数の加工とマルチコについて説明しました。ここまでの内容が理解でき、Excelで分析できるようになれば、もう卒業論文は書けます! 来週は、重回帰分析の係数の解釈と重回帰分析で最も大切な内容であるF検定を扱います。重回帰分析では、内生性の問題を解消するために説明変数を加えるという事をやりましたが、では実際にどの程度変数を加えたらよいのでしょうか。そして、その加えた変数には意味があるのでしょうか。そうしたことを教えてくれるのがこのF検定です。来週もどうかよろしくお願いします!!

この記事が気に入ったらサポートをしてみませんか?