web-dev-qa-db-ja.com

Stargazerのクラスターロバストな標準エラー

stargazerを取得してlmモデルのクラスター化されたSEを表示する方法を知っている人はいますか? (そして対応するF検定?)可能であれば、sandwichを使用して不均一分散にロバストなSEを計算し、 のようにそれらをstargazerにポップするのと同様のアプローチに従いたいと思います。 http://jakeruss.com/cheatsheets/stargazer.html#robust-standard-errors-replicating-statas-robust-option

回帰モデルを取得するためにlmを使用しており、会社ごとにクラスタリングしています(回帰モデルに含めていない因子変数)。 NA値もたくさんあるので、multiwayvcovが最良のパッケージになると思います(landroniの回答の下部を参照してください- パネルデータの二重クラスター化された標準誤差 -また https://sites.google.com/site/npgraham1/research/code )? plmは使いたくないことに注意してください。

編集:私はmultiwayvcovパッケージを使用して解決策を見つけたと思います...

_library(lmtest) # load packages
library(multiwayvcov)

data(petersen) # load data
petersen$z <- petersen$y + 0.35  # create new variable

ols1 <- lm(y ~ x, data = petersen) # create models
ols2 <- lm(y ~ x + z, data = petersen)

cl.cov1 <- cluster.vcov(ols1, data$firmid) # cluster-robust SEs for ols1
cl.robust.se.1 <- sqrt(diag(cl.cov1))
cl.wald1 <- waldtest(ols1, vcov = cl.cov1)

cl.cov2 <- cluster.vcov(ols2, data$ticker) # cluster-robust SEs for ols2
cl.robust.se.2 <- sqrt(diag(cl.cov2))
cl.wald2 <- waldtest(ols2, vcov = cl.cov2)

stargazer(ols1, ols2, se=list(cl.robust.se.1, cl.robust.se.2), type = "text") # create table in stargazer
_

このアプローチの唯一の欠点は、各モデルのwaldtest()出力からF統計を手動で再入力する必要があることです。

8
RSS

パッケージlmtestおよびmultiwayvcovを使用すると、多くの不要なオーバーヘッドが発生します。 Rでクラスター化された標準誤差を計算する最も簡単な方法は、変更されたsummary()関数です。この関数を使用すると、クラスターと呼ばれる追加のパラメーターを従来のsummary()関数に追加できます。次の投稿では、この関数を使用してRのクラスター化された標準誤差を計算する方法について説明します。

https://economictheoryblog.com/2016/12/13/clustered-standard-errors-in-r/

要約関数を簡単に使用して、クラスター化された標準エラーを取得し、それらをスターゲイザー出力に追加できます。あなたの例に基づいて、あなたは単に次のコードを使うことができます:

# estimate models
ols1 <- lm(y ~ x) 

# summary with cluster-robust SEs
summary(ols1, cluster="cluster_id") 

# create table in stargazer
stargazer(ols1, se=list(coef(summary(ols1,cluster = c("cluster_id")))[, 2]), type = "text") 
13
Flavian Barton

lfeパッケージよりもはるかに強力なlmパッケージをお勧めします。回帰モデルでクラスターを簡単に指定できます。

ols1 <- felm(y ~ x + z|0|0|firmid, data = petersen)
summary(ols1)

stargazer(OLS1, type="html")

クラスター化された標準エラーは自動的に生成されます。そして、stargazerはそれに応じてクラスター化された標準エラーを報告します。

ちなみに(より多くのマーケティングを行うことができます)、マイクロ計量経済分析には、felmを強くお勧めします。 felmを使用して、固定効果とIVを簡単に指定できます。文法は次のようなものです。

ols1 <- felm(y ~ x + z|FixedEffect1 + FixedEffect2 | IV | Cluster, data = Data)
3
Xing Zhang