You are on page 1of 10

Seasonal ARIMA Models

• Many time series collected on a monthly or quarterly basis


have seasonal behavior.

• Similarly hourly data and daily behavior.

• E.g. Johnson & Johnson quarterly earnings; discussion typi-


cally focuses on comparison with:

– previous quarter ;

– same quarter, previous year.

1
• That is, we compare xt with xt−1 and xt−4.

• More generally, we compare xt with xt−1 and xt−s, where

– s = 4 for quarterly data,

– s = 12 for monthly data,

– s = 24 for daily effects in hourly data,

– s = 168 for weekly effects in hourly data,

etc.

• This suggests modeling xt in terms of xt−1 and xt−s.

2
Pure Seasonal ARMA

• The pure seasonal ARMA model has the form


xt = Φ1xt−s + Φ2xt−2s + · · · + ΦP xt−P s
+ wt + Θ1wt−s + Θ2wt−2s + · · · + ΘQwt−Qs.

• Notation: ARMA(P, Q)s.

• In operator form:
ΦP (B s)xt = ΘQ(B s)wt.

• ΦP (B s) and ΘQ(B s) are seasonal autoregressive and moving


average operators.

3
Multiplicative Seasonal ARMA

• ACF of pure seasonal ARMA is nonzero only at lags s, 2s,


. . . ; most seasonal time series have other nonzero values.

(s)
• For such series, wt = ΘQ(B s)−1ΦP (B s)xt is not white noise
for any choice of ΦP and ΘQ.

(s)
• But suppose that for some ΦP and ΘQ, wt is ARMA(p, q):
(s)
φp(B)wt = θq (B)wt,
where {wt} is white noise.

4
• Then xt satisfies

ΦP (B s)φp(B)xt = ΘQ(B s)θq (B)wt.

• This is the Multiplicative Seasonal ARMA model


ARMA(p, q) × (P, Q)s.

• The non-seasonal parts φp and θq control short-term corre-


lations (up to half a season, lag ≈ s/2), while the seasonal
parts ΦP and ΘQ control the decay of the correlations over
multiple seasons.

5
Example: Johnson & Johnson earnings; R analysis

par(mfrow = c(2, 1))


plot(log(jj))
jjl = lm(log(jj) ~ time(jj) + factor(cycle(jj)))
summary(aov(jjl))
jjf = ts(fitted(jjl), start = start(jj),
frequency = frequency(jj))
lines(jjf, col = 2, lty = 2)
jjr = ts(residuals(jjl), start = start(jj),
frequency = frequency(jj))
plot(jjr)
acf(jjr)
pacf(jjr)

6
• PACF is simpler than ACF:

– ACF spikes at lags 4, 8, perhaps 12; of these, PACF spikes


only at lag 4;

– apart from lags 4, 8, . . . , PACF drops off faster.

• (P)ACF indicates neither simple ARMA nor simple ARMA4.

• PACF suggests ARMA(2, 0) × (1, 0)4:

jja = arima(jjr, order = c(2, 0, 0),


seasonal = list(order = c(1, 0, 0), period = 4))
print(jja)
tsdiag(jja)

7
• Note: the original fit of the straight line and seasonal dum-
mies was by OLS;

– possibly inefficient;

– invalid inferences (standard errors, etc.).

• Solution: refit as part of the time series model.

x = model.matrix( ~ time(jj) + factor(cycle(jj)))


jja = arima(log(jj), order = c(2, 0, 0),
seasonal = list(order = c(1, 0, 0), period = 4),
xreg = x, include.mean = FALSE)
print(jja)
tsdiag(jja)

8
Notes:

• The time series being fitted is the original unadjusted log(jj).

• The regressors are specified as the matrix argument xreg.

• arima does not check for linear dependence, so we must either


omit one dummy variable from xreg or use include.mean =
FALSE in arima.

• Regression parameter estimates are similar to OLS, but stan-


dard errors are roughly doubled.

• Using SAS: proc arima program and output.

9
Multiplicative Seasonal ARIMA

• The seasonal difference operator is ∇s = 1 − B s.

• Some series show slow decay of ACF only at lags s, 2s, . . . ,


which suggests seasonal differencing.

– But note: seasonal means also give slow decay of ACF at


those lags.

• The Multiplicative Seasonal ARIMA model


ARIMA(p, d, q) × (P, D, Q)s is

ΦP (B s)φp(B)∇D
s ∇ d x = Θ (B s )θ (B)w .
t Q q t

10

You might also like