|
JMSLTM Numerical Library 4.0 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.imsl.stat.AutoCorrelation
Computes the sample autocorrelation function of a stationary time series.
AutoCorrelation
estimates the autocorrelation function
of a stationary time series given a sample of n observations
for
.
Let
be the estimate of the mean of the time series where The autocovariance function is estimated bywhere K = maximum_lag
. Note that is an estimate of the sample variance. The
autocorrelation function is estimated by
Note that by definition.
The standard errors of sample autocorrelations may be optionally
computed according to the getStandardErrors method argument
stderrMethod
. One method (Bartlett 1946) is based on a
general asymptotic expression for the variance of the sample
autocorrelation coefficient of a stationary time series with
independent, identically distributed normal errors. The theoretical
formula is
where assumes is unknown. For computational purposes, the autocorrelations are replaced by their estimates for , and the limits of summation are bounded because of the assumption that for all such that .
A second method (Moran 1947) utilizes an exact formula for the variance of the sample autocorrelation coefficient of a random process with independent, identically distributed normal errors. The theoretical formula is
where is assumed to be equal to zero. Note that this formula does not depend on the autocorrelation function.
The method getPartialAutoCorrelations
estimates the
partial autocorrelations of the stationary time series given K =
maximum_lag
sample autocorrelations for k=0,1,...,K. Consider the AR(k)
process defined by
This procedure is sensitive to rounding error and should not be used if the parameters are near the nonstationarity boundary. A possible alternative would be to estimate for successive AR(k) models using least or maximum likelihood. Based on the hypothesis that the true process is AR(p), Box and Jenkins (1976, page 65) note
See Box and Jenkins (1976, pages 82-84) for more information concerning the partial autocorrelation function.
Nested Class Summary | |
static class |
AutoCorrelation.NonPosVariancesException
The problem is ill-conditioned. |
Field Summary | |
static int |
BARTLETTS_FORMULA
Indicates standard error computation using Bartlett's formula. |
static int |
MORANS_FORMULA
Indicates standard error computation using Moran's formula. |
Constructor Summary | |
AutoCorrelation(double[] x,
int maximum_lag)
Constructor to compute the sample autocorrelation function of a stationary time series. |
Method Summary | |
double[] |
getAutoCorrelations()
Returns the autocorrelations of the time series x . |
double[] |
getAutoCovariances()
Returns the variance and autocovariances of the time series x . |
double |
getMean()
Returns the mean of the time series x . |
double[] |
getPartialAutoCorrelations()
Returns the sample partial autocorrelation function of the stationary time series x . |
double[] |
getStandardErrors(int stderrMethod)
Returns the standard errors of the autocorrelations of the time series x . |
double |
getVariance()
Returns the variance of the time series x . |
void |
setMean(double mean)
Estimate mean of the time series x . |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int BARTLETTS_FORMULA
public static final int MORANS_FORMULA
Constructor Detail |
public AutoCorrelation(double[] x, int maximum_lag)
x
- a one-dimensional double
array containing the
stationary time seriesmaximum_lag
- an int
containing the maximum lag of
autocovariance, autocorrelations, and standard
errors of autocorrelations to be computed.
maximum_lag
must be greater than or
equal to 1 and less than the number of observations
in x
Method Detail |
public double[] getAutoCorrelations()
x
.
double
array of length maximum_lag
+1 containing the autocorrelations of the time series
x
. The 0-th element of this array is 1. The
k-th element of this array contains the autocorrelation
of lag where k = 1, ...,
maximum_lag
.public double[] getAutoCovariances() throws AutoCorrelation.NonPosVariancesException
x
.
double
array of length maximum_lag
+1 containing the variances and autocovariances of the
time series x
. The 0-th element of the array
contains the variance of the time series x
. The
k-th element contains the autocovariance of lag k where
k = 1, ..., maximum_lag
.
AutoCorrelation.NonPosVariancesException
- is thrown if the problem is
ill-conditionedpublic double getMean()
x
.
double
containing the meanpublic double[] getPartialAutoCorrelations()
x
.
double
array of length maximum_lag
containing the partial autocorrelations of the time series
x
.public double[] getStandardErrors(int stderrMethod)
x
. Method of computation for standard errors of the
autocorrelation is chosen by the stderrMethod
parameter. If
stderrMethod
is set to BARTLETTS_FORMULA
,
Bartlett's formula is used to compute the standard errors of
autocorrelations. If stderrMethod
is set to
MORANS_FORMULA
, Moran's formula is used to compute the
standard errors of autocorrelations.
stderrMethod
- an int
specifying the method to
compute the standard errors of autocorrelations
of the time series x
double
array of length maximum_lag
containing the standard errors of the autocorrelations of the
time series x
public double getVariance()
x
.
double
containing the variance of the time series
x
public void setMean(double mean)
x
.
mean
- a double
containing the estimate mean of
the time series x
.
|
JMSLTM Numerical Library 4.0 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |