R studio: панель регрессии и кластеризация по группам и времени? - PullRequest
1 голос
/ 11 марта 2020

У меня есть некоторые данные панели, и я использую пакет PLM. Я хотел бы объединить стандартные ошибки по группам и времени. Тем не менее, я смог кластеризоваться только на одном уровне, а не на обоих.

Пример данных:

Date   Country  Stock_Returns House_Prices
 1990   Japan     11.84         1000.00
 1991   Japan     5.65          759.6
 1990   USA       -6.45         2831.90
 1991   USA       9.78           532.63

Пример моей регрессии

Reg1 <- plm(Stock_Returns ~ House_Prices, data =DF1, index=c("Country", "Date"), model="within)

Вот мой текущий подход к кластеризации по времени, но я не могу понять, как это сделать "время" "группа"?

x <- coeftest(Reg1, function(x), vcovHC(x, type="sss", cluster="time"))

Любая помощь приветствуется

1 Ответ

1 голос
/ 11 марта 2020

Вы можете использовать lfe::felm. Формула имеет вид y ~ x1 + x2 | f1 + f2 | (Q|W ~ x3+x4) | clu1 + clu2, где f = фиксированный эффект и clu = кластер.

library(lfe)
fit <- felm(Stock_Returns ~ House_Prices | Country + Date | 0 | Date + Country, data=DF1)
summary(fit)
# Call:
#   felm(formula = Stock_Returns ~ House_Prices | Country + Date |      0 | Date + Country, data = DF1) 
# 
# Residuals:
#   Min       1Q   Median       3Q      Max 
# -1.23404 -0.47836  0.03347  0.37293  1.94425 
# 
# Coefficients:
#   Estimate Cluster s.e. t value Pr(>|t|)   
# House_Prices  0.55393      0.08945   6.193  0.00848 **
#   ---
#   Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 
# Residual standard error: 0.7618 on 29 degrees of freedom
# Multiple R-squared(full model): 0.7174   Adjusted R-squared: 0.581 
# Multiple R-squared(proj model): 0.5377   Adjusted R-squared: 0.3145 
# F-statistic(full model, *iid*):5.258 on 14 and 29 DF, p-value: 8.098e-05 
# F-statistic(proj model): 38.35 on 1 and 3 DF, p-value: 0.008482 

Примечание: Вы можете получить несколько (<50) кластеров и, возможно, потребуется bootstrap ваши стандартные ошибки специальными методами. Вы можете прочитать <a href="http://cameron.econ.ucdavis.edu/research/Cameron_Miller_JHR_2015_February.pdf" rel="nofollow noreferrer"> Cameron et al. 2015 и обратитесь к местному статистику.


Данные

set.seed(42)
DF1 <- expand.grid(Date=1990:2000, Country=c("Japan", "USA", "Germany", "Mexico"))
DF1 <- within(DF1, {
  Stock_Returns <- rnorm(nrow(DF1), 20)
  House_Prices <- abs(rnorm(nrow(DF1), 5000)) + Stock_Returns
    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...