Learn R Programming

VGAMextra (version 0.0-6)

checkTS.VGAMextra: Polynomial roots based on transfer operators in Vector Generalized Time Series Family Functions

Description

checkTS.VGAMextra computes the polynomial roots as per transfer operator in Vector Generalized Time Series Family Functions in VGAMextra

Usage

checkTS.VGAMextra(thetaEst = NULL, 
                          tsclass  = c("AR", "MA"), 
                          chOrder  = 1,
                          NofS     = 1,
                          retmod   = TRUE,
                          pRoots   = TRUE)

Value

A vector whose elements are the roots of polynomials inherited

from transfer operators according to the process analyzed.

Alternatively, the modules of roots can by returned instead of merely roots via the retmod argument.

Arguments

thetaEst

A vector of coefficients. Its lenght must be NofS * chOrder. If vglm is called, then thetaEst contains the estimated coefficients of the model specified in formula .

tsclass

Character indicating the model class to be checked. Presently, options "AR" and "MA" are handled.

chOrder

Positive integer. The order of polynomial associated to the underlying procees involved: either $p$ or $q$, which apply for "AR" or "MA" rspectively.

NofS

A positive integer denoting the number of Time Series to verify. In the vglm environment, NofS is the number of responses given in formula.

retmod

Logical. If TRUE (default), the Module of all roots as per transfer operator in the process established in tsclass is returned. Else, essentially the roots are returned.

pRoots

Logical. If TRUE (default), the roots computed from estimated models are displayed along with the time series family function execution.

Author

Victor Miranda and T. W. Yee.

Warning

The argument thetaEst manages the coefficients of the TS model(s) in turn. Then, it must be NofS * chOrder length, where NofS is the number of responses established in the vglm call. Here the coefficients for each response must be sequentially groped.

A moving average process is always stationary (See Madsen (2007) for further details). Consequently, the MAXff in VGAMextra verifies (by default) only for invertibility. To enable this option set nowarning = FALSE in the MAXff call.

Similarly, ARXff verifies whether the TS data fitted is stationary, whereas ARMAXff() verifies both properties.

Details

Stationarity and/or Invertibility of time series (TS) are usually verified via the roots of the polynomial derived from the transfer operators.

In particular, checkTS.VGAMextra computes such roots via the coefficients estimated by vector generalized TS family functions available in VGAMextra ( ARXff, and MAXff).

Specifically, checkTS.VGAMextra verifies whether the TS analyzed via vglm is stationary or invertible, accordingly.

Note that an autoregressive process of order-\(p\) [AR(\(p\))] with coefficients \(\theta_{1}, \ldots, \theta_{p}\) can be written in the form $$ \theta(B) Y_{t} = \varepsilon_{t}, $$ where $$ \theta(B) = 1 - \sum_{k = 1}^{p} \theta_{k} B^{k} $$ Here, \( \theta(B) \) is referred to as the transfer operator of the process, and \(B^{k} Y_{t} = Y_{t - k},\), for \(k = 0, 1, \ldots,p\), is the lagged single-function.

In general, an autoregressive process of order-\(p\) is stationary if the roots of $$ \theta(z) = 1 - \theta_{1} z - \ldots - \theta_{q} z^q $$ lie outside the unit circle, i.e. \(|z| > 1\).

Similarly, a moving-average process of order-q can be formulated (without loss of generality \(\mu = 0\))

$$ Y_{t} = \psi(B) \varepsilon_{t}, $$

where \( \psi(B) \) is the transfer operator, given by

$$ \psi(B) = 1 + \sum_{k = 1}^{q} \psi_{k} B^{k}, $$ Note that \( \psi_{0} = 1 \), and \(B^{k} \varepsilon_{t} = \varepsilon{t - k} \).

Hence, a moving-average process of order-\(q\) [MA(\(q\))], generally given by (note \(\mu = 0\)) $$Y_{t} = \phi_1 \varepsilon_{t - 1} + \ldots + \phi_q \varepsilon_{t - q} + \varepsilon_{t},$$ is invertible if all the roots of

$$ \phi(B) = 1 + \phi_{1} B + \ldots + \phi_{q} B^q $$ lie outside the unit circle., i.e.m \(|z| > 1\).

Parallel arguments can be stated for autoregressive moving aberage processes (ARMA). See Box and Jenkins (1970) for further details.

References

Box, G.E.P. and Jenkins, G.M. (1970) Time Series Analysis: Forecasting and Control. Holden-Day, San Francisco, USA.

Madsen, H (2007) Time Series Analysis. Chapman and Hall/CRC, Boca Raton, Florida, USA.

Examples

Run this code


# A moving average process order-3 with coeffs --> c(2.4, -5.6, 0.83)
#-------------------------#
# This is NOT invertible !
#-------------------------#

MAcoeffs <- c(2.4, -5.6, 0.83)
checkTS.VGAMextra(thetaEst = MAcoeffs, 
                  tsclass = "MA", 
                  chOrder = 3,
                  retmod = FALSE)


# AR process order-3 with coeffs --> c( 0.45, 0.45^2, 0.45^3 )
#-------------------------#
# This is stationary !
#-------------------------#

ARcoeffs <- c( 0.45 , 0.45^2 , 0.45^3 )
checkTS.VGAMextra(thetaEst = ARcoeffs, 
                  tsclass = "AR", 
                  chOrder = 3,
                  retmod = TRUE,
                  pRoots = TRUE)  # DEFAULT for 'pRoots'

Run the code above in your browser using DataLab