Source code for UQpy.inference.information_criteria.AIC

from UQpy.inference import MLE
from UQpy.utilities.ValidationTypes import NumpyFloatArray
from UQpy.inference.information_criteria.baseclass.InformationCriterion import InformationCriterion


[docs]class AIC(InformationCriterion): def minimize_criterion(self, data: NumpyFloatArray, parameter_estimator: MLE, return_penalty: bool = False): inference_model = parameter_estimator.inference_model max_log_like = parameter_estimator.max_log_like n_parameters = inference_model.n_parameters penalty_term = self._calculate_penalty_term(n_parameters) if return_penalty: return -2 * max_log_like + penalty_term, penalty_term return -2 * max_log_like + penalty_term def _calculate_penalty_term(self, n_parameters): return 2 * n_parameters