Program to find covariance
Last Updated :
04 May, 2022
Given a two set of random variable, find Covariance. Covariance is a measure of how much two random variables vary together. It’s similar to variance, but where variance tells you how a single variable varies, covariance tells you how two variables vary together. Covariance can be calculated by using the formula
Where x’ and y’ are the means of two given sets.
Examples:
Input : arr1[] = {65.21, 64.75, 65.26, 65.76, 65.96}
arr2[] = {67.25, 66.39, 66.12, 65.70, 66.64}
Output : -0.0580511
Input : arr1[] = {5, 20, 40, 80, 100}
arr2[] = {10, 24, 33, 54, 10}
Output : 187.75
C++
#include <bits/stdc++.h>
using namespace std;
float mean( float arr[], int n)
{
float sum = 0;
for ( int i = 0; i < n; i++)
sum = sum + arr[i];
return sum / n;
}
float covariance( float arr1[], float arr2[], int n)
{
float sum = 0;
float mean_arr1 = mean(arr1, n);
float mean_arr2 = mean(arr2, n);
for ( int i = 0; i < n; i++)
sum = sum + (arr1[i] - mean_arr1) * (arr2[i] - mean_arr2);
return sum / (n - 1);
}
int main()
{
float arr1[] = { 65.21, 64.75, 65.26, 65.76, 65.96 };
int n = sizeof (arr1) / sizeof (arr1[0]);
float arr2[] = { 67.25, 66.39, 66.12, 65.70, 66.64 };
int m = sizeof (arr2) / sizeof (arr2[0]);
if (m == n)
cout << covariance(arr1, arr2, m);
return 0;
}
|
C
#include <stdio.h>
float mean( float arr[], int n)
{
float sum = 0;
for ( int i = 0; i < n; i++)
sum = sum + arr[i];
return sum / n;
}
float covariance( float arr1[], float arr2[], int n)
{
float sum = 0;
float mean_arr1 = mean(arr1, n);
float mean_arr2 = mean(arr2, n);
for ( int i = 0; i < n; i++)
sum = sum + (arr1[i] - mean_arr1) * (arr2[i] - mean_arr2);
return sum / (n - 1);
}
int main()
{
float arr1[] = { 65.21, 64.75, 65.26, 65.76, 65.96 };
int n = sizeof (arr1) / sizeof (arr1[0]);
float arr2[] = { 67.25, 66.39, 66.12, 65.70, 66.64 };
int m = sizeof (arr2) / sizeof (arr2[0]);
if (m == n)
printf ( "%f" , covariance(arr1, arr2, m));
return 0;
}
|
Java
import java.io.*;
class GFG {
static float mean( float arr[], int n)
{
float sum = 0 ;
for ( int i = 0 ; i < n; i++)
sum = sum + arr[i];
return sum / n;
}
static float covariance( float arr1[], float arr2[], int n)
{
float sum = 0 ;
float mean_arr1 = mean(arr1, n);
float mean_arr2 = mean(arr2, n);
for ( int i = 0 ; i < n; i++)
sum = sum + (arr1[i] - mean_arr1) * (arr2[i] - mean_arr2);
return sum / (n - 1 );
}
public static void main(String[] args)
{
float arr1[] = { 65 .21f, 64 .75f, 65 .26f, 65 .76f, 65 .96f };
int n = arr1.length;
float arr2[] = { 67 .25f, 66 .39f, 66 .12f, 65 .70f, 66 .64f };
int m = arr2.length;
if (m == n)
System.out.println(covariance(arr1, arr2, m));
}
}
|
Python3
import math
def mean(arr, n):
sum = 0
for i in range ( 0 , n):
sum = sum + arr[i]
return sum / n
def covariance(arr1, arr2, n):
sum = 0
mean_arr1 = mean(arr1, n)
mean_arr2 = mean(arr2, n)
for i in range ( 0 , n):
sum = ( sum + (arr1[i] - mean_arr1) * (arr2[i] - mean_arr2))
return sum / (n - 1 )
arr1 = [ 65.21 , 64.75 , 65.26 , 65.76 , 65.96 ]
n = len (arr1)
arr2 = [ 67.25 , 66.39 , 66.12 , 65.70 , 66.64 ]
m = len (arr2)
if (m = = n):
print (covariance(arr1, arr2, m))
|
C#
using System;
class GFG {
static float mean( float []arr, int n)
{
float sum = 0;
for ( int i = 0; i < n; i++)
sum = sum + arr[i];
return sum / n;
}
static float covariance( float []arr1,
float []arr2, int n)
{
float sum = 0;
float mean_arr1 = mean(arr1,n);
float mean_arr2 = mean(arr2,n);
for ( int i = 0; i < n; i++)
sum = sum + (arr1[i] - mean_arr1) *
(arr2[i] - mean_arr2);
return sum / (n - 1);
}
public static void Main () {
float []arr1 = {65.21f, 64.75f,
65.26f, 65.76f, 65.96f};
int n = arr1.Length;
float []arr2 = {67.25f, 66.39f,
66.12f, 65.70f, 66.64f};
int m = arr2.Length;
if (m == n)
Console.WriteLine(covariance(arr1, arr2, m));
}
}
|
PHP
<?php
function mean( $arr , $n )
{
$sum = 0;
for ( $i = 0; $i < $n ; $i ++)
$sum = $sum + $arr [ $i ];
return $sum / $n ;
}
function covariance( $arr1 , $arr2 , $n )
{
$sum = 0;
$mean_arr1 = mean( $arr1 , $n );
$mean_arr2 = mean( $arr2 , $n );
for ( $i = 0; $i < $n ; $i ++)
$sum = $sum + ( $arr1 [ $i ] -
$mean_arr1 ) *
( $arr2 [ $i ] -
$mean_arr2 );
return $sum / ( $n - 1);
}
$arr1 = array (65.21, 64.75, 65.26,
65.76, 65.96);
$n = count ( $arr1 );
$arr2 = array (67.25, 66.39, 66.12,
65.70, 66.64);
$m = count ( $arr2 );
if ( $m == $n )
echo covariance( $arr1 , $arr2 , $m );
?>
|
Javascript
<script>
function mean(arr, n)
{
let sum = 0;
for (let i = 0; i < n; i++)
sum = sum + arr[i];
return sum / n;
}
function covariance(arr1, arr2, n)
{
let sum = 0;
let mean_arr1 = mean(arr1, n);
let mean_arr2 = mean(arr2, n);
for (let i = 0; i < n; i++)
sum = sum + (arr1[i] - mean_arr1) *
(arr2[i] - mean_arr2);
return sum / (n - 1);
}
let arr1 = [ 65.21, 64.75, 65.26, 65.76, 65.96 ];
let n = arr1.length;
let arr2 = [ 67.25, 66.39, 66.12, 65.70, 66.64 ];
let m = arr2.length;
if (m == n)
document.write(covariance(arr1, arr2, m));
</script>
|
Output:
-0.0580511
Time Complexity: O(N)
Auxiliary Space: O(1)
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...