协方差矩阵的概念,算法以及自己的一些理解
2012-10-18 20:44
281 查看
在统计学与概率论中,,协方差矩阵是一个矩阵,其每个元素是各个向量元素之间的协方差。是从标量随机变量到高维度随机向量的自然推广。
方差反映的是一个矩阵中元素的离散程度。如果我有矩阵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的方阵。具体算法如下:
以上只是算法,没有声明变量。是自己按照公式写的,如有理解错误,还请大家批评指正!
方差反映的是一个矩阵中元素的离散程度。如果我有矩阵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] += (a[m][k]-avg[m])*(a [k]-avg ); }
temp[m] /= n; } }
以上只是算法,没有声明变量。是自己按照公式写的,如有理解错误,还请大家批评指正!
相关文章推荐
- FPGA中一些概念自己的理解
- KMP 算法 自己的一些理解
- 由读《深入理解计算机系统》一书引发对程序本质的探讨以及自己的一些理解
- kafka学习积累以及自己对kafka的一些理解
- 有必要澄清两个基本概念--算法和过程的关系以及关于程序设计方法论的一些看法
- 我对php的mvc的一些理解,以及自己写的框架
- 我对php的mvc的一些理解,以及自己写的框架
- 有必要澄清两个基本概念--算法和过程的关系以及关于程序设计方法论的一些看法
- 一名在校学生讲目前学到的一些自己所理解的概念分享出来 有不对的可以多指教!
- zoj 3861 Valid Pattern Lock(以及自己对dfs的一些理解)
- 图像、帧、片、NALU 是学习 H.264 的人常常感到困惑的一些概念,我在这里对自己的理解做一些阐述,欢迎大家讨论:
- OpenCV下利用傅里叶变换和逆变换实现图像卷积算法,并附自己对于卷积核/模板核算子的理解!
- 一个App与另一个App之间的交互,添加了自己的一些理解
- 对于宽字节注入字符的一些问题以及理解
- Yong式(杨氏)矩阵的概念与性质 ,以及算法实现
- 4,视频压缩的基本原理,一些常见压缩算法的概念
- 自己做的demo---c语言的基本语法,过阵子可以重新写一些算法跟数据结构了
- 装箱与拆箱以及java 的一些基本概念
- 刷ACM题自己总结的一些算法
- 一张图更好的帮助你理解盒状模型中的一些概念