Covariance¶

In statistics, covariance and correlation are two of the most fundamental measures of linear dependence between two random variables. The covariance and the correlation represent the joint variability of any two features. The correlation is dimensionless, while the covariance is measured in units obtained by multiplying the units of the two features. Another important distinction is that covariance can be affected by the higher variance of one feature, while correlation removes the effect of the variances by normalizing the covariance of two features by their square-root of variances. Their usage is application-dependent. The covariance algorithm computes the following:

• Means

• Covariance (sample and estimated by maximum likelihood method)

• Correlation

 Operation Computational methods Programming Interface Computing dense compute(…) compute_input compute_result Partial Computing dense partial_compute(…) partial_compute_input partial_compute_result Finalize Computing dense finalize_compute(…) partial_compute_result compute_result

Mathematical formulation¶

Computing¶

Given a dataset $$X = \{ x_1, \ldots, x_n \}$$ with $$n$$ feature vectors of dimension $$p$$, the means is a $$1 \times p$$ matrix, the covariance and the correlation matrices are $$p \times p$$ square matrices. The means, the covariance, and the correlation are computed with the following formulas:

Statistic

Definition

Means

$$M = (m_{1}, \ldots , m_{p})$$, where $$m_{j} = \frac{1}{n}\sum _{i}{x}_{ij}$$

Covariance matrix (sample)

$$Cov = (v_{ij})$$, where $$v_{ij} = \frac{1}{n-1}\sum_{k=1}^{n}(x_{ki}-m_{i})(x_{kj}-m{j})$$, $$i = \overline{1,p}$$, $$j = \overline{1,p}$$

Covariance matrix (maximum likelihood)

$$Cov' = (v'_{ij})$$, where $$v'_{ij} = \frac{1}{n}\sum_{k=1}^{n}(x_{ki}-m_{i})(x_{kj}-m{j})$$, $$i = \overline{1,p}$$, $$j = \overline{1,p}$$

Correlation matrix

$$Cor = (c_{ij})$$, where $$c_{ij} = \frac{v_{ij}}{\sqrt{v_{ii}\cdot v_{jj}}}$$, $$i = \overline{1,p}$$, $$j = \overline{1,p}$$

Partial Computing¶

Given a block of a $$X = \{ x_1, \ldots, x_n \}$$ dataset with $$n$$ feature vectors of $$p$$ dimension, the sums is a $$1 \times p$$ matrix, the cross product is $$p \times p$$ square matrices. The sums and cross product are computed with the following formulas:

Statistic

Definition

Sums

$$S = (m_{1}, \ldots , m_{p})$$, where $$m_{j} = sum _{i}{x}_{ij}$$

Cross product matrix

$$Crossproduct = (v_{ij}) = \sum_{k=1}^{n}(x_{ki}-m_{i})(x_{kj}-m{j})$$, $$i = \overline{1,p}$$, $$j = \overline{1,p}$$

Finalize Computing¶

Given a partial result with partial products, the means is a $$1 \times p$$ matrix, the covariance and correlation matrices are $$p \times p$$ square matrices. The means, the covariance, and the correlation are computed with the following formulas:

Statistic

Definition

Means

$$M = (m_{1}, \ldots , m_{p})$$, where $$m_{j} = \frac{1}{n}\sum _{i}{x}_{ij}$$

Covariance matrix (sample)

$$Cov = (v_{ij})$$, where $$v_{ij} = \frac{1}{n-1}\sum_{k=1}^{n}(x_{ki}-m_{i})(x_{kj}-m{j})$$, $$i = \overline{1,p}$$, $$j = \overline{1,p}$$

Covariance matrix (maximum likelihood)

$$Cov' = (v'_{ij})$$, where $$v'_{ij} = \frac{1}{n}\sum_{k=1}^{n}(x_{ki}-m_{i})(x_{kj}-m{j})$$, $$i = \overline{1,p}$$, $$j = \overline{1,p}$$

Correlation matrix

$$Cor = (c_{ij})$$, where $$c_{ij} = \frac{v_{ij}}{\sqrt{v_{ii}\cdot v_{jj}}}$$, $$i = \overline{1,p}$$, $$j = \overline{1,p}$$

Computation method: dense¶

The method computes means, variance-covariance, or correlation matrix for the dense data. This is the default and the only method supported.

Programming Interface¶

Refer to API Reference: Covariance.

Online mode¶

The algorithm supports online mode.

Distributed mode¶

The algorithm supports distributed execution in SPMD mode (only on GPU).