Learn R Programming

FitAR (version 1.94)

FitARp: Fit subset ARp Models

Description

The subset ARp is defined as an AR(p) in which some of the ar-coefficients are constrained to zero. This is the usual type of subset AR. In contrast the ARz model constrains some of the partial autocorrelation coefficients to zero.

Usage

FitARp(z, p, lag.max = "default", MLEQ = FALSE)

Arguments

z
time series, vector or ts object
p
p specifies the model. If length(p) is 1, an AR(p) is assumed and if p has length greater than 1, a subset ARp is assumed. For example, to fit a subset model with lags 1 and 4 present set p to c(1,4) or equivalently c(1,0,0,4). To fit a subset model with just lag 4, you must use p=c(0,0,0,4) since p=4 will fit a full AR(4).
lag.max
the residual autocorrelations are tabulated for lags 1, ..., lag.max. Also lag.max is used for the Ljung-Box portmanteau test.
MLEQ
TRUE, use MLE. FALSE, use LS

Value

A list with class name "FitAR" and components:
loglikelihood
value of the loglikelihood
phiHat
coefficients in AR(p) -- including 0's
sigsqHat
innovation variance estimate
muHat
estimate of the mean
covHat
covariance matrix of the coefficient estimates
zetaHat
transformed parameters, length(zetaHat) = \# coefficients estimated
RacfMatrix
residual autocorrelations and sd for lags 1, ..., lag.max
LjungBox
table of Ljung-Box portmanteau test statistics
SubsetQ
parameters in AR(p) -- including 0's
res
innovation residuals, same length as z
fits
fitted values, same length as z
pvec
lags used in AR model
demean
TRUE if mean estimated otherwise assumed zero
FitMethod
"MLE" or "LS"
IterationCount
number of iterations in mean mle estimation
convergence
value returned by optim -- should be 0
MLEMeanQ
TRUE if mle for mean algorithm used
ARModel
"ARp" if FitARp used, otherwise "ARz"
tsp
tsp(z)
call
result from match.call() showing how the function was called
ModelTitle
description of model
DataTitle
returns attr(z,"title")
z
time series data input

Details

Subset ARp model is fit using exact MLE. The built-in arima function is used for MLE. When MLEQ=FALSE, LS is used. LS is has been widely used in past for subset ARp fiting.

References

McLeod, A.I. and Zhang, Y. (2006). Partial Autocorrelation Parameterization for Subset Autoregression. Journal of Time Series Analysis, 27, 599-612.

McLeod, A.I. and Zhang, Y. (2008a). Faster ARMA Maximum Likelihood Estimation, Computational Statistics and Data Analysis 52-4, 2166-2176. DOI link: http://dx.doi.org/10.1016/j.csda.2007.07.020.

McLeod, A.I. and Zhang, Y. (2008b, Submitted). Improved Subset Autoregression: With R Package. Journal of Statistical Software.

See Also

FitAR, FitARz, GetFitARz, FitARp, GetFitARpMLE, RacfPlot

Examples

Run this code
#First Example: Fit to AR(4) 
set.seed(3323)
phi<-c(2.7607,-3.8106,2.6535,-0.9238)
z<-SimulateGaussianAR(phi,1000)
#MLE using arima
ans1<-FitARp(z,4,MLEQ=TRUE)
ans1
coef(ans1)
#OLS
ans2<-FitARp(z,4,MLEQ=FALSE)
ans2
coef(ans2)

## Not run: #save time building package
# #Second Example: Fit subset ARp model
# z<-log(lynx)
# #MLE
# FitARp(z, c(1,2,4,7,10,11),MLEQ=TRUE)
# #LS
# FitARp(z, c(1,2,4,7,10,11),MLEQ=FALSE)
# 
# #Third Example: Use UBIC model selection to fit subset models
# z<-log(lynx)
# p<-SelectModel(z,ARModel="ARp")[[1]]$p
# #MLE #error returned by arima
# #ans1<-FitARp(z, p, MLEQ=TRUE)
# #ans1
# #LS
# ans2<-FitARp(z, p, MLEQ=FALSE)
# ans2
# ## End(Not run)

Run the code above in your browser using DataLab