「第8回 パネルデータ分析3」での静学的パネルデータ分析を、説明変数としてvalueとcapitalを用いたモデルについて行ってください。
以下の「***」から下をコピーし、( )内から適切な語句を選び、完成した文章をインラインにコピー・ペーストして提出してください。また、末尾にRの出力結果もコピー・ペーストして提出してください。
***
Pooled OLS推定の結果、capitalの推定値は(正・負)で有意で(ある・ない)。
LSDV推定の結果、平均からの相対的な効果を見ると、企業 i =(1・2・3・4・5・6・7・8・9・10)は有意な正の個別効果が、企業 i =(1・2・3・4・5・6・7・8・9・10)は有意な負の個別効果がある。
F検定の結果、「全ての個別効果が同じ」という帰無仮説は、有意水準1%で棄却(される・されない)ので、個別効果は(ある・ない)と考えられる。
GLS推定の結果、valueとcapitalの係数の推定値はLSDV推定の結果と(大きく異なる・あまり変わらない)。
ハウスマン検定の結果、「個別効果と説明変数の間の相関が0」という帰無仮説は、有意水準10%で棄却(される・されない)ので、GLS推定には問題が(ない・ある)と考えられる。
===== Rの出力結果 =====
Pooled OLS推定の結果、capitalの推定値は(正)で有意で(ある)。
LSDV推定の結果、平均からの相対的な効果を見ると、企業 i =(2・4・6・10)は有意な正の個別効果が、企業 i =(3・5・9)は有意な負の個別効果がある。
F検定の結果、「全ての個別効果が同じ」という帰無仮説は、有意水準1%で棄却(される)ので、個別効果は(ある)と考えられる。
GLS推定の結果、valueとcapitalの係数の推定値はLSDV推定の結果と(あまり変わらない)。
ハウスマン検定の結果、「個別効果と説明変数の間の相関が0」という帰無仮説は、有意水準10%で棄却(されない)ので、GLS推定には問題が(ない)と考えられる。
===== Rの出力結果 =====
> ## パッケージからデータを読み込む
> library(plm)
> data("Grunfeld", package = "plm")
> head(Grunfeld)
firm year inv value capital
1 1 1935 317.6 3078.5 2.8
2 1 1936 391.8 4661.7 52.6
3 1 1937 410.6 5387.1 156.9
4 1 1938 257.7 2792.2 209.2
5 1 1939 330.8 4313.2 203.4
6 1 1940 461.2 4643.9 207.2
> ## pooled OLS
> pool <- plm(inv ~ value + capital, data = Grunfeld, model = "pooling")
> summary(pool)
Pooling Model
Call:
plm(formula = inv ~ value + capital, data = Grunfeld, model = "pooling")
Balanced Panel: n = 10, T = 20, N = 200
Residuals:
Min. 1st Qu. Median 3rd Qu. Max.
-291.6757 -30.0137 5.3033 34.8293 369.4464
Coefficients:
Estimate Std. Error t-value Pr(>|t|)
(Intercept) -42.7143694 9.5116760 -4.4907 1.207e-05 ***
value 0.1155622 0.0058357 19.8026 < 2.2e-16 ***
capital 0.2306785 0.0254758 9.0548 < 2.2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Total Sum of Squares: 9359900
Residual Sum of Squares: 1755900
R-Squared: 0.81241
Adj. R-Squared: 0.8105
F-statistic: 426.576 on 2 and 197 DF, p-value: < 2.22e-16
> ## LSDV
> fe <- plm(inv ~ value + capital, data = Grunfeld, model = "within")
> summary(fe)
Oneway (individual) effect Within Model
Call:
plm(formula = inv ~ value + capital, data = Grunfeld, model = "within")
Balanced Panel: n = 10, T = 20, N = 200
Residuals:
Min. 1st Qu. Median 3rd Qu. Max.
-184.00857 -17.64316 0.56337 19.19222 250.70974
Coefficients:
Estimate Std. Error t-value Pr(>|t|)
value 0.110124 0.011857 9.2879 < 2.2e-16 ***
capital 0.310065 0.017355 17.8666 < 2.2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Total Sum of Squares: 2244400
Residual Sum of Squares: 523480
R-Squared: 0.76676
Adj. R-Squared: 0.75311
F-statistic: 309.014 on 2 and 188 DF, p-value: < 2.22e-16
> # 個別効果の推定値
> mu <- fixef(fe)
> summary(mu)
Estimate Std. Error t-value Pr(>|t|)
1 -70.2967 49.7080 -1.4142 0.15896
2 101.9058 24.9383 4.0863 6.485e-05 ***
3 -235.5718 24.4316 -9.6421 < 2.2e-16 ***
4 -27.8093 14.0778 -1.9754 0.04969 *
5 -114.6168 14.1654 -8.0913 7.141e-14 ***
6 -23.1613 12.6687 -1.8282 0.06910 .
7 -66.5535 12.8430 -5.1821 5.629e-07 ***
8 -57.5457 13.9931 -4.1124 5.848e-05 ***
9 -87.2223 12.8919 -6.7657 1.635e-10 ***
10 -6.5678 11.8269 -0.5553 0.57933
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> mean(mu) # 個別効果の平均
[1] -58.74394
> # 個別効果のその平均からの乖離
> mu2 <- fixef(fe, type = "dmean")
> summary(mu2)
Estimate Std. Error t-value Pr(>|t|)
1 -11.5528 49.7080 -0.2324 0.8164700
2 160.6498 24.9383 6.4419 9.627e-10 ***
3 -176.8279 24.4316 -7.2377 1.130e-11 ***
4 30.9346 14.0778 2.1974 0.0292129 *
5 -55.8729 14.1654 -3.9443 0.0001129 ***
6 35.5826 12.6687 2.8087 0.0054998 **
7 -7.8095 12.8430 -0.6081 0.5438694
8 1.1983 13.9931 0.0856 0.9318489
9 -28.4783 12.8919 -2.2090 0.0283821 *
10 52.1761 11.8269 4.4116 1.725e-05 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> # 個別効果があるかどうかのF検定
> pFtest(fe, pool)
F test for individual effects
data: inv ~ value + capital
F = 49.177, df1 = 9, df2 = 188, p-value < 2.2e-16
alternative hypothesis: significant effects
> ## GLS
> re <- plm(inv ~ value + capital, data = Grunfeld, model = "random")
> summary(re)
Oneway (individual) effect Random Effect Model
(Swamy-Arora's transformation)
Call:
plm(formula = inv ~ value + capital, data = Grunfeld, model = "random")
Balanced Panel: n = 10, T = 20, N = 200
Effects:
var std.dev share
idiosyncratic 2784.46 52.77 0.282
individual 7089.80 84.20 0.718
theta: 0.8612
Residuals:
Min. 1st Qu. Median 3rd Qu. Max.
-177.6063 -19.7350 4.6851 19.5105 252.8743
Coefficients:
Estimate Std. Error z-value Pr(>|z|)
(Intercept) -57.834415 28.898935 -2.0013 0.04536 *
value 0.109781 0.010493 10.4627 < 2e-16 ***
capital 0.308113 0.017180 17.9339 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Total Sum of Squares: 2381400
Residual Sum of Squares: 548900
R-Squared: 0.7695
Adj. R-Squared: 0.76716
Chisq: 657.674 on 2 DF, p-value: < 2.22e-16
> # ハウスマン検定
> phtest(fe, re)
Hausman Test
data: inv ~ value + capital
chisq = 2.3304, df = 2, p-value = 0.3119
alternative hypothesis: one model is inconsistent
データとしてパッケージplm
に含まれるGrunfeld
データと呼ばれるアメリカの有名企業に関するパネルデータを用いる。
これは10の企業(\(N=10\))に関する20期分(\(T=20\))のデータで、次のような変数を含んでいる。
inv
:総投資(単位:100万ドル)
value
:企業価値(単位:100万ドル)
capital
:有形固定資産(単位:100万ドル)
パッケージからデータを読み込む。
## firm year inv value capital
## 1 1 1935 317.6 3078.5 2.8
## 2 1 1936 391.8 4661.7 52.6
## 3 1 1937 410.6 5387.1 156.9
## 4 1 1938 257.7 2792.2 209.2
## 5 1 1939 330.8 4313.2 203.4
## 6 1 1940 461.2 4643.9 207.2
1行目は変数の名前、2列目は企業番号(\(i=1,\ldots,10\))、3列目は西暦(\(1935, \ldots, 1954\))を表す。
他のパネルデータをパッケージplm
を用いて分析する際も、データをこのように並べておかなくてはならない。
つまり、まず\(i=1\)を固定し、\(i=1\)の\(t\)に関するデータを並べ、並べ終わったら次は\(i=2\)を固定し、\(i=2\)の \(t\)に関するデータを並べるというような並べ方を\(i=1,\ldots,N\)までやるということ。
ここで、\(N\)はクロス・セクションの個体数(企業や個人の数)を表す。
投資がどのような要因によって決定されるかを分析するために、説明変数としてvalue
とcapital
を用いた以下のモデルを考える。
\[ inv_{it} = \alpha_{i} + \beta_{1} value_{it} + \beta_{2} capital_{it} + \epsilon_{it} \qquad (i=1,\ldots,10, \quad t = 1, \ldots, 20) \]
まず、\(\alpha_{1} = \alpha_{2} = \cdots = \alpha_{10}\)であると想定してOLSで係数\(\beta_1\)と\(\beta_2\)を推定する。
このような推定法をpooled OLSと呼ぶ。
関数plm
のオプションでmodel = "pooling"
と指定する。
## Pooling Model
##
## Call:
## plm(formula = inv ~ value + capital, data = Grunfeld, model = "pooling")
##
## Balanced Panel: n = 10, T = 20, N = 200
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -291.6757 -30.0137 5.3033 34.8293 369.4464
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## (Intercept) -42.7143694 9.5116760 -4.4907 1.207e-05 ***
## value 0.1155622 0.0058357 19.8026 < 2.2e-16 ***
## capital 0.2306785 0.0254758 9.0548 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 9359900
## Residual Sum of Squares: 1755900
## R-Squared: 0.81241
## Adj. R-Squared: 0.8105
## F-statistic: 426.576 on 2 and 197 DF, p-value: < 2.22e-16
value
とcapital
の係数\(\beta_{1}\)と\(\beta_{2}\)の推定値Estimate
はどちらも正で、\(p\)値Pr(>|t|)
はほとんど0であることから、企業価値value
と有形固定資産capital
が大きいほど総投資inv
が増加する傾向にあることがわかる。
ちなみに、これはただのOLS推定なので、lm
関数を用いても同じ推定結果を得る。
次に、個別効果が企業間で異なるものとして、固定効果モデルを推定する。
具体的には、企業\(i=1,2,\ldots,10\)についてのダミー変数(企業\(i\)なら1、そうでなければ0となる変数)\(D_{i}\)の係数を個別効果\(\alpha_{1}, \alpha_{2}, \ldots, \alpha_{10}\)として推定する。
このような推定法をLSDV(least squares dummy variable)推定またはwithin推定と呼ぶ。
関数plm
のオプションでmodel = "within"
と指定する。
## Oneway (individual) effect Within Model
##
## Call:
## plm(formula = inv ~ value + capital, data = Grunfeld, model = "within")
##
## Balanced Panel: n = 10, T = 20, N = 200
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -184.00857 -17.64316 0.56337 19.19222 250.70974
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## value 0.110124 0.011857 9.2879 < 2.2e-16 ***
## capital 0.310065 0.017355 17.8666 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 2244400
## Residual Sum of Squares: 523480
## R-Squared: 0.76676
## Adj. R-Squared: 0.75311
## F-statistic: 309.014 on 2 and 188 DF, p-value: < 2.22e-16
上記のpooled OLSの推定結果と同様に、係数\(\beta_{1}\)と\(\beta_{2}\)の推定値はどちらも有意に正である。
個別効果\(\alpha_{1}, \alpha_{2}, \cdots, \alpha_{10}\)の推定値を見るには関数fixed()
を用いる。
## Estimate Std. Error t-value Pr(>|t|)
## 1 -70.2967 49.7080 -1.4142 0.15896
## 2 101.9058 24.9383 4.0863 6.485e-05 ***
## 3 -235.5718 24.4316 -9.6421 < 2.2e-16 ***
## 4 -27.8093 14.0778 -1.9754 0.04969 *
## 5 -114.6168 14.1654 -8.0913 7.141e-14 ***
## 6 -23.1613 12.6687 -1.8282 0.06910 .
## 7 -66.5535 12.8430 -5.1821 5.629e-07 ***
## 8 -57.5457 13.9931 -4.1124 5.848e-05 ***
## 9 -87.2223 12.8919 -6.7657 1.635e-10 ***
## 10 -6.5678 11.8269 -0.5553 0.57933
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
1番左の番号は個体(企業)\(i\)を表す。
例えば、\(\alpha_{1}\)の推定値は-70.3、\(\alpha_{3}\)の推定値は-236である。
それぞれの\(i\)について\(\alpha_{i} = 0\)かどうかの\(t\)検定の\(t\)値t-value
と\(p\)値Pr(>|t|)
も与えられる。
有意水準5%で企業\(i = 2, 3, 4, 5, 7, 8, 9\)で有意な個別効果があり、企業\(i=2\)以外は負となっている。
個別効果の平均は次のように確認できる。
## [1] -58.74394
場合によっては(例えば、企業間の比較を簡単にするために)、個別効果のその平均からの乖離を見たいときがある。
これは次のように確認できる。
## Estimate Std. Error t-value Pr(>|t|)
## 1 -11.5528 49.7080 -0.2324 0.8164700
## 2 160.6498 24.9383 6.4419 9.627e-10 ***
## 3 -176.8279 24.4316 -7.2377 1.130e-11 ***
## 4 30.9346 14.0778 2.1974 0.0292129 *
## 5 -55.8729 14.1654 -3.9443 0.0001129 ***
## 6 35.5826 12.6687 2.8087 0.0054998 **
## 7 -7.8095 12.8430 -0.6081 0.5438694
## 8 1.1983 13.9931 0.0856 0.9318489
## 9 -28.4783 12.8919 -2.2090 0.0283821 *
## 10 52.1761 11.8269 4.4116 1.725e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ここでの\(t\)値t-value
は、乖離が0かどうか、すなわち、それぞれの個別効果が個別効果全体の平均から異なるかどうかを検定していることに注意する必要がある。
平均からの相対的な効果を見ると、企業 i = 2・4・6・10 は有意な正の個別効果が、企業 i = 3・5・ 9 は有意な負の個別効果があることがわかる。
ここで、個別効果があるかどうかの\(F\)検定を行う。
帰無仮説を「全ての個別効果が同じ値」として、次のように設定する。
\[ H_{0}: \alpha_{1} = \alpha_{2} = \cdots = \alpha_{10} \]
帰無仮説のもとでのpooled OLS推定の結果pool
と、そうでない(個別効果がある)LSDV推定の結果fe
をインプットとして、pFtest()
関数を用いて\(F\)検定を行う。
fe
を、2番目にpooled OLS推定の結果pool
と指定することに注意する。##
## F test for individual effects
##
## data: inv ~ value + capital
## F = 49.177, df1 = 9, df2 = 188, p-value < 2.2e-16
## alternative hypothesis: significant effects
\(F\)値F
が49.18であり、これは第1自由度9、第2自由度188の\(F\)分布に従う。
\(p\)値p-value
が非常に小さいので、帰無仮説は棄却される。
つまり「個別効果はある」と考えられる。
\[ inv_{it} = \mu_{\alpha} + \alpha_{i} + \beta_{1} value_{it} + \beta_{2} capital_{it} + \epsilon_{it} \qquad (i=1,\ldots,10, \quad t = 1, \ldots, 20) \]
ただし、次のように仮定する。 \[ E(\alpha_{i}) = 0, \quad V(\alpha_{i}) = \sigma_{\alpha}^{2}, \quad E(\epsilon_{it}) = 0, \quad V(\epsilon_{it}) = \sigma_{\epsilon}^{2}, \quad Cov(\alpha_{i}, \epsilon_{it}) = 0 \]
\(\mu_{\alpha}\)は個別効果全体の平均を表す。
このモデルは、一般化最小2乗法(generalized least squares: GLS)によって推定できる。
関数plm()
でオプションをmodel = "random"
と指定する。
## Oneway (individual) effect Random Effect Model
## (Swamy-Arora's transformation)
##
## Call:
## plm(formula = inv ~ value + capital, data = Grunfeld, model = "random")
##
## Balanced Panel: n = 10, T = 20, N = 200
##
## Effects:
## var std.dev share
## idiosyncratic 2784.46 52.77 0.282
## individual 7089.80 84.20 0.718
## theta: 0.8612
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -177.6063 -19.7350 4.6851 19.5105 252.8743
##
## Coefficients:
## Estimate Std. Error z-value Pr(>|z|)
## (Intercept) -57.834415 28.898935 -2.0013 0.04536 *
## value 0.109781 0.010493 10.4627 < 2e-16 ***
## capital 0.308113 0.017180 17.9339 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 2381400
## Residual Sum of Squares: 548900
## R-Squared: 0.7695
## Adj. R-Squared: 0.76716
## Chisq: 657.674 on 2 DF, p-value: < 2.22e-16
Effects:
の部分におけるvar
の列でidiosyncratic
の横の数値が\(\sigma_{\epsilon}^{2}\)の推定値、individual
の横の数値が\(\sigma_{\alpha}^{2}\)の推定値を表す。
Coefficients:
の部分におけるEstimate
の列の(Intercept)
の横の数値が\(\mu_{\alpha}\)の推定値、value
の横の数値が\(\beta_{1}\)の推定値、capital
の横の数値が\(\beta_{2}\)の推定値を表す。
\(\beta_{1}\)と\(\beta_{2}\)の推定値はどちらも正に有意であり、LSDVによる推定値とほとんど変わらない。
GLS推定では、\(\alpha_{i}\)と説明変数の間に相関があると推定量が一致性を失う。
よって、この相関があるかないかを確かめることは重要である。
相関が0という帰無仮説を検定するための検定としてハウスマン検定がある。
この検定は、以下のようにLSDV推定の結果fe
とGLS推定の結果re
の2つをインプットとして、phtest()
関数を用いて行うことができる。
##
## Hausman Test
##
## data: inv ~ value + capital
## chisq = 2.3304, df = 2, p-value = 0.3119
## alternative hypothesis: one model is inconsistent
\(p\)値p-value
が0.3119なので、帰無仮説は棄却されない。
つまり、GLS推定は問題ないということになる。