当前位置:
首页 >
协方差矩阵的概念,算法以及自己的一些理解
发布时间: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位技术专家共同创作,文字、视频、音频交互阅读
总结
以上是生活随笔为你收集整理的协方差矩阵的概念,算法以及自己的一些理解的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Matlab读和写图像需要注意的问题
- 下一篇: 【转】误差矩阵(混淆矩阵)评价法