DYNAMIC
PANEL WITH R	
SHOTA YASUI
2014/6/14
TOKYO.R
WHO AM I?	
名前:安井翔太 / Shota Salmon Yasui
Twitter:@housecat442
お仕事:広告×データ分析、ときどきアドテク。
<けーれき>
日本のド文系経済学部
アメリカで計量経済学1年
ノルウェーで経済学修士取得
SNF研究所でデータ分析(環境税作成)
WTF IS DYNAMIC
PANEL???	
パネルデータの線形回帰に自己回帰項を突っ込もうという話。
今日はたったそれだけの話。
■アジェンダ
1.パネルデータ分析のおさらい
2.動学的パネルにしたときの問題点
3.動学的パネルの推定
4.企業の雇用モデルへの応用
CROSS SECTION	
観測対象_1	
観測対象_2	
観測対象_3	
観測対象_N	
データを取得する対象がN存在している。	
全ての観測対象が同様のモデルに当
てはまると仮定する。
例)
y=増加体重
x=エサの増加量
β0とβ1が全ての観測対象が同様に
持っているパラメーターと仮定出来る場
合に有効。
y! !! + !!!! + !!!(! = 1,2, … , !)
ある対象について期間1〜Tの間観測する。
エサの増加と体重の増加を同一対象からT回観測する。
y=体重増加量
x=エサ増加量
期間内でパラメーターが大きく変化しないと仮定出来るのであれば適正なモデルと言える。
期間_1	
 期間_2	
 期間_T	
TIMESERIES	
y! !! + !!!! + !!!(! = 1,2, … , !)
PANEL	
観測対象_1	
観測対象_2	
観測対象_3	
観測対象_N	
期間_1	
 期間_2	
 期間_T	
期間_3	
→N人/匹の同一個体からT期間に渡ってデータを取得する。
PANEL	
y!! !! + !!!!! + !! + !!!!(! = 1,2, … , !)(! = 1,2, … , !)
時間でも観測対象でもパラメーターが変わらない場合同一のモデル
で扱う事が出来る。
Unobservable specific effect とか Individual specific effect
とか固定効果とかって呼ばれるλがモデルに入ってくる。
・3つの推定方法
Pooled corss section(iとtでダミー変数を入れる方法。今回はパス)
Random effect
Fixed effect (First Differenct)
WHY NOT OLS?	
結論:推定結果にバイアスが掛かってしまうから。
WHY NOT OLS?	
極例:こんな事だってあり得るかも?
Individual specific effect をどーにかしないといけない。
FIXED EFFECT	
固定効果モデル( 前提:cor(λ,x) ≠ 0 )
個体内での平均と差分とってλを消しちゃえば良いじゃんという発想。
時間変化しない変数をモデルに入れている場合はそれも消えてしま
うので、その効果が推定出来ない。
→ダミー変数とか、教育年数の様な時間であまり変化しないデータは
良く消える。
個体間でも時間でも変動しないので消える。	
y!" − !! !! − !! + !! !!" − !! + !! − !! + !!"!
同じ個体内では時間変動しないので消える。
RANDOM EFFECT	
変動効果モデル( 前提:cor(λ,x) = 0 )
定数項が入っていればλは平均が0となる。
このモデルをOLSで推定するとλを通して相関するので、	
	
となる。よって自己相関の問題が起きてしまう。
→一般化最小二乗法で推定。
y!" !! + !!!!" + !!"!
!! + !!" = !!"!
!"## !!", !!"!! ≠ 0
PLM PACKAGE	
こんなデータを用意	
tinT	
tinT	
i in N	
観測値	
i=
1
	
