我正在尝试根据已拟合零膨胀泊松回归模型的观察数据进行模拟。zeroinfl()
我使用包中的 R 拟合数据pscl
,但我无法弄清楚如何从系数估计中推导出 ZIP 分布。
我知道如何从这些系数估计中得出预测计数(更多信息在这里: http: //www.ats.ucla.edu/stat/stata/faq/predict_zip.htm),但谁能帮我理解如何找到/导出我的分布参数的估计值(即泊松分布的 lambda,伯努利分布的 p),然后我可以从中采样?
我正在尝试根据已拟合零膨胀泊松回归模型的观察数据进行模拟。zeroinfl()
我使用包中的 R 拟合数据pscl
,但我无法弄清楚如何从系数估计中推导出 ZIP 分布。
我知道如何从这些系数估计中得出预测计数(更多信息在这里: http: //www.ats.ucla.edu/stat/stata/faq/predict_zip.htm),但谁能帮我理解如何找到/导出我的分布参数的估计值(即泊松分布的 lambda,伯努利分布的 p),然后我可以从中采样?
您可以通过以下方式获得零通货膨胀的概率
p <- predict(object, ..., type = "zero")
和计数分布的平均值
lambda <- predict(object, ..., type = "count")
vignette("countreg", package = "pscl")
有关更多详细信息,请参见附录 C。
要模拟分布,您可以手动进行
ifelse(rbinom(n, size = 1, prob = p) > 0, 0, rpois(n, lambda = lambda))
或者你可以rzipois()
从VGAM
包中使用
library("VGAM")
rzipois(n, lambda = lambda, pstr0 = p)
它基本上也ifelse()
像上面那样做,但增加了一些健全性检查等。