Example: AR(2) Xt=Xt−1−0.
9Xt−2+wt
Current value depends on last two values plus random shock. wt introduces new randomness at
each step. This can produce periodic or oscillatory behavior, depending on coefficients.
---
This compilation rigorously presents the content from the provided source on Time Series
Decomposition Models, preserving the original wording and structure exactly as requested.
LECTURE 3: TIME SERIES DECOMPOSITION MODELS
Rodel G. Aldema
2025-10-09
Purpose of Time Series Decomposition
Time series data can display different underlying patterns. To understand these, it’s often useful
to separate the series into several components, each representing a particular type of behavior
over time.
In time series analysis, we usually recognize three main components:
1. Trend-Cycle – the long-term movement or direction in the data, sometimes called simply
the trend.
2. Seasonal Component – regular and predictable fluctuations occurring within specific
periods.
3. Remainder (Irregular Component) – random noise or unexplained variation left after
removing trend and seasonality.
Why Decompose a Time Series?
To better understand the structure and dynamics of the data.
To isolate meaningful patterns that may help explain behavior over time.
To improve forecasting accuracy by modeling each component separately.
Additive vs. Multiplicative Models
Rule of thumb If the seasonal amplitude increases with the mean level, try a log/Box–Cox
transform and decompose additively on the transformed scale.
Additive: Use when seasonal swings are about the same size across the series.
o $y_t = T_t + S_t + R_t$.
Multiplicative: Use when seasonal swings grow/shrink with the level of the series.
o $y_t = T_t \times S_t \times R_t$.
Moving Averages
The classical method of time series decomposition originated in the 1920s and was widely used
until the 1950s. It still forms the basis of many time series decomposition methods, so it is
important to understand how it works. The first step in a classical decomposition is to use a
moving average method to estimate the trend-cycle, so we begin by discussing moving averages.
Moving Averages ($m$-MA)
A moving average of order $m$ can be written as $T̂ _t = \frac{1}{m} \sum_{j=-k}^{k} y_{t+j}
$ where $m = 2k + 1$. That is, the estimate of the trend-cycle at time $t$ is obtained by
averaging values of the time series within $k$ periods of $t$. Observations that are nearby in
time are also likely to be close in value. Therefore, the average eliminates some of the
randomness in the data, leaving a smooth trend-cycle component. We call this an $m$-MA,
meaning a moving average of order $m$.
Estimating the Trend-Cycle with Seasonal Data
The most common use of centred moving averages is for estimating the trend-cycle from
seasonal data. Consider the $2 \times 4$-MA: $T̂ _t = \frac{1}{8} y_{t-2} + \frac{1}{4} y_{t-1}
+ \frac{1}{4} y_t + \frac{1}{4} y_{t+1} + \frac{1}{8} y_{t+2}$.
When applied to quarterly data, each quarter of the year is given equal weight, as the first and
last terms apply to the same quarter in consecutive years. Consequently, the seasonal variation
will be averaged out, and the resulting values of $T̂ _t$ will have little or no seasonal variation
remaining. A similar effect would be obtained using a $2 \times 8$-MA or a $2 \times 12$-MA
on quarterly data.
In general, a $2 \times m$-MA is equivalent to a weighted moving average of order $m+1$,
where all observations take the weight $1/m$, except for the first and last terms, which take
weights $1/(2m)$. So, if the seasonal period is even and of order $m$, we use a $2 \times m$-
MA to estimate the trend-cycle. If the seasonal period is odd and of order $m$, we use an $m$-
MA to estimate the trend-cycle. For example, a $2 \times 12$-MA can be used to estimate the
trend-cycle of monthly data, and a 7-MA can be used to estimate the trend-cycle of daily data
with a weekly seasonality. Other choices for the order of the MA will usually result in trend-
cycle estimates being contaminated by the seasonality in the data.
Classical Decomposition
The classical decomposition method originated in the 1920s. It is a relatively simple procedure
and forms the starting point for most other methods of time series decomposition. There are two
forms of classical decomposition: an additive decomposition and a multiplicative decomposition.
These are described below for a time series with seasonal period $m$ (e.g., $m = 4$ for quarterly
data, $m = 12$ for monthly data, $m = 7$ for daily data with a weekly pattern). In classical
decomposition, we assume that the seasonal component is constant from year to year. For
multiplicative seasonality, the $m$ values that form the seasonal component are sometimes
called the “seasonal indices”.
Additive Decomposition
Additive decomposition is a classical method used to break down a time series into three main
components: trend-cycle, seasonal, and remainder. The goal is to express the observed series
$y_t$ as the sum of these parts: $y_t = T_t + S_t + R_t$.
$T_t$ represents the trend-cycle component (long-term movement).
$S_t$ represents the seasonal component (regular, repeating fluctuations).
$R_t$ represents the remainder component (irregular or random variation).
This method is most effective when the magnitude of seasonal fluctuations remains roughly
constant over time.
Step 1: Estimating the Trend-Cycle Component If the seasonal period $m$ is even, compute
the trend-cycle using a $2 \times m$ moving average (MA). If $m$ is odd, use an $m$-point
moving average instead. This step smooths short-term fluctuations and highlights the underlying
trend.
Step 2: Detrending the Series After obtaining $T̂ _t$, remove the trend from the data to focus
on seasonal and irregular patterns: $y_t - T̂ _t$. This detrended series isolates the deviations
around the long-term movement.
Step 3: Estimating the Seasonal Component For each season (e.g., month, quarter, or week),
calculate the average of the detrended values corresponding to that season. For instance, in
monthly data, the March seasonal component equals the average of all detrended March values
across the years. These averages are then adjusted so that they sum to zero, ensuring that the
seasonal effects don’t bias the overall level of the data. Repeating this seasonal pattern over time
gives the estimated seasonal component $Ŝ_t$.
Step 4: Calculating the Remainder Component Finally, remove both the estimated trend-cycle
and seasonal components from the original data: $R̂ _t = y_t - T̂ _t - Ŝ_t$. The remainder $R̂ _t$
represents random noise and short-term irregularities not captured by trend or seasonality.
Summary Interpretation (Additive Decomposition) Additive decomposition helps us
understand how different factors contribute to a time series. The trend-cycle reveals long-term
movements (e.g., gradual growth or decline). The seasonal component captures recurring
patterns (e.g., monthly or quarterly fluctuations). The remainder shows irregular changes due to
random events or external shocks.
Multiplicative Decomposition
A classical multiplicative decomposition is similar to the additive case, except that the
subtractions are replaced by divisions. The observed series is modeled as $y_t = T_t \times S_t \
times R_t$.
Step 1. Trend–cycle estimate If the seasonal period $m$ is even, compute the trend–cycle using
a $2 \times m$ moving average. If $m$ is odd, compute $T̂ _t$ using an $m$-point moving
average.
Step 2. Detrend the series Form the detrended series by dividing out the trend–cycle: $\
frac{y_t}{T̂ _t}$.
Step 3. Seasonal component For each season, average the detrended values for that season to
obtain seasonal indexes. Adjust these indexes so that they sum to $m$ (i.e., their mean is 1).
Replicate this sequence across the timeline to obtain the seasonal component $Ŝ_t$.
Step 4. Remainder Divide the original series by the estimated trend–cycle and seasonal
components: $R̂ _t = \frac{y_t}{T̂ _t Ŝ_t}$.
STL (Seasonal–Trend Decomposition Using LOESS)
STL decomposes a time series into trend, seasonal, and remainder components using locally
weighted regression (LOESS). We model the series additively: $y_t = T_t + S_t + R_t$.
Key ideas:
It is flexible (seasonality may change over time).
It handles any seasonal period.
It has a robust option to limit the influence of outliers.
Seasonal window controls how quickly the seasonal pattern can evolve.
$[Link] = $ "periodic" forces a fixed, repeating seasonal pattern.
$[Link] = k$ (odd integer) allows the seasonal shape to change slowly over time.
Trend window controls the smoothness of the trend–cycle.
$trend(window = k)$ (odd integer) with larger $(k) \implies$ smoother trend.
Robustness: $robust = TRUE$ downweights outliers, improving the stability of $S_t$
and $T_t$.
Works for any frequency $(m)$.
Unlike classical methods, STL can handle changing seasonality and missing values (after
reasonable interpolation/aggregation).
Algorithm sketch:
1. Iteratively estimate a smooth seasonal component ($S_t$) via LOESS within each season.
2. Remove seasonality and smooth the residuals to obtain the trend ($T_t$).
3. Compute the remainder ($R_t = y_t - T_t - S_t$).
4. (Optional) Reweight observations to reduce outlier influence and repeat.
Conclusion: Time Series Decomposition
Time Series Decomposition is a crucial step in understanding and analyzing time series data. By
breaking down a time series into its trend, seasonality, and residual components, we can gain
valuable insights for forecasting, anomaly detection, and decision-making. Depending on the
nature of your data, you can choose between additive and multiplicative decomposition methods.
Additionally, moving averages can be a useful tool for smoothing out data and simplifying
complex patterns. These techniques are essential for anyone working with time series data, from
financial analysts to data scientists, and can lead to more accurate predictions and better-
informed decisions.
The following is a compilation of the provided source material, organized into structured
sections to enhance readability, preserving the original wording exactly as requested.
Time Series Decomposition Interpretation
STT153 – Time Series Analysis Lecture
Rodel G. Aldema
Recap: Additive and Multiplicative Models
Before interpreting decomposition outputs, let’s recall what we have learned:
Additive model:
Seasonal variation remains constant over time. $= + +y_t T_t S_t R_t$
Multiplicative model:
Seasonal variation increases or decreases with the trend level. $= × ×y_t T_t S_t R_t$
What Does Decomposition Output Show?
When we decompose a series (e.g., using STL or classical decomposition), the output usually
shows four panels:
1. Original Series – the raw data before decomposition.
2. Trend Component ($T_t$) – shows long-term direction.
3. Seasonal Component ($S_t$) – captures repeating patterns.
4. Remainder ($R_t$) – residual variation unexplained by trend and seasonality.
Example: Additive Model
library(fpp3)
airpassengers <- as_tsibble(AirPassengers)
airpassengers %>% model(classical_decomposition(value, type =
"additive")) %>% components() %>% autoplot()
Interpreting the Four Panels (Additive Model)
1. Observed Series The raw time series with both trend and seasonal movement. In this
example, we can see growth over time and a repeating annual pattern.
2. Trend Component ($T_t$) Shows the long-term direction of the data. Increasing trend means
that the average level of the series is rising over time.
3. Seasonal Component ($S_t$) Represents the recurring pattern every cycle (e.g., months,
quarters). Seasonal highs and lows repeat regularly with roughly constant amplitude.
4. Random ($R_t$) Random noise left after removing trend and seasonality. Should appear
patternless — if not, further modeling (e.g., ARIMA) is needed.
Checking the Decomposition Quality (Additive Model)
Good decomposition should show:
Smooth trend line that reflects long-term changes.
Consistent seasonal pattern (stable peaks/troughs per period).
Random remainder (no leftover pattern).
You can verify randomness using the ACF plot of the remainder:
cmp <- AirPassengers %>% as_tsibble() %>%
model(classical_decomposition(value, type = "additive")) %>%
components()
ACF of the decomposition remainder
cmp %>% ACF(random) %>% autoplot()
Visual Inspection of the ACF Plot In the ACF (autocorrelation function) plot:
Each vertical bar represents the correlation of the series with itself at a specific lag (e.g.,
1 month, 2 months, …).
The blue dashed lines are the significance bounds (approximately $\pm1.96/\sqrt{N}$,
where $N$ is the sample size).
Interpretation: If bars exceed the blue dashed lines, there is a significant autocorrelation
at that lag. If most bars are within the blue lines, the series behaves like white noise (no
autocorrelation).
Based on the plot, the first few lags exceed the blue lines → there is still autocorrelation
in the residuals. This means that the the “random” component is not entirely random yet.
Example: Multiplicative Model
library(fpp3)
airpassengers <- as_tsibble(AirPassengers)
airpassengers %>% model(classical_decomposition(value, type =
"multiplicative")) %>% components() %>% autoplot()
Interpreting the Four Panels (Multiplicative Model)
1. Observed Series The top panel shows the original AirPassengers data (1949–1960). There is a
steady upward trend (air travel demand increases over time). The seasonal peaks grow taller each
year, meaning seasonal variation increases with the level of the series (classic sign that
multiplicative decomposition is appropriate).
2. Trend Component ($T_t$) The second panel captures the long-term growth in the number of
passengers. The trend line rises smoothly, showing consistent exponential growth in air travel
throughout the decade. This represents the underlying “baseline” of passenger numbers, free
from seasonal fluctuations.
3. Seasonal Component ($S_t$) The third panel displays multiplicative seasonal indices. Values
oscillate roughly between 0.8 and 1.2, meaning:
Months with a seasonal index of 1.2 are 20% above the trend (peak travel months,
typically summer).
Months with an index of 0.8 are 20% below the trend (off-season, usually early-year
months).
The pattern repeats annually, reflecting regular seasonal behavior in air travel.
4. Random ($R_t$) The bottom panel represents remaining variations not explained by the trend
or seasonality. Most values fluctuate close to 1.0, suggesting only minor deviations—evidence
that the model successfully removed systematic structure. A few points slightly above or below
indicate random noise or small anomalies, such as unusual travel conditions or data irregularities.
Checking the Decomposition Quality (Multiplicative Model)
cmp <- AirPassengers %>% as_tsibble() %>%
model(classical_decomposition(value, type = "multiplicative")) %>%
components()
ACF of the decomposition remainder
cmp %>% ACF(random) %>% autoplot()
Interpretation and Implications Even after multiplicative decomposition, there is still some
structure left in the residuals (especially at lag 1 and lag 12). This means:
The decomposition has captured most of the trend and seasonal variation, but
There remains some autocorrelation (the random component is not entirely white noise.)
Implications: The multiplicative model is a better fit than the additive one (fewer and smaller
significant spikes). However, it is not perfect due to the presence of autocorrelation, which
implies that there is remaining temporal dependence. To fully model this structure, the next step
is to use a time series model such as ARIMA, which can handle residual correlations more
effectively.
Summary and Conclusion
Why Interpret Decomposition? Understanding each component helps in:
Deciding whether to difference the data for stationarity.
-Identifying structural changes or anomalies.
Guiding forecasting models (e.g., ARIMA, ETS) with the right assumptions.
Summary
Decomposition separates time series into trend, seasonal, and remainder components.
Interpreting outputs helps determine the nature of patterns.
A good decomposition has smooth trends, stable seasonality, and random residuals.
These insights prepare us for the next step: stationary modeling and differencing.
Speaker notes