fracdiff {fracdiff}R Documentation

ML Estimates for Fractionally-Differenced ARIMA (p,d,q) models

Description

Calculates the maximum likelihood estimators of the parameters of a fractionally-differenced ARIMA (p,d,q) model, together (if possible) with their estimated covariance and correlation matrices and standard errors, as well as the value of the maximized likelihood. The likelihood is approximated using the fast and accurate method of Haslett and Raftery (1989).

Usage

fracdiff(x, nar = 0, nma = 0,
         ar = rep(NA, max(nar, 1)), ma = rep(NA, max(nma, 1)),
         dtol = NULL, drange = c(0, 0.5), h, M = 100, trace = 0)

Arguments

x

time series (numeric vector) for the ARIMA model

nar

number of autoregressive parameters p.

nma

number of moving average parameters q.

ar

initial autoregressive parameters

ma

initial moving average parameters

dtol

interval of uncertainty for d. If dtol is negative or NULL, the fourth root of machine precision will be used. dtol will be altered if necessary by the program.

drange

interval over which the likelihood function is to be maximized as a function of d.

h

size of finite difference interval for numerical derivatives. By default (or if negative), h = min(0.1, eps.5 * (1+ abs(cllf))), where clff := log. max.likelihood (as returned) and eps.5 := sqrt(.Machine$double.neg.eps) (typically 1.05e-8).

This is used to compute a finite difference approximation to the Hessian, and hence only influences the cov, cor, and std.error computations; see also fracdiff.var.

M

number of terms in the likelihood approximation (see Haslett and Raftery 1989).

trace

optional integer, specifying a trace level. If positive, currently the “outer loop” iterations produce one line of diagnostic output.

Value

an object of S3 class "fracdiff", which is a list with components:

log.likelihood

logarithm of the maximum likelihood

d

optimal fractional-differencing parameter

ar

vector of optimal autoregressive parameters

ma

vector of optimal moving average parameters

covariance.dpq

covariance matrix of the parameter estimates (order : d, ar, ma).

stderror.dpq

standard errors of the parameter estimates c(d, ar, ma).

correlation.dpq

correlation matrix of the parameter estimates (order : d, ar, ma).

h

interval used for numerical derivatives, see h argument.

dtol

interval of uncertainty for d; possibly altered from input dtol.

M

as input.

hessian.dpq

the approximate Hessian matrix H of 2nd order partial derivatives of the likelihood with respect to the parameters; this is (internally) used to compute covariance.dpq, the approximate asymptotic covariance matrix as C = (-H)^{-1}.

Method

The optimization is carried out in two levels:
an outer univariate unimodal optimization in d over the interval drange (typically [0,.5]), using Brent's fmin algorithm), and
an inner nonlinear least-squares optimization in the AR and MA parameters to minimize white noise variance (uses the MINPACK subroutine lmDER). written by Chris Fraley (March 1991).

Note

Ordinarily, nar and nma should not be too large (say < 10) to avoid degeneracy in the model. The function fracdiff.sim is available for generating test problems.

References

J. Haslett and A. E. Raftery (1989) Space-time Modelling with Long-memory Dependence: Assessing Ireland's Wind Power Resource (with Discussion); Applied Statistics 38, 1–50.

R. Brent (1973) Algorithms for Minimization without Derivatives, Prentice-Hall

J. J. More, B. S. Garbow, and K. E. Hillstrom (1980) Users Guide for MINPACK-1, Technical Report ANL-80-74, Applied Mathematics Division, Argonne National Laboratory.

See Also

coef.fracdiff and other methods for "fracdiff" objects; fracdiff.sim

Examples

ts.test <- fracdiff.sim( 5000, ar = .2, ma = -.4, d = .3)
fd. <- fracdiff( ts.test$series,
                 nar = length(ts.test$ar), nma = length(ts.test$ma))
fd.
## Confidence intervals
confint(fd.)

## with iteration output
fd2 <- fracdiff(ts.test$series, nar = 1, nma = 1, trace = 1)
all.equal(fd., fd2)

[Package fracdiff version 1.4-1 Index]