1 協(xié)方差
1.1 定義
協(xié)方差(Covariance)在概率論和統(tǒng)計學(xué)中用于衡量兩個變量的總體誤差竟宋。而方差是協(xié)方差的一種特殊情況,即當(dāng)兩個變量是相同的情況形纺。
協(xié)方差的計算公式如下所示:
方差的計算公式如下所示:
可以看到協(xié)方差是度量兩個變量的總體誤差丘侠,而方差只考慮單變量的離散程度。
如果連個變量相互獨(dú)立逐样,則協(xié)方差為零蜗字。
2 協(xié)方差矩陣
假設(shè)X是一個n維隨機(jī)變量則它的協(xié)方差矩陣計算公式為:
其中
我們用一個例子來加以說明,加入我們有三面課程:語文官研、數(shù)學(xué)秽澳、應(yīng)用,有5名考生他們的成績?nèi)缦拢?
語文 | 數(shù)學(xué) | 英語 |
---|---|---|
90 | 60 | 90 |
90 | 90 | 30 |
60 | 60 | 60 |
60 | 60 | 90 |
30 | 30 | 30 |
我們將該矩陣命名為矩陣A戏羽,這個矩陣共有三種屬性担神,每種屬性有5個變量,我們需要計算學(xué)科與學(xué)科之間的協(xié)方差始花,綜合在一起就構(gòu)成了協(xié)方差矩陣妄讯。
我們將語文、數(shù)學(xué)酷宵、英語分別編號為1亥贸、2、3浇垦,則它們之間的協(xié)方差記為E11炕置、E12、E13男韧、E22朴摊、E23、E33此虑,最終該矩陣的協(xié)方差矩陣為:
可以根據(jù)協(xié)方差計算公式進(jìn)行計算:
首先甚纲,我們需要得到這三科的平均成績:
語文 | 數(shù)學(xué) | 英語 |
---|---|---|
66 | 60 | 60 |
然后用矩陣A減去平均成績(三科分別減去各科的均值),得到新的矩陣:
E12的計算公式為:
由于樣本減均值剛剛已經(jīng)計算完成朦前,這里直接進(jìn)行計算:
同理介杆,E13的計算公式為:
根據(jù)Eij=Eji的性質(zhì)鹃操,得到新的矩陣:
然后除以樣本的個數(shù)5,得到最后的協(xié)方差矩陣:
知道了協(xié)方差矩陣如何計算之后我們來使用numpy內(nèi)置的函數(shù)cov()
來計算協(xié)方差矩陣春哨。假設(shè)有兩個變量x0
和x1
荆隘,有三組觀測(0,2)(1,1)和(2,0)。
import numpy as np
x = np.array([[0, 2], [1, 1], [2, 0]])
值得注意的是悲靴,np.cov(x)
函數(shù)的默認(rèn)輸入矩陣x每一行代表一個特征臭胜,每一列代表一個觀測,所以在進(jìn)行協(xié)方差矩陣計算的時候需要對輸入矩陣進(jìn)行轉(zhuǎn)置癞尚,或者將默認(rèn)參數(shù)設(shè)置為False耸三,如np.cov(x,rowvar=False)
。
import numpy as np
x = np.array([[0, 2], [1, 1], [2, 0]])
np.cov(x.T)
輸出:
array([[ 1., -1.],
[-1., 1.]])
亦或者:
import numpy as np
x = np.array([[0, 2], [1, 1], [2, 0]])
np.cov(x, rowvar=False)
輸出:
array([[ 1., -1.],
[-1., 1.]])
3 相關(guān)系數(shù)
相關(guān)系數(shù)是研究變量之間線性相關(guān)程度的量浇揩。
相關(guān)系數(shù)的計算公式如下所示:
可以表示X和Y線性關(guān)系的緊密程度.
- 若
則表示X和Y不線性相關(guān)仪壮,即
的充分必要條件是Cov(X,Y)=0胳徽,亦即不相關(guān)和協(xié)方差為零是等價的积锅。
- 當(dāng)
較大時,通常說X 和Y相關(guān)程度較好养盗;當(dāng)
較小時缚陷,通常說X和Y相關(guān)程度較差;當(dāng)X和Y不相關(guān)往核,通常認(rèn)為X和Y之間不存在線性關(guān)系箫爷,但并不能排除X和Y之間可能存在其他關(guān)系