decomp: Time Series Decomposition (Seasonal Adjustment) by...

View source: R/timsac84.R

decompR Documentation

Time Series Decomposition (Seasonal Adjustment) by Square-Root Filter

Description

Decompose a nonstationary time series into several possible components by square-root filter.

Usage

  decomp(y, trend.order = 2, ar.order = 2, seasonal.order = 1, 
         period = 1, log = FALSE, trade = FALSE, diff = 1,
         miss = 0, omax = 99999.9, plot = TRUE, ...)

Arguments

y

a univariate time series with or without the tsp attribute.

trend.order

trend order (1, 2 or 3).

ar.order

AR order (less than 11, try 2 first).

seasonal.order

seasonal order (0, 1 or 2).

period

number of seasons in one period. If the tsp attribute of y is not NULL, frequency(y).

log

logical; if TRUE, a log scale is in use.

trade

logical; if TRUE, the model including trading day effect component is concidered, where tsp(y) is not null and frequency(y) is 4 or 12.

diff

numerical differencing (1 sided or 2 sided).

miss

missing value flag.

= 0 : no consideration
> 0 : values which are greater than omax are treated as missing data
< 0 : values which are less than omax are treated as missing data
omax

maximum or minimum data value (if miss > 0 or miss < 0).

plot

logical. If TRUE (default), trend, seasonal, ar and trad are plotted.

...

graphical arguments passed to plot.decomp.

Details

The Basic Model

y(t) = T(t) + AR(t) + S(t) + TD(t) + W(t)

where T(t) is trend component, AR(t) is AR process, S(t) is seasonal component, TD(t) is trading day factor and W(t) is observational noise.

Component Models

  • Trend component (trend.order m1)

    m1 = 1 : T(t) = T(t-1) + v1(t)

    m1 = 2 : T(t) = 2T(t-1) - T(t-2) + v1(t)

    m1 = 3 : T(t) = 3T(t-1) - 3T(t-2) + T(t-2) + v1(t)

  • AR component (ar.order m2)

    AR(t) = a(1)AR(t-1) + \ldots + a(m2)AR(t-m2) + v2(t)

  • Seasonal component (seasonal.order k, frequency f)

    k=1 : S(t) = -S(t-1) - \ldots - S(t-f+1) + v3(t)
    k=2 : S(t) = -2S(t-1) - \ldots -f\ S(t-f+1) - \ldots - S(t-2f+2) + v3(t)

  • Trading day effect

    TD(t) = b(1) TRADE(t,1) + \ldots + b(7) TRADE(t,7)

    where TRADE(t,i) is the number of i-th days of the week in t-th data and b(1)\ +\ \ldots\ +\ b(7)\ =\ 0.

Value

An object of class "decomp", which is a list with the following components:

trend

trend component.

seasonal

seasonal component.

ar

AR process.

trad

trading day factor.

noise

observational noise.

aic

AIC.

lkhd

likelihood.

sigma2

sigma^2.

tau1

system noise variances v1.

tau2

system noise variances v2 or v3.

tau3

system noise variances v3.

arcoef

vector of AR coefficients.

tdf

trading day factor. tdf(i) (i=1,7) are from Sunday to Saturday sequentially.

conv.y

Missing values are replaced by NA after the specified logarithmic transformation..

References

G.Kitagawa (1981) A Nonstationary Time Series Model and Its Fitting by a Recursive Filter Journal of Time Series Analysis, Vol.2, 103-116.

W.Gersch and G.Kitagawa (1983) The prediction of time series with Trends and Seasonalities Journal of Business and Economic Statistics, Vol.1, 253-264.

G.Kitagawa (1984) A smoothness priors-state space modeling of Time Series with Trend and Seasonality Journal of American Statistical Association, VOL.79, NO.386, 378-389.

Examples

data(Blsallfood)
y <- ts(Blsallfood, start=c(1967,1), frequency=12)
z <- decomp(y, trade = TRUE)
z$aic
z$lkhd
z$sigma2
z$tau1
z$tau2
z$tau3

timsac documentation built on Sept. 30, 2023, 5:06 p.m.