为什么R中的滞后分布模型中的标准误差相同?

时间:2015-06-30 18:53:44

标签: r distributed

我正在运行滞后分布模型普通最小二乘法,其中一组单位在同一年都被处理。我包括2个滞后和2个潜在客户,看看是否有任何"预期"或者"长期"通过在前几年和后几年产生相同的治疗状态来产生影响。但是,当我运行模型时,所有标准错误都是相同的。例如:

set.seed(123)

data <- data.frame(y = rnorm(100), id = sort(rep(1:10,10)), years = rep(2000:2009,10))

tr <- ifelse(data$years == 2005 & data$id %in% c(2,3,4,5,6),1,0)
lead.2003 <- ifelse(data$year == 2003 & data$id %in% c(2,3,4,5,6), 1, 0)
lead.2004 <- ifelse(data$year == 2004 & data$id %in% c(2,3,4,5,6), 1, 0)
lag.2006 <- ifelse(data$year == 2006 & data$id %in% c(2,3,4,5,6), 1, 0)
lag.2007 <- ifelse(data$year == 2007 & data$id %in% c(2,3,4,5,6), 1, 0)

data <- cbind(data, tr, lead.2003, lead.2004, lag.2006 , lag.2007)

summary(lm(y ~ tr + lead.2003 + lead.2004 + lag.2006 + lag.2007, data = data))

为什么会这样?谢谢。

1 个答案:

答案 0 :(得分:1)

tr /超前/滞后变量的方差是相同的,它们是正交的,因此它们最终均匀地分割均方误差。 SE由sigma ^ 2 *(X&#39; X)^ - 1计算。看一下协方差矩阵的逆对角线(公式中的(X&#39; X)^ - 1)。

fit <- lm(y ~ tr + lead.2003 + lead.2004 + lag.2006 + lag.2007, data = data)

X <- as.matrix(cbind(1, data[,4:ncol(data)]))
diag(solve(t(X) %*% X))
#          1         tr  lead.2003  lead.2004   lag.2006   lag.2007 
# 0.01333333 0.21333333 0.21333333 0.21333333 0.21333333 0.21333333 

所以,当你把它乘以均方误差(公式中的sigma ^ 2,我们可以从anova得到它),并取平方根来得到标准误差

mse <- anova(fit)[[3]][6]            # mean square error
sqrt(diag(mse * solve(t(X) %*% X)))  # SE
#         1        tr lead.2003 lead.2004  lag.2006  lag.2007 
# 0.1059099 0.4236397 0.4236397 0.4236397 0.4236397 0.4236397 

你最终会得到相同的标准错误。

如果变量具有不同的差异,您会得到不同的标准错误,例如,更改lead.2003,并重新运行相同的模型(变量仍然是正交的)

## changed 2:6 to 3:6
lead.2003 <- ifelse(data$year == 2003 & data$id %in% 3:6, 1, 0)
## ... rerun model ...
summary(fit)$coefficients[,2]  # standard errors
# (Intercept)          tr   lead.2003   lead.2004    lag.2006    lag.2007 
#   0.1048613   0.4220586   0.4689540   0.4220586   0.4220586   0.4220586 

或者,如果变量不正交,则标准误差会不同。

## again changing lead.2003
lead.2003 <- sample(c(rep(1,5), rep(0,95)), 100)
## .. rerun ..
summary(fit)$coefficients[,2]
# (Intercept)          tr   lead.2003   lead.2004    lag.2006    lag.2007 
#   0.1057283   0.4272960   0.4316341   0.4316341   0.4272960   0.4272960