Calculates the covariance of a given set of data

View versions (1)

Interface

#include <codecogs/statistics/moments/covariance.h>

using namespace Statistics::Moments;

The covariance of two random variables X_1 and X_2 with mean \overline{X_1} and \overline{X_2} respectively is defined as

cov(X_1,X_2)=E[(X_1-\overline{X_1})(X_2-\overline{X_2})
(1)

The covariance of a random variable X with itself is simply the variance

E[X-\overline{X}^2]
(2)

Covariance captures a measure of the correlation of two variables.

Positive covariance indicates that as X_1 increases, so does X_2 . Negative covariance indicates X_1 decreases as X_2 increases and vice versa. Zero covariance can indicate that X_1 and X_2 are uncorrelated. Covariance is defined as:

cov(x,y)=\frac{1}{N}\sum_{i=1}^Nx_iy_i-\overline{x_i}\overline{y_i}
(3)

In the example below the covariance of two random variables is calculated, yielding the result: <em> -1.64 </em>. These two variables are also displayed in the following graphs.

1/covariance-6-965.png

Example 1

#include <codecogs/statistics/moments/covariance.h>
#include <iostream>
int main()
 {
  int x[5] = {2 , 4 , 8 , 9 , 3};
  int y[5] = {3 , 5 , 7 , 2 , 9};
  double cov = Stats::Moments::covariance<int>(5, x , y);
  std::cout << "The covariance of x and y is: " << cov << std::endl;
  return 0;
}

Output:

The covariance of x and y is: -1.64

Parameters

n
the size of the first array and of the second array
data
the actual population data given as the first array
data1
the second array

Returns

the covariance of a given population
GPL Licence — free for non commercial use. See Licence details.