欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

协方差矩阵的概念,算法以及自己的一些理解

发布时间:2025/3/21 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 协方差矩阵的概念,算法以及自己的一些理解 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

在统计学与概率论中,,协方差矩阵是一个矩阵,其每个元素是各个向量元素之间的协方差。是从标量随机变量到高维度随机向量的自然推广。

方差反映的是一个矩阵中元素的离散程度。如果我有矩阵a[3] = {1,2,3} ,其均值为2,方差为(1-2)^2+(2-2)^2+(3-2)^2  

协方差反映的是矩阵和矩阵之间(也就是上面说的各个向量元素之间)的关系。比如a[3]={1,2,3} b[3]={2,3,4} 那么a与b的协方差是一个2x2的矩阵。又知道a[]的均值为2,b[]的均值为3 。

矩阵的元素按照由上到下由左到右的顺序依次为:

(1-2)^2+(2-2)^2+(3-2)^2                   (1-2)(2-3)+(2-2)*(3-3)+(3-2)*(4-3)

(1-2)(2-3)+(2-2)*(3-3)+(3-2)*(4-3)   (2-3)^2+(3-3)^2+(4-3)^2

也就是说:矩阵a与矩阵b的协方差阵包括主对角线的a矩阵的方差和b矩阵的方差;副对角线的ab矩阵间的互协方差

协方差的标准定义为:


也可以进一步展开成为:



有了这些,我们就可以着手考虑代码了:

如果要求m个矩阵的互协方差,其中每个矩阵有n个元素首先明确协方差矩阵是mXm的方阵。具体算法如下:

for(i=0;i<m;i++) {for(j=0;j<n;j++){sum[m]+=a[m][j];} avg[m]=sum[m]/n; }for(i=0;i<m;i++) {for(j=0;j<m;j++){for(k=0;k<n;k++){temp[m][n] += (a[m][k]-avg[m])*(a[n][k]-avg[n]);} temp[m][n] /= n; } }
以上只是算法,没有声明变量。是自己按照公式写的,如有理解错误,还请大家批评指正!

《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读

总结

以上是生活随笔为你收集整理的协方差矩阵的概念,算法以及自己的一些理解的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。