Learn R Programming

timsac (version 1.3.8)

decomp: 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)

Value

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.

Arguments

y

a univariate time series with or without the tsp attribute.

trend.order

trend order (0, 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 data 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.

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\).

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

Run this code
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

Run the code above in your browser using DataLab