50% off | Unlimited Data & AI Learning
Get 50% off unlimited learning

timsac (version 1.3.8-4)

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

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

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(t1)+v1(t)

    m1=2:T(t)=2T(t1)T(t2)+v1(t)

    m1=3:T(t)=3T(t1)3T(t2)+T(t2)+v1(t)

  • AR component (ar.order m2)

    AR(t)=a(1)AR(t1)++a(m2)AR(tm2)+v2(t)

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

    k=1:S(t)=S(t1)S(tf+1)+v3(t)
    k=2:S(t)=2S(t1)f S(tf+1)S(t2f+2)+v3(t)

  • Trading day effect

    TD(t)=b(1)TRADE(t,1)++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) +  + 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