Zero-inflated Poisson for the numerator process. Useful when overdispersion is primarily due to excess zeros.
Usage
ratiod_zipois(
link_num = "log",
link_denom = "log",
link_zi = "logit",
denom_family = "gamma"
)Details
Use ratiod_zipois() when:
Excess zeros are the main source of overdispersion
The non-zero counts follow Poisson (no additional overdispersion)
Use ratiod_zinegbin() when:
Both excess zeros AND overdispersion in positive counts
Examples
# Create family object
fam <- ratiod_zipois()
print(fam)
#> tulpaRatio family: zipois_gamma
#> [Zero-inflated model]
#> Zero-inflated Poisson numerator, gamma denominator
#>
#> Numerator: poisson(log)
#> ZI prob: bernoulli(logit)
#> Denominator: gamma (log)
# Simulate zero-inflated CPUE data
set.seed(123)
n <- 60
zi_prob <- 0.25
df <- data.frame(
catch = ifelse(runif(n) < zi_prob, 0, rpois(n, lambda = 5)),
effort = rgamma(n, shape = 4, rate = 1),
depth = rnorm(n),
vessel = factor(rep(1:6, each = n/6))
)
if (FALSE) { # \dontrun{
# Fit model (not run - ZI models require specialized backend support)
fit <- tratio(
catch | effort ~ depth + (1 | vessel),
data = df,
family = ratiod_zipois(denom_family = "gamma"),
control = list(iter = 200, warmup = 100, chains = 1)
)
} # }