EconStatsCraft › Decompose & filter

Decompose & filter

Split a series into trend, seasonal and irregular parts, or extract the business cycle with the Hodrick–Prescott, Baxter–King and Christiano–Fitzgerald filters.

What it needs

The intuition

Most macro and business series are three things at once: where the level is heading, a pattern that repeats every year, and everything else. Separating them lets you ask the right question - "is unemployment genuinely falling, or is it just always low in December?"

When to use it

Any seasonal series before modelling, and any macro series where the question is about the cycle rather than the level.

Where the estimator comes from

Classical decomposition estimates the trend with a centred moving average of length equal to the seasonal period, averages the detrended values by position in the cycle to get the seasonal factors, and calls the remainder irregular. STL replaces the moving average with iterated LOESS smoothing, which lets the seasonal shape evolve and makes the whole thing robust to outliers. The HP filter instead solves \min_{\tau}\sum_t (y_t-\tau_t)^2+\lambda\sum_t\left[(\tau_{t+1}-\tau_t)-(\tau_t-\tau_{t-1})\right]^2, trading fit against smoothness of the trend.

The model

y_t=T_t+S_t+R_t \quad\text{(additive)}\qquad y_t=T_t\times S_t\times R_t \quad\text{(multiplicative)}

What it assumes

Statistical properties

How to read the output

A worked reading

STL on quarterly inflation: the trend explains 71% of the variance, seasonality 12%, remainder 17%. Peak at position 2 and trough at position 4 means Q2 inflation is systematically above trend and Q4 below - so comparing raw Q2 to raw Q4 would overstate any slowdown.

Symptom → diagnosis → what to do

If you see thisIt meansDo this
Remainder still shows a clear patternWrong periodTry 4 for quarterly, 12 for monthly, 7 for daily
Seasonal amplitude grows with the levelMultiplicative seasonalityUse the multiplicative model, or take logs first
Trend wiggles implausiblyλ too smallRaise λ, or use a band-pass filter
Cycle looks different at the sample endsEnd-point problemDo not interpret the last few periods; say so
STL and classical disagreeThe seasonal pattern is evolvingTrust STL and report that seasonality changed

Common mistakes

Where to read this properly

See also

Spectral analysis finds the period when you do not know it; SARIMA models seasonality rather than removing it.

Related Time series - one series

Time-varying coefficients (Kalman) · Unit root tests · Correlogram (ACF / PACF) · ARIMA / SARIMA · Rolling-origin cross-validation · Theta method · Unobserved components · STL forecasting · Forecast combination · Markov regime switching · Change frequency (resample) · ARCH / GARCH volatility · Spectral analysis · Exponential smoothing · Forecast accuracy

All analyses

Charts

Line chart · Area chart · Bar chart · Stacked bar · Scatter plot · Bubble chart · Histogram · Box plot · Pie chart · Heat map · Rebased to 100 · Lorenz curve and Gini

Maps

World map · Bivariate map · Flow map · India - state map · India - district map

Explore

Descriptive statistics · Summary by group · Two-way table · Classical statistical tests

Regression

Multiple regression (OLS) · Logit / Probit · Tobit (censored) · Truncated regression · Multinomial logit · Ordered logit / probit · Quantile regression · Poisson / Negative binomial

Time series - one series

Time-varying coefficients (Kalman) · Unit root tests · Correlogram (ACF / PACF) · ARIMA / SARIMA · Rolling-origin cross-validation · Theta method · Unobserved components · STL forecasting · Forecast combination · Markov regime switching · Change frequency (resample) · ARCH / GARCH volatility · Decompose & filter · Spectral analysis · Exponential smoothing · Forecast accuracy

Time series - several series

Yield curve (Nelson–Siegel / Svensson) · Dynamic factor model · Dynamic regression (ARIMAX) · Structural VAR · VAR · Granger causality · Cointegration · VECM · ARDL & bounds test

Panel data

Panel regression · Panel cointegration tests · Heterogeneous panel: Mean Group & PMG · Gravity model of trade · Dynamic panel GMM · Panel diagnostics · Panel unit-root tests

Multivariate statistics

Principal components (PCA) · Factor analysis · Cluster analysis

Marketing research

Conjoint analysis · MaxDiff (best–worst scaling) · TURF - reach of a product line · Price sensitivity (Van Westendorp) · Market basket analysis · Perceptual map · Scale reliability (Cronbach’s alpha) · Key driver analysis

Causal

Spatial autocorrelation · Spatial regression · Heckman selection · Instrumental variables (2SLS) · Difference-in-differences · Staggered difference-in-differences · Regression discontinuity · Matching & weighting · Oaxaca–Blinder decomposition

Finance & risk

Black–Scholes option pricing · Bond price, duration & convexity · Merton distance to default · EMI / home loan planner · CAPM / beta estimation · Multi-factor model · Portfolio optimization · Value at Risk & Expected Shortfall · Performance & drawdown · Time value of money & NPV/IRR · Equity valuation (DDM, FCF, residual income) · Cost of capital (WACC) · Binomial option pricing · Option strategies (payoff & profit) · Forwards, futures & swaps · Credit risk & Basel capital · Extreme value theory (tail risk)

Actuarial

Life table · Life annuity · Life insurance pricing · Chain ladder reserving · Buhlmann credibility · Survival analysis · Mortality graduation · Aggregate loss model · Ruin probability · Multi-state Markov model · Loss severity fitting

Tests & breaks

Monte Carlo experiment · F-test, Wald & Chow · Structural breaks & stability

Machine learning

Regression vs machine learning · Ridge / Lasso / Elastic Net · Random forest · Gradient boosting

Open the workspace →

Starting engine…

EconStatsCraft rigorous, plain-spoken econometrics

Econometrics that explains itself.

Regression, panel data, time series and the whole battery of tests. Every result is followed by a verdict you can defend.

Load a dataset to see it here.