當前位置:
首頁 >
协方差矩阵的概念,算法以及自己的一些理解
發布時間:2025/3/21
30
豆豆
生活随笔
收集整理的這篇文章主要介紹了
协方差矩阵的概念,算法以及自己的一些理解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在統計學與概率論中,,協方差矩陣是一個矩陣,其每個元素是各個向量元素之間的協方差。是從標量隨機變量到高維度隨機向量的自然推廣。
方差反映的是一個矩陣中元素的離散程度。如果我有矩陣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读和写图像需要注意的问题
- 下一篇: 【转】误差矩阵(混淆矩阵)评价法