使用逆 CDF 方法模拟具有不同 lambda 的泊松分布

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

我必须生成泊松回归,为此我想使用逆 CDF 方法。我正在关注this帖子来生成数据。但它不是基于逆 cdf 方法。帖子有以下代码

>   #sample size
> n <- 10
>   #regression coefficients
> beta0 <- 1
> beta1 <- 0.2
>   #generate covariate values
> x <- runif(n=n, min=0, max=1.5)
>   #compute mu's
> mu <- exp(beta0 + beta1 * x)
>   #generate Y-values
> y <- rpois(n=n, lambda=mu)
>   #data set
> data <- data.frame(y=y, x=x)
> data

我不想使用 r 内置函数

rpois
。我发现 this 帖子确实仅对一个 lambda 使用该方法。现在,如何使用逆 cdf 方法为各种 lambda 生成泊松分布? 注意: 这篇有用的帖子提供了各种样本大小的代码,我不想要这样。 非常感谢任何帮助。谢谢你。

r regression simulation poisson inverse-transform
1个回答
0
投票

答案这里是优雅且快速的,但如果你不关心效率那么

my_rpois <- function(n, lambda) {
   qpois(runif(n), lambda)
}

应该努力实现逆 CDF 方法。 (

lambda
可以是向量)

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