i=
2
PLM PACKAGE	
library(plm)
#データ読み込んで
data <- read.csv(“Panel for R.csv”)
#pdata.frameというplm用のデータフレームに変換
pdata <- pdata.frame(data, index = c("id", "year"), drop.index = TRUE, row.names = TRUE)
preg <- plm(Y ~ X, data = pdata, model = "random")
#サマリーで結果表示
summary(preg)
iとtの変数を指定	
Fixed effect なら”within”
Random effectなら”random”
OLSなら”pooling”
余談	
これらの分析方法はパネルデータ以外にも応用する事が可能。
例)家族ごとの効果を取り除く
双子のデータの差分を取って教育の効果を検証とかが有名。
“Estimates of the Economic Return to Schooling from a New Sample of
Twins.” By ORLl-lY ASHENFELTER AND ALAN KRUEoER
本題
I NEED DYNAMICS	
自己回帰させて動学的なモデルにしたい。
!!" !! + !!!!"!! + !! + !!"
!!" !! + !! !! + !!!!"!! + !! + !!"!! + !! + !!"
λを通してy_it-2がλと相関してしまう。	
Random Effectの前提が成り立たない。
OLSの推定もbiasedになってしまう。	
ならFixed Effectで推定すれば良いじゃん
FIXED EFFECT WITH
DYNAMICS	
結論言うとバイアスされちゃう
βについているよけいな部分が0にならない。
分母の分散は0にならないので共分散を見てみる。
plim
!→!
!"# !!" − !! , !!"!! − !!
!"# !!" − !!
= ! +
!"# !!"!! − !! , !!" − !!
!"# !!"!! − !!
ANDERSON HSIAO
ESTIMATOR	
操作変数で解決しようという最初のアプローチ
plim
!→!
!"# !!" − !! , !!"!! − !!
!"# !!" − !!
= ! +
!"# !!"!! − !! , !!" − !!
!"# !!"!! − !!
こいつが戦犯	
!!" − !! !! − !! + !!" !!"!! − !! + !! − !! + !!" − !!
つまりここの相関を
どうにかしたい。	
操作変数(Z)を導入してこいつと誤差項の相関を消す。	
Corr !!"!! − !! , !!" ≠ 0
Corr !!" − !! , !!" = 0
INSTRUMENTAL
VARIABLE	
操作変数のイメージ(簡単なので2SLSの説明で。)
XとYが同時に決定されているのでXとuが相関してる場合。
Xと相関してるけれども、uとは相関してない変数Zを持ってくる
このモデルでXの予測値を計算すると、uと相関している部分がeに押
し込まれて切り捨てられる。
これを元のモデルのXの部分に代入すれば同時決定の問題が消える。
Y = a + bX + u	
X = c + dZ + e
ANDERSON HSIAO
ESTIMATOR	
Zとして使えそうなのは。Y_it-2
!!"!! = !! + !!!!"!! + !! + !!"!!
Corr !!"!! − !! , !!"!! ≠ 0
Corr !!" − !! , !!"!! = 0
自己回帰はしてる。(してないなら動学的なモデルいらない)	
2期前のyが今期の誤差項と相関してるか?	
二期の自己相関があるとここが今期の誤差項と相関してしまう。
TAKE FIRST
DIFFERENCE	
平均との差分よりは前期との差分を取るケースが多い
2期前のyを操作変数として投入
結果としてこんな推定が得られる。
!!" − yit!!
!! − !! + !!" !!"!! − yit!!
+ !! − !! + !!" − !!"!!
Corr !!"!! − !!"!! , !!"!! ≠ 0
Corr !!" − !!"!!! , !!"!! = 0
!!" =
!!"!! !!" − !!"!!
!
!!!
!
!!!
!!"!! !!"!! − !!"!!
!
!!!
!
!!!
ANDERSON HSIAO
ESTIMATOR	
差分を操作変数として投入しようというアプローチ
2期前と3期前のyの差分を操作変数として利用
結果としてこんな推定がされる。	
!!" − yit!!
!! − !! + !!" !!"!! − yit!!
+ !! − !! + !!" − !!"!!
Corr !!"!! − !!"!! , !!"!! − !!"!! ≠ 0
Corr !!" − !!"!!! , !!"!! − !!"!! = 0
!!"
(!)
=
!!"!! − !!"!! !!" − !!"!!
!
!!!
!
!!!
!!"!! − !!"!! !!"!! − !!"!!
!
!!!
!
!!!
THEY ARE SUCK	
差分を取った操作変数を用いる方式は、他の説明変数をモデルに入
れると推定値の分散が大きくなってしまう。
レベルの操作変数の場合は自己回帰項の推定値が1に近い場合には
大きなバイアスが掛かってしまう事がモンテカルロシミュレーションから
解っている。
→だめじゃん・・・
と言う事でGeneralized Method of Momentを利用した推定方法が
出てくる。
→Arellano Bond GMM estimator
ARELLANO BOND
GMM ESITMATOR	
操作変数増やしまくれば、精度上がるじゃんというアプローチ
別に何も操作変数を二期前に限定しなくてももっと使える。
ただ、数を増やしてパラメーターよりも操作変数の数が多い状態になると、解
析的にパラメーターを求められなくなる。
こういった状況化で、最小化されるとパラメーターが上手く求まる様なコスト関
数を定義して解くのがGMM
	
