public class MultiCrossCorrelation extends Object implements Serializable, Cloneable
MultiCrossCorrelation
estimates the multichannel crosscorrelation
function of two mutually stationary multichannel time series. Define
the multichannel time series X by
x.length
and p = x[0].length
. Similarly, define the multichannel time
series Y by
where
with
m = y.length
and q = y[0].length
.
The columns of X and Y correspond to individual channels
of multichannel time series and may be examined from a univariate
perspective. The rows of X and Y correspond to
observations of pvariate and qvariate time series,
respectively, and may be examined from a multivariate perspective.
Note that an alternative characterization of a multivariate time series
X considers the columns to be observations of the multivariate
time series while the rows contain univariate time series. For example,
see Priestley (1981, page 692) and Fuller (1976, page 14).
Let = xmean
be the row
vector containing the means of the channels of X. In particular,
ymean
be similarly
defined. The crosscovariance of lag k between channel i
of X and channel j of Y is estimated by
where i = 1, ..., p, j = 1, ..., q, and K
= maximum_lag
. The summation on t extends over all
possible crossproducts with N equal to the number of
crossproducts in the sum.
Let = xvar
,
where xvar
is the variance of X, be the row
vector consisting of estimated variances of the channels of X.
In particular,
yvar
,
where yvar
is the variance of Y, be similarly
defined. The crosscorrelation of lag k between channel i
of X and channel j of Y is estimated by
Modifier and Type  Class and Description 

static class 
MultiCrossCorrelation.NonPosVariancesException
The problem is illconditioned.

Constructor and Description 

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

Modifier and Type  Method and Description 

double[][][] 
getCrossCorrelation()
Returns the crosscorrelations between the channels of
x
and y . 
double[][][] 
getCrossCovariance()
Returns the crosscovariances between the channels of
x
and y . 
double[] 
getMeanX()
Returns the mean of each channel of
x . 
double[] 
getMeanY()
Returns the mean of each channel of
y . 
double[] 
getVarianceX()
Returns the variances of the channels of
x . 
double[] 
getVarianceY()
Returns the variances of the channels of
y . 
void 
setMeanX(double[] mean)
Estimate of the mean of each channel of
x . 
void 
setMeanY(double[] mean)
Estimate of the mean of each channel of
y . 
public MultiCrossCorrelation(double[][] x, double[][] y, int maximum_lag)
x
 A twodimensional double
array containing the first multichannel stationary
time series. Each row of x
corresponds
to an observation of a multivariate time series and
each column of x
corresponds to a
univariate time series.y
 A twodimensional double
array containing the second multichannel stationary
time series. Each row of y
corresponds to
an observation of a multivariate time series and each
column of y
corresponds to a univariate
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 number of observations of x
and
y
.public double[][][] getCrossCorrelation() throws MultiCrossCorrelation.NonPosVariancesException
x
and y
.double
array of size 2 *
maximum_lag
+1 by x[0].length
by
y[0].length
containing the crosscorrelations between
the time series x
and y
.
The crosscorrelation between channel i of the x
series and channel j of the y
series at lag
k, where k = maximum_lag
, ..., 0, 1, ...,
maximum_lag
, corresponds to output array element with index [k][i][j] where
k= 0,1,...,(2*maximum_lag)
,
i = 1, ..., x[0].length
,
and j = 1, ..., y[0].length
.MultiCrossCorrelation.NonPosVariancesException
public double[][][] getCrossCovariance() throws MultiCrossCorrelation.NonPosVariancesException
x
and y
.double
array of size 2 *
maximum_lag
+1 by x[0].length
by
y[0].length
containing the crosscovariances between
the time series x
and y
.
The crosscovariances between channel i of the x
series and channel j of the y
series at lag
k where k = maximum_lag
, ..., 0, 1, ...,
maximum_lag
, corresponds to output array element with index [k][i][j] where
k= 0,1,...,(2*maximum_lag)
,
i = 1, ..., x[0].length
,
and j = 1, ..., y[0].length
.MultiCrossCorrelation.NonPosVariancesException
public double[] getMeanX()
x
.double
containing the mean
of each channel in the time series x
.public double[] getMeanY()
y
.double
containing the
estimate mean of each channel in the time series y
.public double[] getVarianceX() throws MultiCrossCorrelation.NonPosVariancesException
x
.double
containing the variances
of each channel in the time series x
.MultiCrossCorrelation.NonPosVariancesException
public double[] getVarianceY() throws MultiCrossCorrelation.NonPosVariancesException
y
.double
containing the variances
of each channel in the time series y
.MultiCrossCorrelation.NonPosVariancesException
public void setMeanX(double[] mean)
x
.mean
 A onedimensional double
containing the
estimate of the mean of each channel in time series
x
.public void setMeanY(double[] mean)
y
.mean
 A onedimensional double
containing the
estimate of the mean of each channel in the time series
y
.Copyright © 19702015 Rogue Wave Software
Built October 13 2015.