You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于逆CDF方法生成多lambda值的泊松分布用于泊松回归

用逆CDF方法生成多lambda值的泊松回归数据

核心逻辑

泊松分布的逆CDF生成思路:对每个给定的λ(即我们计算出的mu),先生成一个(0,1)区间的均匀随机数U,再找到最小的非负整数k,使得泊松分布的累积概率P(X≤k)≥U,这个k就是对应λ的泊松随机数。针对多λ场景,我们可以写一个自定义函数,逐个处理每个mu值生成对应随机数。

实现代码

# 样本量
n <- 10
# 回归系数
beta0 <- 1
beta1 <- 0.2
# 生成协变量x
x <- runif(n = n, min = 0, max = 1.5)
# 计算每个样本对应的mu值(即lambda)
mu <- exp(beta0 + beta1 * x)

# 自定义逆CDF生成泊松随机数的函数
rpois_icdf <- function(lambda) {
  u <- runif(1)
  k <- 0
  cdf <- exp(-lambda)  # P(X=0)的概率
  while (cdf < u) {
    k <- k + 1
    cdf <- cdf + (lambda^k / factorial(k)) * exp(-lambda)
  }
  return(k)
}

# 批量处理所有mu值生成y
y <- sapply(mu, rpois_icdf)

# 构建数据集
data <- data.frame(y = y, x = x)
# 查看数据集
print(data)

说明

  • 自定义函数rpois_icdf针对单个lambda实现逆CDF逻辑,通过sapply可批量处理所有mu值,生成对应长度的泊松随机数序列。
  • 仅替换原代码中rpois的生成逻辑,其余步骤保持一致,确保生成的数据集符合泊松回归的结构要求。

内容的提问来源于stack exchange,提问作者user22130474

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 06:17:03