生成具有序列相关性的过度分散计数数据

机器算法验证 r 时间序列 分布 泊松分布 模拟
2022-03-23 18:10:35

谁能提供一些关于如何生成具有序列相关性的过度分散计数数据的建议?我正在使用 R 软件进行模拟研究。任何有关此主题的参考资料将不胜感激。

谢谢你的帮助。

2个回答

生成过度分散计数数据的标准方法是从具有随机均值的泊松分布生成数据:YiPoisson(λi),λiF. 例如,如果λi有一个 Gamma 分布,你会得到负二项分布Y.

您可以通过将相关性强加于λi的。例如,你可以有logλiAR(1). 在 R 中实现:

N <- 100
rho <- 0.6
log.lambda <- 1 + arima.sim(model=list(ar=rho), n=N)
y <- rpois(N, lambda=exp(log.lambda))
> cor(head(y,-1), tail(y,-1))
[1] 0.4132512
> mean(y)
[1] 4.35
> var(y)
[1] 33.4015

这里λi来自正态分布,所以边际分布不是经典分布,但你可以更有创意。还要注意,相关性y's 不等于rho,但它是它的一些函数。

这是一种方法:

v = rnorm(1, 30, 10)
for (i in 2:30) v = c(v, 0.5*v[i-1] + 0.5*rnorm(1, 30, 10))
round(v)