Why Seasonal ARIMA Selection Needs More Than One Score
A seasonal ARIMA model can fit recurring patterns while still leaving seasonal dependence in its residuals. It can also have a favorable information criterion yet forecast poorly at the horizon that matters. A defensible selection therefore combines three kinds of evidence: residual diagnostics, an information criterion that accounts for model size, and forecasts evaluated at relevant horizons against a benchmark.
The examples use a hypothetical monthly portfolio series with seasonal period \(s=12\). No values represent actual company or industry data. A seasonal ARIMA model is written \(\operatorname{ARIMA}(p,d,q)(P,D,Q)_{s}\): the first triple describes nonseasonal autoregressive, differencing, and moving-average orders; the second describes their seasonal counterparts. The order \(s\) is the number of observations per seasonal cycle.
Count Parameters Before Comparing AICc
For a candidate fitted by maximum likelihood, a common form of the corrected Akaike information criterion is
where \(\ell\) is the maximized log-likelihood, \(k\) is the number of estimated parameters counted under the likelihood convention being used, and \(n\) is the number of observations used for that likelihood. Equivalently, \(\operatorname{AIC}=-2\ell+2k\), and AICc adds a finite-sample correction. Smaller values are preferred, but only among candidates whose likelihoods and sample bases are comparable.
For the examples, \(k\) includes every estimated AR and MA coefficient, seasonal and nonseasonal, plus the innovation variance. Add an estimated mean, drift, or other parameter if the fitted model includes one. Differencing orders \(d\) and \(D\) are specified model orders, not estimated coefficients, so they are not counted as parameters here. Software conventions can differ; use a consistent parameter count and likelihood convention across the candidates.
Worked Example: Counting Parameters and Ranking by AICc
A hypothetical monthly series has \(n=48\) observations in the common likelihood sample. Three candidates have no estimated constant or drift. Candidate A is \(\operatorname{ARIMA}(0,1,1)(0,1,1)_{12}\), candidate B is \(\operatorname{ARIMA}(1,1,1)(0,1,1)_{12}\), and candidate C is \(\operatorname{ARIMA}(1,1,1)(1,1,1)_{12}\). Their reported \(-2\ell\) values are 320, 314, and 313, respectively. Rank them by AICc.
Method and parameter counts. A has one nonseasonal MA coefficient, one seasonal MA coefficient, and an innovation variance, so \(k_A=3\). B adds one nonseasonal AR coefficient, giving \(k_B=4\). C adds a seasonal AR coefficient as well, giving \(k_C=5\).
For A, \(\operatorname{AIC}=320+2(3)=326\), and its correction is \(2(3)(4)/(48-3-1)=24/44=0.54545\ldots\). Thus \(\operatorname{AICc}_A=326.54545\ldots\).
For B, \(\operatorname{AIC}=314+2(4)=322\), and its correction is \(2(4)(5)/(48-4-1)=40/43=0.93023\ldots\). Thus \(\operatorname{AICc}_B=322.93023\ldots\).
For C, \(\operatorname{AIC}=313+2(5)=323\), and its correction is \(2(5)(6)/(48-5-1)=60/42=1.42857\ldots\). Thus \(\operatorname{AICc}_C=324.42857\ldots\).
The ranking is B, C, A, from smallest AICc to largest. B is the information-criterion leader, although its residuals and forecast performance still need checking. Common mistake avoided: counting only the seasonal coefficients, or treating differencing orders as estimated coefficients, would give the wrong penalty. Values here are rounded to five decimals for display.
Check Residuals for Seasonal Dependence
A well-chosen model should leave residuals with no important systematic autocorrelation. For a residual sequence \(e_t\), the sample residual autocorrelation at lag \(j\) is denoted \(\hat{\rho}_j\). Seasonal lags are \(s,2s,3s,\ldots\); with monthly data, lags 12 and 24 correspond to one- and two-year separations. A conspicuous residual autocorrelation at these lags can indicate seasonal structure the candidate has not captured.
The Ljung–Box statistic summarizes autocorrelation over lags \(1\) through \(m\):
Under the null hypothesis that the residuals have no autocorrelation through lag \(m\), a common approximate reference distribution is chi-square with \(m-r\) degrees of freedom, where \(r\) is the number of fitted AR and MA coefficients. This approximation is a diagnostic, not a proof of independence. Choose \(m\) to include meaningful seasonal lags, and account for the fitting convention when using the reference distribution.
Worked Example: Diagnosing Seasonal Residual Dependence
For candidate B from the previous example, a diagnostic summary for \(n=48\) residuals gives \(\hat{\rho}_{12}=0.42\), \(\hat{\rho}_{24}=0.30\), and a weighted sum across all lags 1 through 24 of \(\sum_{j=1}^{24}\hat{\rho}_j^2/(48-j)=0.0165\). Candidate B has three fitted AR and MA coefficients. Assess the Ljung–Box result using \(m=24\).
First calculate the statistic: \(n(n+2)=48(50)=2400\), so \(Q(24)=2400(0.0165)=39.6\). The approximate degrees of freedom are \(24-3=21\). The upper-tail probability for a chi-square variable with 21 degrees of freedom at 39.6 is about 0.008.
This is evidence against the no-autocorrelation null at conventional significance levels. The relatively large residual autocorrelations at lags 12 and 24 also point toward remaining seasonal dependence. The result does not, by itself, identify the correct replacement model; it indicates that candidate B should not be accepted solely because it had the lowest AICc. Common mistake avoided: looking only at lag 1, or subtracting the variance parameter rather than the fitted AR and MA coefficients in this stated degrees-of-freedom convention, can conceal or misstate the seasonal diagnostic.
A residual test should be read alongside the residual autocorrelation pattern and the model’s purpose. A small p-value is a warning that the residuals retain structure; a large p-value does not establish that every modeling assumption is correct. Nor should a candidate be rejected mechanically because one of many tested lags happens to appear unusual.
Compare Forecasts at the Horizons That Matter
Information criteria and residual diagnostics do not directly measure forecast accuracy. Rolling-origin validation does: at each origin, fit or update the candidate using only observations available at that time, forecast the required horizon, and compare the forecasts with the subsequently observed values. The training data, model-selection decisions, and transformations at an origin must not use future observations.
For seasonal-naïve forecasting, the forecast repeats the most recent observed value from the same seasonal position. For horizon \(h\), define \(k=\lceil h/s\rceil\), the smallest integer at least \(h/s\). The forecast is
This index is available at origin \(T\): \(h-ks\leq 0\). For \(1\leq h\leq s\), \(k=1\), giving \(Y_{T+h-s}\). For larger horizons, the ceiling rule is essential. For example, with \(s=12\) and \(h=15\), \(k=2\), so the forecast uses \(Y_{T-9}\), not the unavailable future value \(Y_{T+3}\). The formula follows by moving back whole seasonal cycles from the target time until reaching the latest observed time in that same seasonal position.
For a given horizon, a common error summary is mean absolute error (MAE), the average of the absolute forecast errors across origins. A relative skill score against the seasonal-naïve benchmark is
Positive skill means the candidate’s MAE is lower than the benchmark’s; zero means they tie; negative skill means the candidate is worse. Calculate these summaries separately for each horizon when performance at different lead times matters.
Worked Example: Comparing Rolling Forecasts by Horizon
At three rolling origins, candidate C produces absolute errors of 3, 5, and 4 for one-month-ahead forecasts, while the seasonal-naïve errors are 5, 6, and 4. At the same three origins, its twelve-month-ahead errors are 8, 10, and 13, while the seasonal-naïve errors are 9, 11, and 10. Calculate the MAEs and skill at each horizon.
One month ahead. Candidate C has \(\operatorname{MAE}=(3+5+4)/3=12/3=4\). The benchmark has \(\operatorname{MAE}=(5+6+4)/3=15/3=5\). Skill is \(1-4/5=0.20\), or 20%.
Twelve months ahead. Candidate C has \(\operatorname{MAE}=(8+10+13)/3=31/3=10.3333\ldots\). The benchmark has \(\operatorname{MAE}=(9+11+10)/3=30/3=10\). Skill is \(1-(31/3)/10=1-31/30=-1/30=-0.0333\ldots\), or about \(-3.33\%\).
Candidate C beats the benchmark at one month but is slightly worse at twelve months. The evidence therefore supports it more strongly for short-horizon forecasting than for annual-ahead forecasting. Common mistake avoided: pooling errors across horizons can hide a model’s weaker performance at the horizon relevant to the decision. Skills are rounded to four decimal places where shown.
Put the Evidence Together
Model selection is a structured judgment rather than a rule that the smallest AICc always wins. A practical sequence is to establish comparable candidate fits, screen residual dependence, rank the diagnostically plausible models by AICc, and then assess rolling forecasts against a benchmark at the relevant horizons. If the AICc leader has clear residual seasonal dependence, a slightly higher-AICc candidate with more adequate residual behavior may be preferable. Forecast results can still qualify that choice.
Use the same response data, likelihood sample, likelihood convention, and parameter-counting convention for the candidates being compared.
Inspect the residual autocorrelation pattern, especially at seasonal lags, and use a portmanteau test as a summary rather than as a substitute for the pattern.
Count all estimated parameters consistently, calculate AICc, and treat a low value as evidence about relative fit and complexity—not as a guarantee of useful forecasts.
Use rolling origins, prevent leakage, calculate error measures separately by horizon, and compare with seasonal-naïve forecasts constructed only from observed values.
Selection can depend on the forecasting objective. If one-month-ahead accuracy is central, the short-horizon comparison may be decisive. If annual-ahead forecasts matter, the twelve-month score deserves more weight. Report this distinction instead of presenting one pooled score as if it answered every forecasting question.
Common Selection Traps
- Using the AICc minimum as an automatic verdict. A residual seasonal pattern can make the nominal winner inadequate.
- Forgetting variance or a fitted constant. Every estimated parameter counted by the likelihood convention contributes to \(k\), not just AR and MA coefficients.
- Comparing incompatible likelihoods. Different samples or likelihood treatments can make criterion differences difficult to interpret.
- Using an unavailable seasonal-naïve observation. For \(h>s\), apply \(k=\lceil h/s\rceil\); do not use \(Y_{T+h-s}\) when its time index exceeds \(T\).
- Ignoring the forecast horizon. A model may improve short-term forecasts but fail to beat the benchmark farther ahead.
- Allowing future data into model selection. Every rolling forecast must be based only on information available at its origin.
Check Your Understanding
Work through each selection step before checking the answer shown.
- A model is \(\operatorname{ARIMA}(0,1,1)(1,1,1)_{12}\) with no estimated constant. Count the AR and MA coefficients and the innovation variance included in \(k\). (Answer: \(k=4\).)
- A candidate has \(n=36\), \(k=4\), and \(-2\ell=210\). Calculate AICc. (Answer: \(218+40/31=219.2903\) to four decimals.)
- For a seasonal-naïve forecast with \(s=4\) and \(h=6\), determine the observed value used at origin \(T\). (Answer: \(Y_{T-2}\).)
- At a particular horizon, a candidate’s absolute errors are 2, 4, 6, and 8; the benchmark’s are 3, 4, 5, and 8. Calculate both MAEs and relative skill. (Answer: both MAEs are 5, and skill is 0.)
- Candidate A has the lowest AICc but shows strong residual autocorrelation at seasonal lags. Candidate B has a slightly higher AICc, no notable seasonal residual pattern, and lower rolling MAE than the seasonal-naïve benchmark at the target horizon. Which candidate is better supported for that forecasting task, and why? (Answer: Candidate B, because its residual diagnostics are more adequate and it improves target-horizon benchmark accuracy, despite its slightly higher AICc.)