预测零的比例
我是statmod包的作者,还是tweedie包的共同作者。您示例中的所有内容均正常运行。该代码正确地说明了数据中可能存在的任何零。
正如Glen_b和Tim所解释的,除非零的概率为100%,否则预测的平均值永远不会完全为零。但是,可能感兴趣的是零的预测比例,这可以很容易地从模型拟合中提取出来,如下所示。
这是一个更明智的工作示例。首先模拟一些数据:
> library(statmod)
> library(tweedie)
> x <- 1:100
> mutrue <- exp(-1+x/25)
> summary(mutrue)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.3829 1.0306 2.7737 5.0287 7.4644 20.0855
> y <- rtweedie(100, mu=mutrue, phi=1, power=1.3)
> summary(y)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.0000 0.8482 2.9249 4.7164 6.1522 24.3897
> sum(y==0)
[1] 12
数据包含12个零。
现在安装Tweedie glm:
> fit <- glm(y ~ x, family=tweedie(var.power=1.3, link.power=0))
> summary(fit)
Call:
glm(formula = y ~ x, family = tweedie(var.power = 1.3, link.power = 0))
Deviance Residuals:
Min 1Q Median 3Q Max
-2.71253 -0.94685 -0.07556 0.69089 1.84013
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.816784 0.168764 -4.84 4.84e-06 ***
x 0.036748 0.002275 16.15 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for Tweedie family taken to be 0.8578628)
Null deviance: 363.26 on 99 degrees of freedom
Residual deviance: 103.70 on 98 degrees of freedom
AIC: NA
Number of Fisher Scoring iterations: 4
Xϕ
X
> Phi <- 0.85786
> Mu <- fitted(fit)
> Power <- 1.3
> Prob.Zero <- exp(-Mu^(2-Power) / Phi / (2-Power))
> Prob.Zero[1:5]
1 2 3 4 5
0.3811336 0.3716732 0.3622103 0.3527512 0.3433024
> Prob.Zero[96:100]
96 97 98 99 100
1.498569e-05 1.121936e-05 8.336499e-06 6.146648e-06 4.496188e-06
因此,零的预测比例从最小平均值的38.1%下降到最大平均值的4.5e-6。
精确零概率的公式可以在Dunn&Smyth(2001)Tweedie族密度:评估方法或Dunn&Smyth(2005)系列对Tweedie指数色散模型密度的评估中找到。