FPE and AIC Criteria for Determining Order in Time Series Analysis

Resource Overview

FPE and AIC Criteria for Determining Order in Time Series Analysis with MATLAB Implementation Approaches

Detailed Documentation

In time series analysis, determining the appropriate model order (such as the autoregressive order in AR models) is crucial. Two commonly used criteria include the Final Prediction Error (FPE) and Akaike Information Criterion (AIC). These criteria help select the optimal order by balancing model goodness-of-fit and complexity.

### FPE Criterion The FPE criterion selects model order by minimizing prediction errors. The core concept is that too low an order leads to underfitting, while too high an order increases overfitting risk. The FPE calculation combines residual variance and parameter count - smaller values indicate better models. The mathematical formulation involves computing the residual variance adjusted by the number of parameters relative to the sample size.

### AIC Criterion AIC is a more general model selection standard based on information theory principles, balancing likelihood function values and parameter quantity. Smaller AIC values indicate better model fit with reasonable complexity. The algorithm penalizes model complexity to prevent overfitting while rewarding improved fit to the data.

### Implementation in MATLAB MATLAB provides built-in functions like `aryule`, `ar`, or `aic` to calculate FPE and AIC for order selection. Key implementation details include: FPE Calculation: When fitting AR models using functions like `ar` or `aryule`, MATLAB automatically outputs FPE values. Users can compare FPE across different orders and select the minimum FPE value using vectorized operations. AIC Calculation: Use the dedicated `aic` function or extract AIC values directly from AR/ARMA model outputs. The typical workflow involves looping through candidate orders, fitting models, and storing AIC values for comparison. Practical implementation often involves: 1. Defining an order range (e.g., 1 to 10) using `1:10` 2. Iterating through orders with a `for` loop 3. For each order, fitting the model using `ar(data, order)` 4. Extracting FPE/AIC values from the model object 5. Using `min()` function to identify the optimal order Note that FPE and AIC may sometimes yield different results, requiring integration of domain knowledge and practical application requirements for final decision-making.