Calculate Akaike Information Criterion (AIC) for Zero-Truncated Binomial Distribution
Source:R/utils-aic-zt-binom.R
util_zero_truncated_binomial_aic.Rd
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.
Arguments
- .x
A numeric vector containing the data (non-zero counts) to be fitted to a ZTB distribution.
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.
See also
Other Utility:
check_duplicate_rows()
,
convert_to_ts()
,
quantile_normalize()
,
tidy_mcmc_sampling()
,
util_beta_aic()
,
util_binomial_aic()
,
util_cauchy_aic()
,
util_chisq_aic()
,
util_exponential_aic()
,
util_f_aic()
,
util_gamma_aic()
,
util_generalized_beta_aic()
,
util_generalized_pareto_aic()
,
util_geometric_aic()
,
util_hypergeometric_aic()
,
util_inverse_burr_aic()
,
util_inverse_pareto_aic()
,
util_inverse_weibull_aic()
,
util_logistic_aic()
,
util_lognormal_aic()
,
util_negative_binomial_aic()
,
util_normal_aic()
,
util_paralogistic_aic()
,
util_pareto1_aic()
,
util_pareto_aic()
,
util_poisson_aic()
,
util_t_aic()
,
util_triangular_aic()
,
util_uniform_aic()
,
util_weibull_aic()
,
util_zero_truncated_geometric_aic()
,
util_zero_truncated_negative_binomial_aic()
,
util_zero_truncated_poisson_aic()
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