Skip to contents

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"
)

Arguments

Link function for count mean (default: "log")

Link function for denominator mean (default: "log")

Link function for zero-inflation probability (default: "logit")

denom_family

Denominator distribution: "gamma" (default), "negbin", or "fixed"

Value

A ratiod_family object with zero-inflation

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)
)
} # }