Matlab-计算协方差

时间:2022-06-01 21:11:02

统计学基本概念

先来几个定义吧:

X ¯ ¯ ¯  =1n  i=1 n X i  

s= n i=1 (X i X ¯ ¯ ¯  ) 2 n1  − − − − − − − − − − − − −    

s= n i=1 (X i X ¯ ¯ ¯  ) 2 n1  

$$
很显然,均值描述样本集合的中间点,他告诉我们的信息是有限的,而标准差则告诉我们样本集合的各个样本点到均值的距离之平均。

协方差

标准差和方差是描述一维数据的,但现实生活中有许多多维的数据,我们需要判断其之间的相关度,协方差就是一种用来度量两个随机变量关系的统计量,可以仿照方差的定义:

var(X)= n i=1 (X i X ¯ ¯ ¯  )(X i X ¯ ¯ ¯  )n1  

cov(X,Y)= n i=1 (X i X ¯ ¯ ¯  )(Y i Y ¯ ¯ ¯  )n1  

协方差的意义在于能够判断出两者的相关程度,结果是正数,说明两者正相关(可以说明一个人越猥琐,就越受女孩子欢迎)。

协方差matlab计算

始终谨记,计算协方差计算的是不同维度之间的协方差,每一列为一个维度。
代码如下:

%matlab 计算
MySample=[  40     7    32
            45    48     1
             6    47    42
            45    24    46
            31    40    33
             4     7    37
            13    21    37
            27    45    19
            47    39    32
            48    47     8];
dim1=MySample(:,1);
dim2=MySample(:,2);
dim3=MySample(:,3);

sum( (dim1-mean(dim1)).* (dim2-mean(dim2)) )/(size(dim1,1)-1) sum( (dim1-mean(dim1)).* (dim3-mean(dim3)) )/(size(dim1,1)-1) sum( (dim2-mean(dim2)).* (dim3-mean(dim3)) )/(size(dim1,1)-1) std(dim1,0)^2 std(dim2,0)^2 std(dim3,0)^2 cov(MySample)
ans =
      78

ans =
     -120.2444

ans =
     -126.9444

ans =
      301.1556

ans =
      268.9444

ans =
      216.0111

ans =
      301.1556   78.0000 -120.2444
       78.0000  268.9444 -126.9444
     -120.2444 -126.9444  216.0111