public class Covariances extends Object implements Serializable, Cloneable
Class Covariances
computes estimates of correlations,
covariances, or sums of squares and crossproducts for a data matrix
x. Weights and frequencies are allowed but not
required.
The means, (corrected) sums of squares, and (corrected) sums of crossproducts are computed using the method of provisional means. Let denote the mean based on i observations for the kth variable, denote the frequency of the ith observation, denote the weight of the ith observations, and denote the sum of crossproducts (or sum of squares if j = k) based on i observations. Then the method of provisional means finds new means and sums of crossproducts as shown in the example below.
The means and crossproducts are initialized as follows:
where p denotes the number of variables. Letting denote the kth variable of observation i + 1, each new observation leads to the following updates for and using the update constant :
The default value for weights and frequencies is 1. Means and variances are computed based on the valid data for each variable or, if required, based on all the valid data for each pair of variables.
Modifier and Type  Class and Description 

static class 
Covariances.NonnegativeFreqException
Frequencies must be nonnegative.

static class 
Covariances.NonnegativeWeightException
Weights must be nonnegative.

Modifier and Type  Field and Description 

static int 
CORRECTED_SSCP_MATRIX
Indicates corrected sums of squares and crossproducts matrix.

static int 
CORRELATION_MATRIX
Indicates correlation matrix.

static int 
STDEV_CORRELATION_MATRIX
Indicates correlation matrix except for the diagonal elements which are
the standard deviations

static int 
VARIANCE_COVARIANCE_MATRIX
Indicates variancecovariance matrix.

Constructor and Description 

Covariances(double[][] x)
Constructor for
Covariances . 
Modifier and Type  Method and Description 

double[][] 
compute(int matrixType)
Computes the matrix.

int[][] 
getIncidenceMatrix()
Returns the incidence matrix.

double[] 
getMeans()
Returns the means of the variables in
x . 
int 
getNumRowMissing()
Returns the total number of observations that contain any missing values
(
Double.NaN ). 
int 
getObservations()
Returns the sum of the frequencies.

double 
getSumOfWeights()
Returns the sum of the weights of all observations.

void 
setFrequencies(double[] frequencies)
Sets the frequency for each observation.

void 
setMissingValueMethod(int missingValueMethod)
Sets the method used to exclude missing values in
x from the computations,
where Double.NaN is interpreted as the missing value code. 
void 
setWeights(double[] weights)
Sets the weight for each observation.

public static final int CORRECTED_SSCP_MATRIX
public static final int CORRELATION_MATRIX
public static final int STDEV_CORRELATION_MATRIX
public static final int VARIANCE_COVARIANCE_MATRIX
public Covariances(double[][] x)
Covariances
.x
 A double
matrix containing the data.IllegalArgumentException
 is thrown if x.length
,
and x[0].length
are equal to 0.public final double[][] compute(int matrixType) throws Covariances.NonnegativeFreqException, Covariances.NonnegativeWeightException, com.imsl.stat.Covariances.TooManyObsDeletedException, com.imsl.stat.Covariances.MoreObsDelThanEnteredException, com.imsl.stat.Covariances.DiffObsDeletedException
matrixType
 An int
scalar indicating the type of matrix
to compute. Uses class member
VARIANCE_COVARIANCE_MATRIX
,
CORRECTED_SSCP_MATRIX
, CORRELATION_MATRIX
,
STDEV_CORRELATION_MATRIX
for matrixType
.double
matrix containing computed result.Covariances.NonnegativeFreqException
 is thrown if the frequencies
are negative.Covariances.NonnegativeWeightException
 is thrown if the
weights are negative.com.imsl.stat.Covariances.TooManyObsDeletedException
 is thrown if more observations
have been deleted than were originally entered, i.e. the sum
of frequencies has become negative.com.imsl.stat.Covariances.MoreObsDelThanEnteredException
 is thrown if more observations
are being deleted from "variancecovariance" matrix than
were originally entered. The corresponding row,column of
the incidence matrix is less than zero.com.imsl.stat.Covariances.DiffObsDeletedException
 is thrown if different observations
are being deleted than were originally entered.public int[][] getIncidenceMatrix()
compute
method
must be invoked first before invoking this method. Otherwise, the
method throws a NullPointerException
exception.int
matrix containing the incidence matrix.
If method
is 0, incidence matrix is and
contains the number of valid observations; otherwise, incidence
matrix is and contains
the number of pairs of valid observations used in calculating
the crossproducts for covariance.public double[] getMeans()
x
. Note that the
compute
method must be invoked first before invoking this
method. Otherwise, the method throws a NullPointerException
exception.double
array containing the means of the
variables in x
. The components of the array
correspond to the columns of x
.public int getNumRowMissing()
Double.NaN
). Note that the compute
method
must be invoked first before invoking this method. Otherwise, the
return value is 0
.int
scalar containing the total number of
observations that contain any missing values
(Double.NaN
).public int getObservations()
compute
method must be invoked first before invoking this method. Otherwise,
the return value is 0
.int
scalar containing the sum of the frequencies.
If missingValueMethod
= 0, observations with missing
values are not included; otherwise, all observations are
included except for observations with missing values for
the weight or the frequency.public double getSumOfWeights()
compute
method must be invoked first before invoking this
method. Otherwise, the return value is 0
.double
scalar containing the sum of the weights
of all observations. If missingValueMethod
= 0,
observations with missing values are not included. Otherwise,
all observations are included except for observations with
missing values for the weight or the frequency.public void setFrequencies(double[] frequencies)
frequencies
 A double
array of size x.length
containing the frequency for each observation.
Default: frequencies[]
= 1.public void setMissingValueMethod(int missingValueMethod)
x
from the computations,
where Double.NaN
is interpreted as the missing value code.missingValueMethod
 An int
scalar indicating the method to use.
The methods are as follows:
missingValueMethod 
Action 
0  The exclusion is listwise, default. (The entire row of x is excluded
if any of the values of the row is equal to the missing value code.) 
1  Raw crossproducts are computed from all valid pairs and means, and variances are computed from all valid data on the individual variables. Corrected crossproducts, covariances, and correlations are computed using these quantities. 
2  Raw crossproducts, means, and variances are computed as in
the case of method = 1. However, corrected crossproducts and covariances
are computed only from the valid pairs of data. Correlations are
computed using these covariances and the variances from all valid data. 
3  Raw crossproducts, means, variances, and covariances are
computed as in the case of method = 2. Correlations are computed using
these covariances, but the variances used are computed from the valid
pairs of data. 
public void setWeights(double[] weights)
weights
 A double
array of size x.length
containing the weight for each observation.
Default: weights[]
= 1.Copyright © 19702015 Rogue Wave Software
Built October 13 2015.