numpy中的協方差,方差相關計算

2021-06-28 23:32:15 字數 1752 閱讀 3899

協方差矩陣,求相關矩陣

假設協方差矩陣sigma:

>>> import numpy as np  

>>> sigma=np.array([[4,1,2],[2,3,4],[2,3,5]])

>>> print sigma

[[4 1 2]

[2 3 4]

[2 3 5]]

>>> sigma

array([[4, 1, 2],

[2, 3, 4],

[2, 3, 5]])

得出協方差的長度

>>> p=len(sigma)  

>>> p

3

得出同等長度的單位矩陣

>>> e=np.eye(p)  

>>> e

array([[ 1., 0., 0.],

[ 0., 1., 0.],

[ 0., 0., 1.]])

得出協方差矩陣的對角線元素,即方差矩陣

>>> variance=e*sigma  

>>> variance

array([[ 4., 0., 0.],

[ 0., 3., 0.],

[ 0., 0., 5.]])

得出標準差矩陣

>>> v=np.power(variance,0.5)  

>>> v

array([[ 2. , 0. , 0. ],

[ 0. , 1.73205081, 0. ],

[ 0. , 0. , 2.23606798]])

得出標準差的逆矩陣

>>> i=np.linalg.inv(v)  

>>> i

array([[ 0.5 , 0. , 0. ],

[ 0. , 0.57735027, 0. ],

[ 0. , 0. , 0.4472136 ]])

得出相關係數矩陣

>>> cov=i.dot(sigma).dot(i)  

>>> cov

array([[ 1. , 0.28867513, 0.4472136 ],

[ 0.57735027, 1. , 1.03279556],

[ 0.4472136 , 0.77459667, 1. ]])

>>>

在數學中,每一維度指的是列,但是在array中,每一維度指的是乙個array。舉個例子:

a = array([1,2,3])

a的維度指的是array([1,2,3]),是一維的

在數學中,[1,2,3]維度是三維的。

計算方差的公式為:

期望 方差 協方差 相關係數

一 期望 在概率論和統計學中,數學期望 或均值,亦簡稱期望 是試驗中每次可能結果的概率乘以其結果的總和。它反映隨機變數平均取值的大小。線性運算 推廣形式 函式期望 設f x 為x的函式,則f x 的期望為 離散函式 連續函式 注意 函式的期望不等於期望的函式 一般情況下,乘積的期望不等於期望的乘積 ...

方差 協方差 相關係數的理解

協方差對於變數x y,協方差的定義為每個時刻的 x值與其均值之差 乘以 y值與其均值之差 的均值 其實是求 期望 因此,如果x與x的均值差與y與y的均值差的符號相同,則協方差值大於0,符號相反,則協方差值小於0,總結如下 圖2 圖3 圖4 解釋一 x 越大 y 也越大,x 越小 y 也越小,這種情況...

R中方差,協方差,相關係數

提到方差,乙個命令var 方差定義用來度量隨機變數和其數學期望 即均值 之間的偏離程度。a sample 10 a 1 4 2 9 3 6 10 8 5 7 1 var a 1 9.166667是協方差。協方差定義用於衡量兩個變數的總體誤差,即描述兩個變數之間的相對於各自的期望值的變化趨勢。方差是協...