Quick Reference: Interpreting Time Series Diagnostics
Stationarity Tests
ADF (Augmented Dickey-Fuller)
| p-value |
Interpretation |
| ≤ 0.01 |
Strong evidence of stationarity |
| ≤ 0.05 |
Stationary (reject null) |
| > 0.05 |
Non-stationary (fail to reject) |
Null hypothesis: Series has a unit root (non-stationary)
KPSS (Kwiatkowski-Phillips-Schmidt-Shin)
| p-value |
Interpretation |
| > 0.10 |
Stationary (fail to reject) |
| > 0.05 |
Likely stationary |
| ≤ 0.05 |
Non-stationary (reject null) |
Null hypothesis: Series is stationary (opposite of ADF)
Combined Interpretation
| ADF |
KPSS |
Conclusion |
| Stationary |
Stationary |
Confirmed stationary |
| Non-stationary |
Non-stationary |
Confirmed non-stationary |
| Stationary |
Non-stationary |
Trend-stationary (difference or detrend) |
| Non-stationary |
Stationary |
Difference-stationary (may need differencing) |
Differencing (d)
| d value |
Meaning |
Common causes |
| 0 |
Already stationary |
Stationary process |
| 1 |
First difference needed |
Trend, random walk |
| 2 |
Second difference needed |
Quadratic trend, I(2) process |
Warning: If d=2 and still non-stationary, consider:
- Structural breaks in the data
- Non-linear trends
- Regime changes
Seasonality
Seasonal Strength
| Strength |
Interpretation |
| 0.0 - 0.1 |
No meaningful seasonality |
| 0.1 - 0.3 |
Weak seasonality |
| 0.3 - 0.6 |
Moderate seasonality |
| 0.6 - 0.9 |
Strong seasonality |
| > 0.9 |
Very strong seasonality |
Common Seasonal Periods
| Data Frequency |
Typical Period |
Meaning |
| Hourly |
24 |
Daily cycle |
| Hourly |
168 |
Weekly cycle (24 × 7) |
| Daily |
7 |
Weekly cycle |
| Daily |
365 |
Yearly cycle |
| Weekly |
52 |
Yearly cycle |
| Monthly |
12 |
Yearly cycle |
| Quarterly |
4 |
Yearly cycle |
Trend
Trend Strength
| Strength |
Interpretation |
| 0.0 - 0.1 |
No meaningful trend |
| 0.1 - 0.3 |
Weak trend |
| 0.3 - 0.6 |
Moderate trend |
| 0.6 - 0.9 |
Strong trend |
| > 0.9 |
Dominant trend |
Direction
| Direction |
Meaning |
| increasing |
Upward long-term movement |
| decreasing |
Downward long-term movement |
| flat |
No significant directional movement |
Forecastability (Ljung-Box Test)
Interpretation
| p-value |
Interpretation |
| ≤ 0.01 |
Strong autocorrelation - highly forecastable |
| ≤ 0.05 |
Significant autocorrelation - forecastable |
| > 0.05 |
No significant autocorrelation - may be white noise |
| > 0.10 |
Likely white noise - not forecastable |
Null hypothesis: No autocorrelation (white noise)
What This Means
- Forecastable: Past values contain information about future values
- Not forecastable (white noise): Future values are random, cannot be predicted from history
Transform Recommendations
Box-Cox Lambda Interpretation
| Lambda (λ) |
Recommended Transform |
| λ ≈ -1 |
Inverse (1/y) |
| λ ≈ -0.5 |
Inverse square root (1/√y) |
| λ ≈ 0 |
Log transform (log y) |
| λ ≈ 0.5 |
Square root (√y) |
| λ ≈ 1 |
No transform needed |
| λ ≈ 2 |
Square (y²) |
When to Transform
| Symptom |
Likely Transform |
| Variance increases with level |
Log or sqrt |
| Right-skewed distribution |
Log |
| Multiplicative seasonality |
Log |
| Heteroscedastic residuals |
Box-Cox |
Requirements
- Log transform: All values must be positive (y > 0)
- Box-Cox: All values must be positive
- Shift: If data has zeros or negatives, add constant first
ACF/PACF Interpretation
Reading the Plots
| Pattern |
ACF |
PACF |
Suggested Model |
| AR(p) |
Gradual decay |
Cuts off after lag p |
AR(p) |
| MA(q) |
Cuts off after lag q |
Gradual decay |
MA(q) |
| ARMA |
Gradual decay |
Gradual decay |
ARMA(p,q) |
| Seasonal |
Spikes at seasonal lags |
Spikes at seasonal lags |
SARIMA |
Confidence Bands
- Values outside the shaded bands are statistically significant
- Default bands are 95% confidence (±1.96/√n)
- Expect ~5% of lags to exceed bands by chance
Common Patterns
AR(1): PACF spike at lag 1, ACF exponential decay
MA(1): ACF spike at lag 1, PACF exponential decay
Seasonal (period=12): Spikes at lags 12, 24, 36...
Model Selection Guidelines
Based on Diagnostics
| Condition |
Recommended Approach |
| Stationary, no seasonality |
ARMA |
| Non-stationary, no seasonality |
ARIMA(p,d,q) |
| Stationary, seasonal |
SARIMA with D=0 |
| Non-stationary, seasonal |
SARIMA(p,d,q)(P,D,Q)m |
| Strong trend, weak seasonality |
Exponential smoothing (Holt) |
| Strong trend, strong seasonality |
Holt-Winters or SARIMA |
| Not forecastable |
Consider external regressors or accept limitations |
Rule of Thumb for ARIMA Orders
- Start with d from stationarity tests
- Use PACF cutoff for p (AR order)
- Use ACF cutoff for q (MA order)
- Keep p + q ≤ 4 for parsimony
- Use AIC/BIC for final selection
Data Quality Thresholds
| Metric |
Good |
Acceptable |
Concerning |
| Missing % |
< 1% |
1-5% |
> 5% |
| Min observations |
> 100 |
50-100 |
< 50 |
| Seasonal cycles |
> 3 |
2-3 |
< 2 |
References
- Hyndman, R.J., & Athanasopoulos, G. (2021). Forecasting: Principles and Practice, 3rd edition
- Box, G.E.P., Jenkins, G.M., Reinsel, G.C., & Ljung, G.M. (2015). Time Series Analysis, 5th edition
- Cleveland, R.B., et al. (1990). STL: A Seasonal-Trend Decomposition Procedure Based on Loess
1---2name: 2404-interpretation-1d6219a63description: Quick Reference: Interpreting Time Series Diagnostics4---5# Quick Reference: Interpreting Time Series Diagnostics67## Stationarity Tests89### ADF (Augmented Dickey-Fuller)1011| p-value | Interpretation |12|---------|----------------|13| ≤ 0.01 | Strong evidence of stationarity |14| ≤ 0.05 | Stationary (reject null) |15| > 0.05 | Non-stationary (fail to reject) |1617**Null hypothesis:** Series has a unit root (non-stationary)1819### KPSS (Kwiatkowski-Phillips-Schmidt-Shin)2021| p-value | Interpretation |22|---------|----------------|23| > 0.10 | Stationary (fail to reject) |24| > 0.05 | Likely stationary |25| ≤ 0.05 | Non-stationary (reject null) |2627**Null hypothesis:** Series is stationary (opposite of ADF)2829### Combined Interpretation3031| ADF | KPSS | Conclusion |32|-----|------|------------|33| Stationary | Stationary | Confirmed stationary |34| Non-stationary | Non-stationary | Confirmed non-stationary |35| Stationary | Non-stationary | Trend-stationary (difference or detrend) |36| Non-stationary | Stationary | Difference-stationary (may need differencing) |3738### Differencing (d)3940| d value | Meaning | Common causes |41|---------|---------|---------------|42| 0 | Already stationary | Stationary process |43| 1 | First difference needed | Trend, random walk |44| 2 | Second difference needed | Quadratic trend, I(2) process |4546**Warning:** If d=2 and still non-stationary, consider:47- Structural breaks in the data48- Non-linear trends49- Regime changes5051---5253## Seasonality5455### Seasonal Strength5657| Strength | Interpretation |58|----------|----------------|59| 0.0 - 0.1 | No meaningful seasonality |60| 0.1 - 0.3 | Weak seasonality |61| 0.3 - 0.6 | Moderate seasonality |62| 0.6 - 0.9 | Strong seasonality |63| > 0.9 | Very strong seasonality |6465### Common Seasonal Periods6667| Data Frequency | Typical Period | Meaning |68|----------------|----------------|---------|69| Hourly | 24 | Daily cycle |70| Hourly | 168 | Weekly cycle (24 × 7) |71| Daily | 7 | Weekly cycle |72| Daily | 365 | Yearly cycle |73| Weekly | 52 | Yearly cycle |74| Monthly | 12 | Yearly cycle |75| Quarterly | 4 | Yearly cycle |7677---7879## Trend8081### Trend Strength8283| Strength | Interpretation |84|----------|----------------|85| 0.0 - 0.1 | No meaningful trend |86| 0.1 - 0.3 | Weak trend |87| 0.3 - 0.6 | Moderate trend |88| 0.6 - 0.9 | Strong trend |89| > 0.9 | Dominant trend |9091### Direction9293| Direction | Meaning |94|-----------|---------|95| increasing | Upward long-term movement |96| decreasing | Downward long-term movement |97| flat | No significant directional movement |9899---100101## Forecastability (Ljung-Box Test)102103### Interpretation104105| p-value | Interpretation |106|---------|----------------|107| ≤ 0.01 | Strong autocorrelation - highly forecastable |108| ≤ 0.05 | Significant autocorrelation - forecastable |109| > 0.05 | No significant autocorrelation - may be white noise |110| > 0.10 | Likely white noise - not forecastable |111112**Null hypothesis:** No autocorrelation (white noise)113114### What This Means115116- **Forecastable:** Past values contain information about future values117- **Not forecastable (white noise):** Future values are random, cannot be predicted from history118119---120121## Transform Recommendations122123### Box-Cox Lambda Interpretation124125| Lambda (λ) | Recommended Transform |126|------------|----------------------|127| λ ≈ -1 | Inverse (1/y) |128| λ ≈ -0.5 | Inverse square root (1/√y) |129| λ ≈ 0 | Log transform (log y) |130| λ ≈ 0.5 | Square root (√y) |131| λ ≈ 1 | No transform needed |132| λ ≈ 2 | Square (y²) |133134### When to Transform135136| Symptom | Likely Transform |137|---------|------------------|138| Variance increases with level | Log or sqrt |139| Right-skewed distribution | Log |140| Multiplicative seasonality | Log |141| Heteroscedastic residuals | Box-Cox |142143### Requirements144145- **Log transform:** All values must be positive (y > 0)146- **Box-Cox:** All values must be positive147- **Shift:** If data has zeros or negatives, add constant first148149---150151## ACF/PACF Interpretation152153### Reading the Plots154155| Pattern | ACF | PACF | Suggested Model |156|---------|-----|------|-----------------|157| AR(p) | Gradual decay | Cuts off after lag p | AR(p) |158| MA(q) | Cuts off after lag q | Gradual decay | MA(q) |159| ARMA | Gradual decay | Gradual decay | ARMA(p,q) |160| Seasonal | Spikes at seasonal lags | Spikes at seasonal lags | SARIMA |161162### Confidence Bands163164- Values outside the shaded bands are statistically significant165- Default bands are 95% confidence (±1.96/√n)166- Expect ~5% of lags to exceed bands by chance167168### Common Patterns169170**AR(1):** PACF spike at lag 1, ACF exponential decay171**MA(1):** ACF spike at lag 1, PACF exponential decay172**Seasonal (period=12):** Spikes at lags 12, 24, 36...173174---175176## Model Selection Guidelines177178### Based on Diagnostics179180| Condition | Recommended Approach |181|-----------|---------------------|182| Stationary, no seasonality | ARMA |183| Non-stationary, no seasonality | ARIMA(p,d,q) |184| Stationary, seasonal | SARIMA with D=0 |185| Non-stationary, seasonal | SARIMA(p,d,q)(P,D,Q)m |186| Strong trend, weak seasonality | Exponential smoothing (Holt) |187| Strong trend, strong seasonality | Holt-Winters or SARIMA |188| Not forecastable | Consider external regressors or accept limitations |189190### Rule of Thumb for ARIMA Orders191192- Start with d from stationarity tests193- Use PACF cutoff for p (AR order)194- Use ACF cutoff for q (MA order)195- Keep p + q ≤ 4 for parsimony196- Use AIC/BIC for final selection197198---199200## Data Quality Thresholds201202| Metric | Good | Acceptable | Concerning |203|--------|------|------------|------------|204| Missing % | < 1% | 1-5% | > 5% |205| Min observations | > 100 | 50-100 | < 50 |206| Seasonal cycles | > 3 | 2-3 | < 2 |207208---209210## References211212- Hyndman, R.J., & Athanasopoulos, G. (2021). *Forecasting: Principles and Practice*, 3rd edition213- Box, G.E.P., Jenkins, G.M., Reinsel, G.C., & Ljung, G.M. (2015). *Time Series Analysis*, 5th edition214- Cleveland, R.B., et al. (1990). STL: A Seasonal-Trend Decomposition Procedure Based on Loess