|
JMSLTM Numerical Library 4.0 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.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
![]()
![]()
![]()
where 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 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 xpublic double getVariance()
x.
double containing the variance of the time series
xpublic 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 | ||||||||