Skip to contents

This function estimates the parameters (size and prob) of a ZTB distribution from the provided data using maximum likelihood estimation (via the optim() function), and then calculates the AIC value based on the fitted distribution.

Usage

util_zero_truncated_binomial_aic(.x)

Arguments

.x

A numeric vector containing the data (non-zero counts) to be fitted to a ZTB distribution.

Value

The AIC value calculated based on the fitted ZTB distribution to the provided data.

Details

This function calculates the Akaike Information Criterion (AIC) for a zero-truncated binomial (ZTB) distribution fitted to the provided data.

Initial parameter estimates: The choice of initial values for size and prob can impact the convergence of the optimization. Consider using prior knowledge or method of moments estimates to obtain reasonable starting values.

Optimization method: The default optimization method used is "L-BFGS-B," which allows for box constraints to keep the parameters within valid bounds. You might explore other optimization methods available in optim() for potentially better performance or different constraint requirements.

Data requirements: The input data .x should consist of non-zero counts, as the ZTB distribution does not include zero values. Additionally, the values in .x should be less than or equal to the estimated size parameter.

Goodness-of-fit: While AIC is a useful metric for model comparison, it's recommended to also assess the goodness-of-fit of the chosen ZTB model using visualization (e.g., probability plots, histograms) and other statistical tests (e.g., chi-square goodness-of-fit test) to ensure it adequately describes the data.

Author

Steven P. Sanderson II, MPH

Examples


# Example data
set.seed(123)
x <- tidy_zero_truncated_binomial(30, .size = 10, .prob = 0.4)[["y"]]

# Calculate AIC
util_zero_truncated_binomial_aic(x)
#> [1] 116.5688