(Bing Image Creator で生成: プロンプト: Close up of yellow Acacia dealbata flowers, background is beautiful night sky with many stars, photo)
の続きです。
前回は2つの年度のパネルデータで回帰分析をしました。その結果、popratio が上昇すると、income が減少するという少し不思議な結果になりました。
今回は全ての年度のデータを使って検証してみます。
参考にしたウェブサイトは、
https://www.econometrics-with-r.org/10.3-fixed-effects-regression.html
です。
これから推定したいモデル式は、
income = beta1 * popratio + beta2 * energy + 都道府県固有の効果 + u
というモデルです。
このモデルを推定するのに、3つの方法が上のサイトにはありました。
一つは、都道府県別のダミー変数を使う方法です。
popratio の係数は -78.371 とありますので、やっぱりマイナスの符号ですね。
energy の係数は 3.822 とプラスの符号です。
summary() 関数でみてみます。
各都道府県の部分は割愛します。
R-squared は 0.999 とほとんど1に近い値です。
上のサイトの2つめの方法は、都道府県別の平均値を計算して、その平均値との差分を使って回帰分析する方法です。
まずは、その平均値との差分のデータフレームを作成します。
そして同じように、切片抜きの回帰分析をします。
推定された係数の値は、model6 と同じですね。
そして、3つ目の方法は、plm パッケージを使う方法です。
まずは、plm パッケージを読み込みます。
そして、plm() 関数を使います。
こちらの結果も当然ですが、model6, model7 と同じ結果です。
lmtest パッケージの coeftest() 関数でモデルの係数の p値を確認します。
popratio, energy ともに 1%よりもうんと小さな p値です。
結論としては、都道府県特有の事情(これは年度が違っても不変だと仮定しています)を考慮してたとき、15歳~64歳の人口割合が同じだとすれば、1人当たり最終エネルギー消費が増加すれば、1人当たり県民総所得が増加する。1人当たり最終エネルギー消費が同じだとすれば、15歳~64歳人口割合が上昇すれば、1人当たり県民総所得は減少する、ということですね。
今回は以上です。
次回は
です。
初めから読むには、
です。
今回のコードは以下になります。
#
# fixed effect model(都道府県別のダミー変数を使う)
model6 <- lm(income ~ popratio + energy + pref - 1, data = df)
model6
#
# summary
summary(model6)
#
# 平均値の差分のデータフレームを作成
df_demeaned <- with(df,
tibble(income = income - ave(income, pref),
popratio = popratio - ave(popratio, pref),
energy = energy - ave(energy, pref)))
df_demeaned
#
# 差分のデータフレームで回帰分析
model7 <- lm(income ~ popratio + energy - 1,
data = df_demeaned)
model7
#
# plm パッケージを読み込む
library(plm)
#
# plm() 関数で回帰分析
model8 <- plm(income ~ popratio + energy,
data = df,
index = c("pref", "year"),
model = "within")
model8
#
# 係数の p-value
lmtest::coeftest(model8, vcov. = vcovHC, type = "HC1")
#