文章目录
- 协方差矩阵
- 计算原理
- python实现
 
 
协方差矩阵
协方差矩阵反映了两个随机变量变化时是同向还是反向的(相关性)。
 如果协方差>0,则说明这两个随机变量同向变化。
 协方差矩阵<0,则说明是反向变化。
 协方差矩阵=0,则说明是两个随机变量的变化方向没有任何相似度。
计算原理
假设矩阵:
  
      
       
        
        
          X 
         
        
          = 
         
         
         
           [ 
          
          
           
            
             
             
               3 
              
             
            
            
             
             
               1 
              
             
            
            
             
             
               2 
              
             
            
           
           
            
             
             
               5 
              
             
            
            
             
             
               6 
              
             
            
            
             
             
               4 
              
             
            
           
           
            
             
             
               8 
              
             
            
            
             
             
               7 
              
             
            
            
             
             
               9 
              
             
            
           
          
         
           ] 
          
         
        
       
         X = \begin{bmatrix} 3 & 1& 2 \\ 5 & 6 &4 \\8 & 7 &9 \end{bmatrix} 
        
       
     X= 
              358167249 
              
 样本均值为:
  
      
       
        
         
         
           X 
          
         
           ‾ 
          
         
        
          = 
         
         
         
           1 
          
         
           3 
          
         
        
          ( 
         
         
         
           [ 
          
          
           
            
             
             
               3 
              
             
            
           
           
            
             
             
               5 
              
             
            
           
           
            
             
             
               8 
              
             
            
           
          
         
           ] 
          
         
        
          + 
         
         
         
           [ 
          
          
           
            
             
             
               1 
              
             
            
           
           
            
             
             
               6 
              
             
            
           
           
            
             
             
               7 
              
             
            
           
          
         
           ] 
          
         
        
          + 
         
         
         
           [ 
          
          
           
            
             
             
               2 
              
             
            
           
           
            
             
             
               4 
              
             
            
           
           
            
             
             
               9 
              
             
            
           
          
         
           ] 
          
         
        
          ) 
         
        
          = 
         
         
         
           [ 
          
          
           
            
             
             
               3 
              
             
            
           
           
            
             
             
               5 
              
             
            
           
           
            
             
             
               8 
              
             
            
           
          
         
           ] 
          
         
        
       
         \overline X = \frac{1}{3}(\begin{bmatrix} 3 \\ 5 \\ 8 \end{bmatrix}+\begin{bmatrix} 1\\ 6 \\ 7 \end{bmatrix}+\begin{bmatrix} 2 \\ 4 \\ 9 \end{bmatrix}) = \begin{bmatrix} 3 \\ 5 \\ 8 \end{bmatrix} 
        
       
     X=31( 
              358 
              + 
              167 
              + 
              249 
              )= 
              358 
              
 矩阵的每列都减去样本的均值:
  
      
       
        
        
          B 
         
        
          = 
         
        
          X 
         
        
          − 
         
         
         
           X 
          
         
           ‾ 
          
         
        
          = 
         
         
         
           [ 
          
          
           
            
             
             
               1 
              
             
            
            
             
              
              
                − 
               
              
                1 
               
              
             
            
            
             
             
               0 
              
             
            
           
           
            
             
             
               0 
              
             
            
            
             
             
               1 
              
             
            
            
             
              
              
                − 
               
              
                1 
               
              
             
            
           
           
            
             
             
               0 
              
             
            
            
             
              
              
                − 
               
              
                1 
               
              
             
            
            
             
             
               1 
              
             
            
           
          
         
           ] 
          
         
        
       
         B = X - \overline X = \begin{bmatrix} 1 & -1 & 0 \\ 0 & 1 &-1 \\ 0 & -1 &1 \end{bmatrix} 
        
       
     B=X−X= 
              100−11−10−11 
              
 矩阵的协方差矩阵Y:
  
      
       
        
        
          Y 
         
        
          = 
         
         
         
           1 
          
          
          
            N 
           
          
            − 
           
          
            1 
           
          
         
        
          B 
         
         
         
           B 
          
         
           T 
          
         
        
          = 
         
         
         
           1 
          
          
          
            3 
           
          
            − 
           
          
            1 
           
          
         
         
         
           [ 
          
          
           
            
             
             
               1 
              
             
            
            
             
              
              
                − 
               
              
                1 
               
              
             
            
            
             
             
               0 
              
             
            
           
           
            
             
             
               0 
              
             
            
            
             
             
               1 
              
             
            
            
             
              
              
                − 
               
              
                1 
               
              
             
            
           
           
            
             
             
               0 
              
             
            
            
             
              
              
                − 
               
              
                1 
               
              
             
            
            
             
             
               1 
              
             
            
           
          
         
           ] 
          
         
         
         
           [ 
          
          
           
            
             
             
               1 
              
             
            
            
             
             
               0 
              
             
            
            
             
             
               0 
              
             
            
           
           
            
             
              
              
                − 
               
              
                1 
               
              
             
            
            
             
             
               1 
              
             
            
            
             
              
              
                − 
               
              
                1 
               
              
             
            
           
           
            
             
             
               0 
              
             
            
            
             
              
              
                − 
               
              
                1 
               
              
             
            
            
             
             
               1 
              
             
            
           
          
         
           ] 
          
         
        
          = 
         
         
         
           1 
          
         
           2 
          
         
         
         
           [ 
          
          
           
            
             
             
               2 
              
             
            
            
             
              
              
                − 
               
              
                1 
               
              
             
            
            
             
             
               1 
              
             
            
           
           
            
             
              
              
                − 
               
              
                1 
               
              
             
            
            
             
             
               2 
              
             
            
            
             
              
              
                − 
               
              
                2 
               
              
             
            
           
           
            
             
             
               1 
              
             
            
            
             
              
              
                − 
               
              
                1 
               
              
             
            
            
             
             
               1 
              
             
            
           
          
         
           ] 
          
         
        
          = 
         
         
         
           [ 
          
          
           
            
             
             
               1 
              
             
            
            
             
              
              
                − 
               
              
                0.5 
               
              
             
            
            
             
             
               0.5 
              
             
            
           
           
            
             
              
              
                − 
               
              
                0.5 
               
              
             
            
            
             
             
               1 
              
             
            
            
             
              
              
                − 
               
              
                1 
               
              
             
            
           
           
            
             
             
               0.5 
              
             
            
            
             
              
              
                − 
               
              
                1 
               
              
             
            
            
             
             
               1 
              
             
            
           
          
         
           ] 
          
         
        
       
         Y = \frac{1}{N -1}BB^T = \frac{1}{3-1}\begin{bmatrix} 1 & -1 & 0 \\ 0 & 1 &-1 \\ 0 & -1 &1 \end{bmatrix}\begin{bmatrix} 1 & 0 & 0 \\ -1 & 1 &-1 \\ 0 & -1 &1 \end{bmatrix} = \frac{1}{2}\begin{bmatrix} 2 & -1 & 1 \\ -1 & 2 & -2 \\ 1 & -1 &1 \end{bmatrix} = \begin{bmatrix} 1 & -0.5 & 0.5 \\ -0.5 & 1 & -1 \\ 0.5 & -1 &1 \end{bmatrix} 
        
       
     Y=N−11BBT=3−11 
              100−11−10−11 
               
              1−1001−10−11 
              =21 
              2−11−12−11−21 
              = 
              1−0.50.5−0.51−10.5−11 
              
python实现
import numpy as np
a = np.array([3, 1, 2])
b = np.array([5, 6, 4])
c = np.array([8, 7, 9])
X = np.vstack((a, b, c))
print(f'矩阵X: \n{X}')
Y = np.cov(X)
print(f'矩阵X的协方差矩阵为: \n{Y}')



















