如何在分段时间序列回归中量化干预的幅度?
我试图在美国复制肺炎球菌结合疫苗常规儿童免疫接种后肺炎入院率下降的方法:时间序列分析。还有其他几篇具有类似方法的已发表论文,其中方法一章没有提供信息。所有这些论文都引用了Wagner 等人。,但是该论文描述了一个更简单的线性模型。
时的公共卫生干预,预计会减少计数(增加负趋势)。我用负二项式模型拟合了这个模型,其中包含几个月的 AR(2) 误差和虚拟变量、干预前趋势、干预指标和干预后趋势。我使用包中的函数在 R 统计中做到了这一点。glm.nbMASS
#In R version 3.3.1 with packages dplyr, MASS
#generate a comparable time-series ts()
base <- rnbinom(n = 120, size = 1400, prob = 0.5)
season <- rep(c(600, 400, 150, 0, -50, -80, -300, -600, 50, 100, 200, 300), 10)
ts <- ts(base + season, start = c(2000,1), end = c(2009,12), frequency = 12)
#generate the independant variables
month.f <- factor(rep(1:12, 10))
dummy.months <- model.matrix(~month.f +0)
require(dplyr); lag1 <- lag(ts); lag2 <- lag(lag(ts))
time.interv <- 72
pre.interv.trend <- c(1:time.interv, rep(0, 48))
interv.indicator <- c(rep(0, time.interv), rep(1, 48))
post.interv.trend <- c(rep(0, time.interv), 1:48)
df <- cbind.data.frame(ts, dummy.months,lag1,lag2,interv.indicator,pre.interv.trend,post.interv.trend)
#the fitted model
require(MASS); fit <- glm.nb(ts ~. + 0, data = df)
我尝试了几种方法
- 我尝试使用该
forecast包来预测干预前的时间序列,然后从预测中减去观察值。然而,95%CI 区间变得如此之大,以至于观察到的时间序列在理论上没有办法落在它们之外。 - 我已经在没有干预变量的情况下改装了模型,并
fit_intervention从fit_nonintervention. 改装后的模型表现出相当相似的拟合值,但模型拟合度总体下降。
