固定効果モデルについて / パネルデータ分析

 固定効果モデル(fixed effects model)とは、個体ごとに異なり時間を通じて変化しない固定効果を、重回帰モデルに加えたモデルだ。固定効果は以下の式で表せる。添字が多いが、iはデータ番号、tは時間、kは説明変数の数を意味する。そして、下の式では、固定効果=β0+αiである。β0はすべての個体で共通の定数項、αiは個体ごとに異なる定数項である。これらにtの添字はないから、時間を通じて変化しない。個人A、個人B、個人Cを別々に考えると、それぞれが別々の重回帰モデルに従っていることになる。

$$固定効果モデル Y_i=\beta_{0}+ \alpha_i+\beta_1 X_{1it} +\cdots + \beta_kX_{kit}+U_{it}$$

$$i:データ番号、t:時間、k:説明変数の数$$

$$個人A Y_i=(\beta_{0}+ \alpha_A)+\beta_1 X_{1it} +\cdots + \beta_kX_{kit}+U_{it}$$

$$個人B Y_i=(\beta_{0}+ \alpha_B)+\beta_1 X_{1it} +\cdots + \beta_kX_{kit}+U_{it}$$

$$個人C Y_i=(\beta_{0}+ \alpha_C)+\beta_1 X_{1it} +\cdots + \beta_kX_{kit}+U_{it}$$

 

  固定効果モデルで記述できる現象を、重回帰モデルで説明すると、内生性が発生しうる。固定効果モデルを重回帰モデルに書き直すと、共通の定数項であるβ0しかモデルに入らず、αiが誤差項となってしまう。このαiが他の説明変数Xと相関するならば、内生性のある重回帰モデルとなる。このαiが他の説明変数Xと相関しないならば、外生性のある重回帰モデルとなる。なお、相関しない場合、これは変量効果モデル(random effects model) とも解釈できる。

$$固定効果モデルを重回帰モデルに書き換えると$$

$$Y_i=\beta_{0}+\beta_1 X_{1it} +\cdots + \beta_kX_{kit}+(U_{it}+\alpha_i)$$

$$誤差項V_it=U_{it}+\alpha_iとして$$

$$\alpha_iが説明変数Xと相関するなら$$

$$内生性 E(V_it|X_{1it} ,X_{2it} \cdots X_{kit} )≠0が発生$$

 

 逆に言えば、《私》は固定効果モデルで機能する推定量を知っていれば、一部の内生性の問題に対処できる。固定効果モデルで機能する推定量は、いくつかあるが、代表的なものは「固定効果推定量」である。そして、固定効果推定量で対処できる内生性とは「①説明変数Xと相関」「②個体ごとに異なる」「③個体内では時間と通じて一定」の3条件を満たした誤差項の存在である。逆にいえば「④個体内でも時間を通じて変化あり」の誤差項が存在すれば、固定効果推定量では内生性に対処できない。

 

【追記】

 固定効果モデルの固定効果推定量でなく、重回帰モデルの最小二乗推定量を用いたならば、深刻なバイアスが発生する例をご紹介しよう。これはシンプソンのパラドックスとも解釈できる例だ。

 モデルでは、αiの個体間変動がかなり大きく、aとX1が強い正の相関(相関係数0.95以上)しており、パラメーターβ1がマイナスの場合を考える。説明変数はX1のみとする。

$$固定効果モデル Y_i=1+ \alpha_i-0.5 X_{1it}+U_{it}$$

$$内生性のある重回帰モデル Y_i=1-0.5 X_{1it}+(U_{it}+\alpha_i)$$

 その結果、得られた標本が図1と図2だった。図1には固定効果推定量、図2は最小二乗推定量で推定したβ1が描かれている。β1=ー0.5であるので、固定効果推定量が正しい。今回の固定効果推定値=ー0.519、最小二乗推定値=+0.44であった。

図1:固定効果推定量で導けるβが青い直線の傾き
出典:しまうま総研(2023)
解説:コードは追記に掲載

図2:最小二乗推定量で導いてしまうβが青い直線の傾き。マイナスがプラスになる内生性バイアスあり
出典:しまうま総研(2023)
解説:コードは追記に掲載

 

 作図や推定のRコードは次のとおり。

#使用するパッケージ
library(plm)
library(ggplot2)
 
##4組50期間のパネルデータの生成
sample_size <- 200
Group_number <-  c(rep(c(1:4),c(rep(50,4))))
Personal_number <- c(rep(1:50,4))
Category <- c(rep(c("A","B","C","D"),c(rep(50,4))))
fixed_effect <- 1 + Group_number*4 #固定効果
ramdom<- rnorm(n=sample_size, mean =20, sd=1)
X <- -20 + ramdom   +  fixed_effect
u <- rnorm(n=sample_size, mean =0, sd=0.3)
Y <- fixed_effect-0.5*X+u
cor(X,fixed_effect) #説明変数Xと固定効果の相関係数
Data1 <-data.frame(X, Y,fixed_effect,Group_number,Personal_number,Category)
 
#散布図の作成
library(ggplot2)
 
#図1
ggplot(Data1,aes(x =X, y=Y,stat = Category))+ 
  geom_point(aes(colour=Category))+
  stat_smooth(method = "lm", formula='y~x', se = TRUE)+
  scale_x_continuous(limits = c(0, 20))+
  scale_y_continuous(limits = c(0, 11))
 
#図2
ggplot(Data1,aes(x =X, y=Y))+
  geom_point(aes(colour=Category))+
  stat_smooth(method = "lm", formula='y~x', se = TRUE)+
  scale_x_continuous(limits = c(0, 20))+
  scale_y_continuous(limits = c(0, 11))
 
#パネルデータとする
library(plm)
Data2 <- pdata.frame(Data1, index = c("Group_number","Personal_number")) 

#plm用のデータに変換
model_OLS <- plm(formula = Y ~X,model="pooling",data=Data2)
model_FE <- plm(formula = Y ~X,model="within",data=Data2)
summary(model_OLS)
summary(model_FE)
しまうま

しまうま総研管理人
20代男性/横浜出身/東大卒
面白い文章を書き残したいです。
 
☑️夜は早く寝ます。健康のためです。
☑️目が覚めたら掃除をして服装を整えます。格好を付けるためです。
☑️朝は勉強します。仕事で活躍するためです。
☑️昼は小さな行動を大切にします。少しずつ前に進むためです。
☑️夜はブログに取り組みます。楽しみのためです。

しまうまをフォローする
計量経済学
広告
しまうま総研