Cho 2 tập biến ngẫu nhiên. Tính hiệp phương sai: độ đo sự biến thiên cùng nhau.
Công thức
Cov(X,Y) = Σ(x_i - mean_x)(y_i - mean_y) / (n-1).
Ví dụ triển khai (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 += arr[i];
return sum / n;
}
float covariance(float arr1[], float arr2[], int n) {
float mx = mean(arr1, n), my = mean(arr2, n);
float sum = 0;
for (int i = 0; i < n; i++)
sum += (arr1[i] - mx) * (arr2[i] - my);
return sum / (n - 1);
}
int main() {
float arr1[] = {65.21, 64.75, 65.26, 65.76, 65.96};
float arr2[] = {67.25, 66.39, 66.12, 65.70, 66.64};
int n = sizeof(arr1)/sizeof(arr1[0]);
cout << covariance(arr1, arr2, n);
return 0;
}
Đầu ra
-0.0580511