View source: R/utils-aic-triangular.R
| util_triangular_aic | R Documentation |
This function estimates the parameters of a triangular distribution (min, max, and mode) from the provided data and calculates the AIC value based on the fitted distribution.
util_triangular_aic(.x)
.x |
A numeric vector containing the data to be fitted to a triangular distribution. |
This function calculates the Akaike Information Criterion (AIC) for a triangular distribution fitted to the provided data.
The function operates in several steps:
Parameter Estimation: The function extracts the minimum, maximum, and
mode values from the data via the TidyDensity::util_triangular_param_estimate
function. It returns these initial parameters as the starting point for
optimization.
Negative Log-Likelihood Calculation: A custom function calculates the
negative log-likelihood using the EnvStats::dtri function to obtain density
values for each data point. The densities are logged manually to simulate the
behavior of a log parameter.
Parameter Validation: During optimization, the function checks that the
constraints min <= mode <= max are met, and returns an infinite loss if not.
Optimization: The optimization process utilizes the "SANN" (Simulated Annealing) method to minimize the negative log-likelihood and find optimal parameter values.
AIC Calculation: The Akaike Information Criterion (AIC) is calculated using the optimized negative log-likelihood and the total number of parameters (3).
The AIC value calculated based on the fitted triangular distribution to the provided data.
Steven P. Sanderson II, MPH
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_uniform_aic(),
util_weibull_aic(),
util_zero_truncated_binomial_aic(),
util_zero_truncated_geometric_aic(),
util_zero_truncated_negative_binomial_aic(),
util_zero_truncated_poisson_aic()
# Example: Calculate AIC for a sample dataset
set.seed(123)
data <- tidy_triangular(.min = 0, .max = 1, .mode = 1/2)$y
util_triangular_aic(data)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.