3.2 Poisson Inverse Gaussian (PIG)
So wie die NB als mixture aus Poisson-Verteilung mit Gamma-verteilter Varianz betrachtet werden kann, ist die Poisson Inverse Gaussian (PIG) eine mixture aus Poisson-Verteilung mit invers-normalverteilter Varianz.
Die Verteilung hat Erwartungswert und Varianz mit gleicher Form wie die NB2, unterscheidet sich aber in ihrer Form – sie ist linkssteiler und hat längere tails.
Die PIG kann also alternativ zur NB verwendet werden, insbesondere für den Fall sehr linkssteiler Daten.
“Simply put, PIG models can better deal with highly overdispersed data that can negative binomial regression, particularly data clumped heavily at 1 and 2”
– Hilbe (2014) (p. 163)
Siehe auch
Software:
- R:
gamlss
(CRAN) - SAS: Machbar via
NLMIXED
, aber unschön (siehe High 2018). - Stata:
pigreg
Vergleichen wir ein PIG Modell mit unserem vorigen NB2-Modell:
# Poisson Modell
mod_pois <- glm(docvis ~ outwork + age, family = poisson(),
data = rwm1984)
# NB2 Modell
mod_nb <- MASS::glm.nb(docvis ~ outwork + age,
data = rwm1984)
# PIG Modell
mod_pig <- gamlss::gamlss(docvis ~ outwork + age, family = gamlss.dist::PIG,
data = rwm1984)
#> GAMLSS-RS iteration 1: Global Deviance = 16757.45
#> GAMLSS-RS iteration 2: Global Deviance = 16757.15
#> GAMLSS-RS iteration 3: Global Deviance = 16757.11
#> GAMLSS-RS iteration 4: Global Deviance = 16757.11
#> GAMLSS-RS iteration 5: Global Deviance = 16757.11
#> ******************************************************************
#> Family: c("PIG", "Poisson.Inverse.Gaussian")
#>
#> Call:
#> gamlss::gamlss(formula = docvis ~ outwork + age, family = gamlss.dist::PIG,
#> data = rwm1984)
#>
#> Fitting method: RS()
#>
#> ------------------------------------------------------------------
#> Mu link function: log
#> Mu Coefficients:
#> Estimate Std. Error t value Pr(>|t|)
#> (Intercept) -0.285765 0.112128 -2.549 0.0109 *
#> outwork 0.527637 0.058037 9.091 <2e-16 ***
#> age 0.026861 0.002514 10.684 <2e-16 ***
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#>
#> ------------------------------------------------------------------
#> Sigma link function: log
#> Sigma Coefficients:
#> Estimate Std. Error t value Pr(>|t|)
#> (Intercept) 1.34417 0.05564 24.16 <2e-16 ***
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#>
#> ------------------------------------------------------------------
#> No. of observations in the fit: 3874
#> Degrees of Freedom for the fit: 4
#> Residual Deg. of Freedom: 3870
#> at cycle: 5
#>
#> Global Deviance: 16757.11
#> AIC: 16765.11
#> SBC: 16790.16
#> ******************************************************************
cbind(
exp(coef(mod_pois)),
exp(coef(mod_nb)),
exp(coef(mod_pig))
) %>%
as_tibble(rownames = ".id") %>%
setNames(c("Koeffizient", "Poisson", "NB2", "PIG"))
Koeffizient | Poisson | NB2 | PIG |
---|---|---|---|
(Intercept) | 0.9670385 | 0.9612218 | 0.7514392 |
outwork | 1.5037040 | 1.5138595 | 1.6949230 |
age | 1.0223299 | 1.0223928 | 1.0272247 |
Zum Modellvergleich kann das AIC verwendet werden:
df | AIC | |
---|---|---|
mod_pois | 3 | 31278.78 |
mod_nb | 4 | 16673.52 |
mod_pig | 4 | 16765.11 |
Literatur
High, Robin. 2018. „Alternative Variance Parameterizations in Count Data Models with the NLMIXED Procedure“. In. https://www.semanticscholar.org/paper/Alternative-Variance-Parameterizations-in-Count-the-High/1224075e77acdee9eef91643e0bbfe869406a35d.
Hilbe, Joseph M. 2014. Modeling Count Data. Cambridge: Cambridge University Press. https://doi.org/10.1017/CBO9781139236065.