public class CrossCorrelation extends Object implements Serializable, Cloneable
CrossCorrelation
estimates the crosscorrelation function of
two jointly stationary time series given a sample of n =
x.length
observations
and for t = 1,2, ..., n.
Let
be the estimate of the mean of the time series whereThe autocovariance function of , , is estimated by
where K =maximum_lag
. Note that
is
equivalent to the sample variance of x
returned by method
getVarianceX
. The autocorrelation function
is estimated by
Note that by definition. Let
be similarly defined.The crosscovariance function is estimated by
The crosscorrelation function is estimated byThe standard errors of the sample crosscorrelations may be optionally
computed according to the getStandardErrors method argument
stderrMethod
. One method is based on a general
asymptotic expression for the variance of the sample crosscorrelation
coefficient of two jointly stationary time series with independent,
identically distributed normal errors given by Bartlet (1978, page 352).
The theoretical formula is
A second method evaluates Bartlett's formula under the additional assumption that the two series have no crosscorrelation. The theoretical formula is
For additional special cases of Bartlett's formula, see Box and Jenkins (1976, page 377).An important property of the crosscovariance coefficient is for . This result is used in the computation of the standard error of the sample crosscorrelation for lag . In general, the crosscovariance function is not symmetric about zero so both positive and negative lags are of interest.
Modifier and Type  Class and Description 

static class 
CrossCorrelation.NonPosVariancesException
The problem is illconditioned.

Modifier and Type  Field and Description 

static int 
BARTLETTS_FORMULA
Indicates standard error computation using Bartlett's formula.

static int 
BARTLETTS_FORMULA_NOCC
Indicates standard error computation using Bartlett's formula
with the assumption of no crosscorrelation.

Constructor and Description 

CrossCorrelation(double[] x,
double[] y,
int maximum_lag)
Constructor to compute the sample crosscorrelation
function of two stationary time series.

Modifier and Type  Method and Description 

double[] 
getAutoCorrelationX()
Returns the autocorrelations of the time series
x . 
double[] 
getAutoCorrelationY()
Returns the autocorrelations of the time series
y . 
double[] 
getAutoCovarianceX()
Returns the autocovariances of the time series
x . 
double[] 
getAutoCovarianceY()
Returns the autocovariances of the time series
y . 
double[] 
getCrossCorrelation()
Returns the crosscorrelations between the time series
x
and y . 
double[] 
getCrossCovariance()
Returns the crosscovariances between the time series
x
and y . 
double 
getMeanX()
Returns the mean of the time series
x . 
double 
getMeanY()
Returns the mean of the time series
y . 
double[] 
getStandardErrors(int stderrMethod)
Returns the standard errors of the crosscorrelations between the
time series
x and y . 
double 
getVarianceX()
Returns the variance of time series
x . 
double 
getVarianceY()
Returns the variance of time series
y . 
void 
setMeanX(double mean)
Estimate of the mean of time series
x . 
void 
setMeanY(double mean)
Estimate of the mean of time series
y . 
public static final int BARTLETTS_FORMULA
public static final int BARTLETTS_FORMULA_NOCC
public CrossCorrelation(double[] x, double[] y, int maximum_lag)
x
 A onedimensional double
array containing the first stationary
time series.y
 A onedimensional double
array containing the second stationary
time series.maximum_lag
 An int
containing
the maximum lag of the crosscovariance and
crosscorrelations to be computed.
maximum_lag
must be greater
than or equal to 1 and less than the minimum
of the number of observations of x
and y
.public double[] getAutoCorrelationX() throws CrossCorrelation.NonPosVariancesException
x
.double
array of length maximum_lag
+1
containing the autocorrelations of the time series x
.
The 0th element of this array is 1. The kth element of this array
contains the autocorrelation of lag k where
k = 1, ..., maximum_lag
.CrossCorrelation.NonPosVariancesException
public double[] getAutoCorrelationY() throws CrossCorrelation.NonPosVariancesException
y
.double
array of length maximum_lag
+1
containing the autocorrelations of the time series y
.
The 0th element of this array is 1. The kth element of this array
contains the autocorrelation of lag k where
k = 1, ..., maximum_lag
.CrossCorrelation.NonPosVariancesException
public double[] getAutoCovarianceX() throws CrossCorrelation.NonPosVariancesException
x
.double
array of length maximum_lag
+1
containing the variances and autocovariances of the time series x
.
The 0th element of the array contains the variance of the time series
x
. The kth element contains the autocovariance of lag k
where k = 1, ..., maximum_lag
.CrossCorrelation.NonPosVariancesException
public double[] getAutoCovarianceY() throws CrossCorrelation.NonPosVariancesException
y
.double
array of length maximum_lag
+1
containing the variances and autocovariances of the time series y
.
The 0th element of the array contains the variance of the time series
x
. The kth element contains the autocovariance of lag k
where k = 1, ..., maximum_lag
.CrossCorrelation.NonPosVariancesException
public double[] getCrossCorrelation() throws CrossCorrelation.NonPosVariancesException
x
and y
.double
array of length 2 * maximum_lag
+1
containing the crosscorrelations between the time series x
and y
. The crosscorrelation between x
and
y
at lag k, where k = maximum_lag
,..., 0, 1,...,maximum_lag
, corresponds to output array indices
0, 1,..., (2*maximum_lag)
.CrossCorrelation.NonPosVariancesException
public double[] getCrossCovariance()
x
and y
.double
array of length 2 * maximum_lag
+1
containing the crosscovariances between the time series x
and y
. The crosscovariance between x
and
y
at lag k, where k = maximum_lag
,..., 0, 1,...,maximum_lag
, corresponds to output array indices
0, 1,..., (2*maximum_lag)
.public double getMeanX()
x
.double
containing the mean
of the time series x
.public double getMeanY()
y
.double
containing the mean
of the time series y
.public double[] getStandardErrors(int stderrMethod) throws CrossCorrelation.NonPosVariancesException
x
and y
. Method of computation for
standard errors of the crosscorrelation is determined by the
stderrMethod
parameter. If stderrMethod
is set to BARTLETTS_FORMULA, Bartlett's formula is used to compute the
standard errors of crosscorrelations. If
stderrMethod
is set to BARTLETTS_FORMULA_NOCC, Bartlett's
formula is used to compute the standard errors of
crosscorrelations, with the assumption of no crosscorrelation.stderrMethod
 An int
specifying the
method to compute the standard errors of
crosscorrelations between the time series x
and y
.double
array of length 2 * maximum_lag
+ 1
containing the standard errors of the crosscorrelations between the
time series x
and y
. The standard error of
crosscorrelations between x
and y
at lag
k, where k = maximum_lag
,..., 0, 1,...,
maximum_lag
, corresponds to output array indices
0, 1,..., (2*maximum_lag)
.CrossCorrelation.NonPosVariancesException
public double getVarianceX() throws CrossCorrelation.NonPosVariancesException
x
.double
containing the variance
of the time series x
.CrossCorrelation.NonPosVariancesException
public double getVarianceY() throws CrossCorrelation.NonPosVariancesException
y
.double
containing the variance
of the time series y
.CrossCorrelation.NonPosVariancesException
public void setMeanX(double mean)
x
.mean
 A double
containing the
estimate mean of the time series x
.public void setMeanY(double mean)
y
.mean
 A double
containing the
estimate mean of the time series y
.Copyright © 19702015 Rogue Wave Software
Built October 13 2015.