8

我想使用 R 中的 CausalImpact 包来估计干预对传染病病例数的影响。我们通常将案例计数的分布描述为泊松或负二项式。该bsts()函数允许我们指定泊松族。然而,这遇到了一个错误CausalImpact()

set.seed(1)
x1 <- 100 + arima.sim(model = list(ar = 0.999), n = 100)
y <- rpois(100, 1.2 * x1)
y[71:100] <- y[71:100] + 10
data <- cbind(y, x1)
pre.period <- c(1, 70)
post.period <- c(71, 100)
post.period.response <- y[post.period[1] : post.period[2]]
y[post.period[1] : post.period[2]] <- NA
ss <- AddLocalLevel(list(), y)
bsts.model <- bsts(y ~ x1, ss, family="poisson", niter = 1000)
impact <- CausalImpact(bsts.model = bsts.model,
                   post.period.response = post.period.response)

Error in rnorm(prod(dim(state.samples)), 0, sigma.obs) : invalid arguments

这是因为使用生成时bsts.model没有sigma.obs插槽family="poisson"

我这样做是正确的还是有另一种方法可以将 CausalImpact 与 Poisson 数据一起使用?(我也希望能够使用负二项式数据,但我不会太贪心)。

最后,这是解决 CausalImpact 编码问题的最佳地点吗?我在 GitHub 页面上没有看到问题选项卡。

4

0 回答 0