Corr !!" − !!"!!! , !!"!! = 0
Corr !!" − !!"!!! , !!"!! = 0
Corr !!" − !!"!!! , !!"!! = 0
Corr !!" − !!"!!! , !!"!! = 0
GMM	
操作変数毎に満たさないといけないモーメント条件が発生し、
期間tが増えるごとに使える操作変数の量は指数的に増える。
MOMENT CONDITION	
さっきのモーメント条件はこんな感じに書ける。
MINIMIZATION	
こんなコスト関数を定義して最小化
βについて解くと二番目の様な式になる。
WTF IS “W”	
Optimal weighting matrixとかいうもの
Wの中身次第で推定結果が幾らでも変わってしまう。
サンプルモーメントの共分散行列の逆行列が入る。
→直感的な意味合いとしては、「より小さい分散を持つモーメント条件、
つまりはより正確な情報を持つモーメント条件により重みがつく様にな
る。」・・・らしい。
けど共分散行列自体を求めるのにβが必要になってしまう。
→取り敢えず単位行列とかを代入してβを推定して、そこからWを計算
するという方法を用いる。
IMAGE	
Wが必要	
W	
βが必要	
取り敢えず単位行列入れちゃう	
相互依存して
て解けない	
Wを返す	
W	
β推定	
求まったWを使ってもう1回βを推定
NOTIFICATION	
AB GMMには幾つか注意点がある。
1.  自己回帰以外の説明変数
•  入れてもおk。ただ、ちゃんと外生的である事。
2.  操作変数入れ過ぎのケース
•  Tが大きくなると操作変数が指数的に増える。
•  オーバーフィッティングしてパラメーターにバイアスが掛かる
•  Wの推定精度が落ちて、パラメーターの標準偏差に下方バイアスが掛か
る
3.  操作変数の条件が満たされているか?
•  Overidentification-testで検定する。(sargan-test)
4.  誤差項の自己回帰が無いという仮定を置く必要がある。
•  置かないと操作変数の仮定がそもそも成り立たない。
AN APPLICATION TO
EMPLOYMENT EQUATION	
企業の雇用活動を説明したい。 (data("EmplUK", package = "plm”))
企業が自由に追加コスト無しで雇用数を調整出来る場合
この辺の変数で大体説明される。	
賃金	
 資本	
業界
トレンド	
マクロ
トレンド	
ただ実際には雇用するにも解雇するにもコストが掛かる。
よって、実際の動きはこれらの変数を加味して雇用を調整するという感じになる。	
雇用	
賃金	
 資本	
業界
トレンド	
マクロ
トレンド	
雇用	
過去の
雇用
AN APPLICATION TO
EMPLOYMENT EQUATION	
雇用モデル
今年のある企業の雇用数は、「賃金・資本量・業種自体への需要・経済全体でのトレンド」に影
響される、というアイデアに基づいているモデル。
「賃金が上がれば雇用が減り、
資本が増えれば雇用が増え、
業種の生産高が増えれば雇用が増える。」
	
!!" = !!!!"!! + !!!!"!! + !!!!" + !!!!"!! + !!!!" + !!!!!" + !!!!!"!! + !! + !! + !!"
!!":! ! ! !
!!": ! ! !
!!": ! ! !
!!!": ! ! !
!!: !
Some Tests of Specification for Panel Data: Monte Carlo Evidence and an
Aplication to Employment EquationsのTable4(b)と同じ推定。
#Table4 column(b)
emp.gmm.b <- pgmm(log(emp)~lag(log(emp), 1:2)+lag(log(wage), 0:1)+log(capital)+lag(log(output), 0:1)
|lag(log(emp), 2:99),EmplUK,effect="twoways",model="twosteps")
summary(emp.gmm.b)
AN APPLICATION TO
EMPLOYMENT EQUATION	
賃金と資本が同時決定になっていると考えられる。
→操作変数で解決。	
賃金	
 資本	
業界
トレンド	
マクロ
トレンド	
雇用	
過去の
雇用
#Table4 column(c) 賃金・資本が同時決定になっていると考えられるケース こっちの方が適正
emp.gmm.c <- pgmm(log(emp)~lag(log(emp), 1:2)+lag(log(wage), 0:1)+log(capital)+lag(log(output), 0:1)
|lag(log(emp), 2:99) + lag(log(wage),2:99) + lag(log(capital),2:99) ,EmplUK,effect="twoways",model="twosteps")
summary(emp.gmm.c)
まとめとか補足	
ブログに丸投げ!
http://www.housecat442.com/
おしまい!

Dynamic panel in tokyo r