8

plmR のパッケージで固定効果と を使用して回帰を実行しようとしていますが、model = 'within'標準エラーがクラスター化されています。Cigarのデータセットを使用してplm、次を実行しています。

require(plm)
require(lmtest)
data(Cigar)
model <- plm(price ~ sales + factor(state), model = 'within', data = Cigar)
coeftest(model, vcovHC(model, type = 'HC0', cluster = 'group'))

  Estimate Std. Error t value Pr(>|t|)    
sales  -1.21956    0.21136 -5.7701 9.84e-09

これは、(Cigar ファイルを .dta として記述した) Stata を使用して得られるものとは (わずかに) 異なります。

use cigar

xtset state year

xtreg price sales, fe vce(cluster state)


price   Coef.   Std. Err.   t   P>t [95% Conf.  Interval]

sales   -1.219563   .2137726    -5.70   0.000   -1.650124   -.7890033

つまり、標準誤差と T 統計量は異なります。さまざまな「タイプ」で R コードを再実行しようとしましたが、Stata と同じ結果になるものはありません。何か不足していますか?

4

2 に答える 2

8

plmStata は、 1.5で実装された特定の小サンプル補正を使用します。

これを試して:

require(plm)
require(lmtest)
data(Cigar)
model <- plm(price ~ sales + factor(state), model = 'within', data = Cigar)
coeftest(model, function(x) vcovHC(x, type = 'sss'))

どちらが得られますか:

t test of coefficients:

      Estimate Std. Error t value  Pr(>|t|)    
sales  -1.2196     0.2137  -5.707 1.415e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

これにより、最大 3 桁の同じ SE 推定値が得られます。

x <- coeftest(model, function(x) vcovHC(x, type = 'sss'))
x[ , "Std. Error"]
## [1] 0.2136951
于 2016-03-05T09:19:11.540 に答える