绘制最优拟合泊松分布曲线时exp(0.32723)的来源咨询
泊松拟合曲线中
exp()参数的来源解析 嘿,我来帮你搞懂这段泊松拟合代码里那个exp(0.32723)的来头~
1. 先理清楚你的代码和模型输出
首先是你用来画直方图并拟合泊松模型的代码和输出:
代码块
hist(patents$ncit, nclas=14,col="light blue",prob=T, xlab="Number of citations",ylab="",main="", cex.lab=1.5,cex.axis=1.3) glm(formula = ncit ~ 1, family = poisson, data = patents)
模型输出
Deviance Residuals: Min 1Q Median 3Q Max -1.7513 -1.7513 -0.4604 0.3596 6.4405 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 0.42761 0.01164 36.72 <2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for poisson family taken to be 1) Null deviance: 13359 on 4808 degrees of freedom Residual deviance: 13359 on 4808 degrees of freedom AIC: 20350 Number of Fisher Scoring iterations: 6
2. 解开exp(0.32723)的疑惑
首先得明白泊松GLM的核心逻辑:泊松分布的均值λ是通过对数链接函数和模型的线性预测器绑定的,简单说就是log(λ) = 模型的线性预测结果,反过来要得到真实的均值λ,就得用exp()把对数结果转换回来。
在你的模型ncit ~ 1里,没有其他自变量,所以线性预测器就是模型输出里的截距项。不过这里有个小细节:你模型输出的截距是0.42761,但代码里写的是exp(0.32723)——这大概率是笔误,要么是你抄错了截距值,要么是用了另一个模型的结果。
如果按你当前的模型来,正确的写法应该是exp(0.42761),计算出来的就是泊松分布的均值λ:
lambda <- exp(0.42761) lambda # 算出来大概是1.533左右
这个λ值就是传给dpois()的参数,dpois(0:14, lambda)会生成每个计数(0到14)对应的概率密度,这样画出来的曲线就是你的数据的最优拟合泊松曲线。
至于为什么要用exp()?因为泊松GLM默认用对数链接,模型直接输出的是对数尺度下的均值估计,我们必须把它转换回原始尺度,才能让dpois()识别(毕竟dpois()需要的是泊松分布的真实均值,不是对数后的均值)。
最后,你要展示**过度离散(overdispersion)**的话,只要对比直方图的实际频率和这条泊松曲线就行:如果实际数据的方差远大于均值(泊松分布的方差等于均值),直方图会比泊松曲线更“散开”,这就是过度离散的直观表现啦。
内容的提问来源于stack exchange,提问作者user1607
相关产品推荐
相关产品推荐

