Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rで計量経済学#4 操作変数法

TomoyaOzawa-DA
August 15, 2020
1.4k

Rで計量経済学#4 操作変数法

所属している研究会で扱った資料になります。
内容について間違いがある可能性もありますので、その際にはご連絡ください。

TomoyaOzawa-DA

August 15, 2020
Tweet

Transcript

  1. 内⽣性を振り返る 最⼩⼆乗法(OLS)推定で起こりうるバイアスは⾊々ありましたね. 4 データ 計量経済学モデル ⽋損値 抜けてるデータが あるか? 外れ値 おかしいデータが

    含まれているか? 多重共線性 説明変数同⼠に 相関があるか? 内⽣性 逆の因果・⽋落変数 が存在するか? ※内⽣と外⽣とは? ・内⽣変数:モデルの中で値が決まる変数.説明変数に内⽣変数が含まれていると推定量にバイアスがかかります. ・外⽣変数:モデルの外で値が決まっている変数. ※⼭本(2015)P.88, 168参照. 01 操作変数法とは?
  2. 5 01 操作変数法とは? 内⽣性は説明変数と誤差項が相関してしまうことが問題の根源でした. _ = + × + ×

    … + 賃⾦と教育年数のOLS推定の際には,個⼈の能⼒という⽋落変数が存在しているために教育年数は誤差項 と相関している可能性が⾼そうです.内⽣性が⽣じている変数を内⽣変数と呼びます. 内⽣性を振り返る , ≠ 内⽣変数
  3. 操作変数法:⼆段階で推定 先ほどの例において に興味がある場合を考えてみましょう. 逆の因果による内⽣性を除去するために操作変数法を使ってみます. 8 01 操作変数法とは? 1st Step: 内⽣変数の予測値を操作変数を⽤いて推定

    犯罪の発生件数 = + ×警察官の数 + ×失業率 + ×若者率 + 内⽣変数 警察官の数 = + ×一人あたり税収 + ×失業率 + ×若者率 + 操作変数 予測値 犯罪の発生件数 = + × 7 警察官の数 + ×失業率 + ×若者率 + 予測値(外⽣変数) × 2nd Step: 内⽣変数の代わりに予測値を⽤いて推定 ※Cornwell and Trumbull (1994)を参考
  4. 適切な操作変数の条件として妥当性と外⽣性の2点があります 9 妥当性 外⽣性 操作変数法 01 操作変数法とは? 内⽣変数と相関がある. 外⽣性の確認⽅法として 1段階⽬の推定でF値が10以上

    という経験則がある 被説明変数と相関がない. 統計的な確認⽅法は基本的には ない.⾔葉で尽くすのみ (過剰識別検定…) ・操作変数を⾒つけるのは結構難しいです.(特に外⽣性) ・F値(F検定)は全ての係数が0であることを帰無仮説に置いた検定になります. つまりF値が10以上あれば,全ての係数が0になるケースは低いので妥当性は満たされているだろうという感じです.
  5. 12 本⽇のデータ 本⽇のデータは labsup_edited.csv というファイルになります. ▼データの詳細 ▼こんなデータのはず 変数の名前 変数の内容 morekids

    ⼦供が3⼈以上いる⺟親なら1を取るダミー変数 boy1st 最初の⼦供が男なら1を取るダミー boy2nd 2番⽬の⼦供が男なら1を取るダミー samesex 最初と2番⽬の⼦供の性別が⼀緒なら1を取るダミー agem1 ⺟親の初めて出産した際の年齢 black ⺟親が⿊⼈なら1を取るダミー hispan ⺟親がヒスパニックなら1を取るダミー othrace ⺟親が⿊⼈・ヒスパニック・⽩⼈でなければ1を取るダミー weeksm1 1979年の⺟親の労働時間 出所 ・U.S. census (1980年)の既婚⼥性に関するデータ ・22~ 35歳の2⼈以上の⼦供を持つ既婚⼥性,計254,654⼈.
  6. データの把握:基本統計量 いつも通り基本統計量を⾒てデータの分布を把握してみましょう. 基本統計量からヒストグラムを想像出来ますか? 仮説 ⽴て 収集 把握 モデル 推定 解釈

    # dfというデータに含まれている変数について,基本統計量を算出する# summary(df) 13 ・ダミー変数が多いですね.そういえば,ダミー変数の平均値は何を⽰していたでしょうか?
  7. 14 計量経済学モデル構築:OLS推定 まずはいつも通り重回帰分析で推定していきましょう! 結果はout_OLSという名前で保存しておいてください.結果はどうなりましたか? 仮説 ⽴て 収集 把握 モデル 推定

    解釈 = + × + × + × + × + × + ・追加で⼦供を出産した時を⽰しているのがmorekidsになります. この時morekidsの係数は正,負のどちらを取れば,仮説は検証されたことになるでしょうか? ・名前の付け⽅は結構⼤事です.どんな推定をしたのかについてわかるように⼯夫してみましょう.
  8. 15 計量経済学モデル構築:操作変数法 Morekidsは内⽣変数である可能性が⾼いですね. 今回はsamesexを操作変数として⽤いて推定してみましょう! 仮説 ⽴て 収集 把握 モデル 推定

    解釈 = + × 7 + × + × + × + × + 1st Step: 内⽣変数の予測値を操作変数を⽤いて推定 2nd Step: 内⽣変数の代わりに予測値を⽤いて推定 = + × + × + × + × + × + 操作変数 予測値(外⽣変数)
  9. 16 計量経済学モデル構築:操作変数の条件 推定の前に操作変数の妥当性と外⽣性を検討してきます. 仮説 ⽴て 収集 把握 モデル 推定 解釈

    妥当性 外⽣性 同性の⼦供がいる親は 追加的な⼦供を欲しがる傾向にある. ⼦供の性別は直接的に 労働時間に影響はあたえない. ・1段階⽬の推定をして経験則であるF値>10を満たすか検証しましょう! out_1st <- lm(data = df, morekids ~ samesex + agem1 + black + hispan + othrace ) summary(out_1st)で出⼒される結果のF-statisticをチェックしてみてください. ・外⽣性は⾔葉で尽くしましょう.興味がある⽅はJ検定とググってください.
  10. 17 推定:操作変数法 Rで操作変数法を実⾏してみましょう!ちょっと複雑ですね. 仮説 ⽴て 収集 把握 モデル 推定 解釈

    # 必要なライブラリをインストールする# install.packages("AER") library(AER) # 操作変数法を実施して,その結果をout_ivに格納する# out_iv <- ivreg( weeksm1 ~ morekids + agem1 + black + hispan + othrace | agem1 + black + hispan + othrace + samesex, data = df) ・AERライブラリは計量経済学的な分析をする際によく⽤いられるみたいです. ・ivregの書き⽅はこんなイメージです. ivreg(被説明変数 ~ 内⽣変数 + その他の説明変数 | その他の説明変数 + 操作変数, data = 使⽤しているデータ名)
  11. 18 推定:操作変数法 違うライブラリでも出来ます. 仮説 ⽴て 収集 把握 モデル 推定 解釈

    # 必要なライブラリをインストールする# install.packages("sem") library(sem) # 操作変数法を実施して,その結果をout_ivに格納する# out_iv <- tsls( weeksm1 ~ morekids + agem1 + black + hispan + othrace , ~samesex + agem1 + black + hispan + othrace, data = df) ・別のライブラリを使ってもできます.(厳密には⼆段階最⼩⼆乗法ですが,基本的には同じです.) ・tslsの書き⽅はこんなイメージです. tsls(被説明変数 ~ 内⽣変数 + その他の説明変数 ,~操作変数+その他の説明変数, data = 使⽤しているデータ名)
  12. 19 解釈:操作変数法の結果の⾒⽅ 分析結果を確認してみましょう!最終的な推定結果(2nd Step)が出⼒されます. 仮説 ⽴て 収集 把握 モデル 推定

    解釈 # 分析結果を出す # summary(out_iv) ・基本的な⾒⽅は変わらないはずです. 追加的に⼦供を出産することで, 5.8時間ほど労働時間は減少するみたいですね. ・2nd Stepなので,操作変数であるsamesexは 推定結果に含まれていないですね.
  13. 解釈:推定結果をまとめてみましょう. OLSの結果と操作変数法の結果を⽐べてみましょう! 並べて⽐較すると⾒やすいですね. ## 必要なパッケージをインストールする ## install.packages("memisc") library(memisc) ## out1とout2という推定結果をそれぞれModel1,

    Model2という名前で表⽰する ## result <- mtable("OLS推定" = out_OLS, "IV推定 1st Step" = out_1st, "IV推定" = out_iv ) result 20 ・write.mtable(result, file="result_iv.csv",colsep=",")というコードを加えると, result_iv.csvというcsvファイルで出⼒され,個⼈で表を整えることが出来ます.三⽥論で役⽴つかもです. ・”stargazer”というライブラリも有名です. 仮説 ⽴て 収集 把握 モデル 推定 解釈