pub enum Criterion {
Aic,
Aicc,
Bic,
Hq,
Fpe,
Cat,
Mdl,
}Expand description
Penalised-likelihood criteria (all “smaller is better”).
Variants§
Aic
Akaike (1973): n log σ̂² + 2k. Not consistent; prediction-efficient (Shibata 1980).
Aicc
Hurvich & Tsai (1989) small-sample correction: AIC + 2K(K+1)/(n-K-1) with
K = k + 1 free parameters (the k AR coefficients plus the innovation variance),
the convention of forecast::Arima without constant. The series is demeaned
before fitting but the mean is not counted (same as R’s ar()).
Bic
Schwarz (1978): n log σ̂² + k log n. Strongly consistent (Hannan 1980).
Hq
Hannan & Quinn (1979): n log σ̂² + 2 c k log log n, c = 1 here. Minimal consistent penalty.
Fpe
Akaike (1969) final prediction error: σ̂² (n+k)/(n-k). Not consistent.
Cat
Parzen (1974, 1977) criterion autoregressive transfer function:
CAT(k) = (1/n) Σ_{j=1..k} 1/σ̄²_j − 1/σ̄²_k with the unbiased-adjusted
relative variances σ̄²_j = n (σ̂²_j/σ̂²_0) / (n − j) (innovation variance
divided by the sample variance, as in the ACF-based recursion Parzen uses),
and CAT(0) = −(1 + 1/n). The normalisation makes the value dimensionless
and the argmin scale-invariant. Asymptotically equivalent to AIC; not consistent.
Mdl
Rissanen (1978) two-part minimum description length:
(n/2) log σ̂² + (k/2) log n. In this AR form every value is exactly
BIC/2, so the argmin coincides with BIC’s; included so the benchmark
can report it under its own name.
Implementations§
Source§impl Criterion
impl Criterion
pub const ALL: [Criterion; 7]
pub fn name(self) -> &'static str
Sourcepub fn n_params(k: usize) -> usize
pub fn n_params(k: usize) -> usize
Number of free parameters counted by the penalty for an AR(k) fit: the k
coefficients plus the innovation variance. For AIC/BIC/HQ the variance term is a
constant shift that does not affect the argmin, so they use k directly as in the
textbook formulas; AICc’s correction is nonlinear in K, so there it matters.