plm模型的回归置信带

问题描述 投票:0回答:1

我目前正在使用同名程序包中的plm函数来运行固定效果模型。我在数据中进行了聚类,因此我正在使用vcovCR包中的clubSandwich函数来获取估计回归系数的标准误差。

[我想做的是:创建一个图形,该图形显示给定X1时Y的预测值(当其他变量均保持其平均值不变时,并在该图上添加95%的置信带。

我尝试过的:

  1. 使用ggpredict()程序包中的ggeffects功能。由于plm软件包显然对ggeffects有问题,因此无法正常工作。
  2. 手动使用固定效果估计的“以组为中心”的方法,然后对以组为中心的数据运行常规的lm()功能。在该数据上运行ggpredict()确实给了我很好的置信度,但是X和Y的值随后以组为中心(惊讶,惊喜!),我希望X的预测和值在原始范围内,而不是在平均居中比例尺。

关于使用聚类鲁棒标准误差时如何产生用于固定效果估计的置信带的任何建议,将不胜感激。

r linear-regression confidence-interval plm
1个回答
0
投票

我正在尝试类似的方法,但是,我找不到直接的解决方案。我估计在fe模型上会有滞后和领先的事件研究。以下为我工作:

ES1<-plm(total_thefts ~ lag6 + lag5 + lag4 + lag3 + lag2 + E + lead1 + lead2 + lead3 + lead4 + lead5 + lead6 + factor(month) + factor(year), data = panel, model="within")

因为,plm没有简单的方法来估计可靠的标准误差,所以我手动这样做并替换了原始的标准误差:

G <- length(unique(panel$id))
c <- G/(G - 1)
robust_se <- coeftest(ES1, c * vcovHC(ES1, type = 'HC1', cluster = 'group'))
ES1<-summary(ES1)
ES1$coefficients[,2:4] <- robust_se[,2:4]

[此后,按照此post,我分离出我的兴趣系数并估计了CI波段(95%):

coefs <- tidy(ES1[["coefficients"]])
coefs$conf.low <- coefs$Estimate+c(-1)*coefs$Std..Error*qt(0.975,42)
coefs$conf.high <- coefs$Estimate+c(1)*coefs$Std..Error*qt(0.975,42)

最后,我保留感兴趣的参数并绘制事件研究图:

interest <- c("lag6","lag5","lag4","lag3","lag2","E","lead1","lead2","lead3","lead4","lead5","lead6")
coefs <- subset(coefs,coefs$.rownames%in%interest)
coefs$time <- c(seq(-6,-2,1),seq(0,6,1))

ggplot(coefs, aes(time, Estimate))+
           geom_line() +
           geom_point()+
           geom_pointrange(aes(ymin = conf.low, ymax = conf.high))+
           geom_hline(yintercept = 0, linetype = 2) +
           ggtitle(paste0("N: ",nobs(ES1),", Sample: ",pdim(ES1)$nT$n,", Buff: 1000m"))) +
           theme(plot.title = element_text(hjust = 0.5)))

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.