什么是協(xié)方差
協(xié)方差(Covariance)在概率論和統(tǒng)計(jì)學(xué)中用于衡量?jī)蓚€(gè)變量的總體誤差。而方差是協(xié)方差的一種特殊情況,即當(dāng)兩個(gè)變量是相同的情況。協(xié)方差表示的是兩個(gè)變量的總體的誤差,這與只表示一個(gè)變量誤差的方差不同。
如果兩個(gè)變量的變化趨勢(shì)一致,也就是說如果其中一個(gè)大于自身的期望值,另外一個(gè)也大于自身的期望值,那么兩個(gè)變量之間的協(xié)方差就是正值。 如果兩個(gè)變量的變化趨勢(shì)相反,即其中一個(gè)大于自身的期望值,另外一個(gè)卻小于自身的期望值,那么兩個(gè)變量之間的協(xié)方差就是負(fù)值。
協(xié)方差的計(jì)算方法
1.在概率論和統(tǒng)計(jì)學(xué)中,協(xié)方差用于衡量?jī)蓚€(gè)變量的總體誤差。
2.期望值分別為E(X) = μ 與 E(Y) = ν 的兩個(gè)實(shí)數(shù)隨機(jī)變量X與Y之間的協(xié)方差定義為:
COV(X,Y)=E[(X-E(X))(Y-E(Y))]
等價(jià)計(jì)算式為COV(X,Y)=E(XY)-E(X)E(Y)
協(xié)方差公式

上面幾個(gè)統(tǒng)計(jì)量看似已經(jīng)描述的差不多了,但我們應(yīng)該注意到,標(biāo)準(zhǔn)差和方差一般是用來描述一維數(shù)據(jù)的,但現(xiàn)實(shí)生活我們常常遇到含有多維數(shù)據(jù)的數(shù)據(jù)集,最簡(jiǎn)單的大家上學(xué)時(shí)免不了要統(tǒng)計(jì)多個(gè)學(xué)科的考試成績(jī)。面對(duì)這樣的數(shù)據(jù)集,我們當(dāng)然可以按照每一維獨(dú)立的計(jì)算其方差,但是通常我們還想了解更多,比如,一個(gè)男孩子的猥瑣程度跟他受女孩子歡迎程度是否存在一些聯(lián)系啊,嘿嘿~協(xié)方差就是這樣一種用來度量?jī)蓚€(gè)隨機(jī)變量關(guān)系的統(tǒng)計(jì)量,我們可以仿照方差的定義:

來度量各個(gè)維度偏離其均值的程度,標(biāo)準(zhǔn)差可以這么來定義:

協(xié)方差的結(jié)果有什么意義呢?如果結(jié)果為正值,則說明兩者是正相關(guān)的(從協(xié)方差可以引出“相關(guān)系數(shù)”的定義),也就是說一個(gè)人越猥瑣就越受女孩子歡迎,嘿嘿,那必須的~結(jié)果為負(fù)值就說明負(fù)相關(guān)的,越猥瑣女孩子越討厭,可能嗎?如果為0,也是就是統(tǒng)計(jì)上說的“相互獨(dú)立”。
從協(xié)方差的定義上我們也可以看出一些顯而易見的性質(zhì),如:

協(xié)方差多了就是協(xié)方差矩陣
上一節(jié)提到的猥瑣和受歡迎的問題是典型二維問題,而協(xié)方差也只能處理二維問題,那維數(shù)多了自然就需要計(jì)算多個(gè)協(xié)方差,比如n維的數(shù)據(jù)集就需要計(jì)算 n! / ((n-2)!*2) 個(gè)協(xié)方差,那自然而然的我們會(huì)想到使用矩陣來組織這些數(shù)據(jù)。給出協(xié)方差矩陣的定義:

這個(gè)定義還是很容易理解的,我們可以舉一個(gè)簡(jiǎn)單的三維的例子,假設(shè)數(shù)據(jù)集有三個(gè)維度,則協(xié)方差矩陣為

可見,協(xié)方差矩陣是一個(gè)對(duì)稱的矩陣,而且對(duì)角線是各個(gè)維度上的方差。
很顯然,均值描述的是樣本集合的中間點(diǎn),它告訴我們的信息是很有限的,而標(biāo)準(zhǔn)差給我們描述的則是樣本集合的各個(gè)樣本點(diǎn)到均值的距離之平均。以這兩個(gè)集合為例,[0,8,12,20]和[8,9,11,12],兩個(gè)集合的均值都是10,但顯然兩個(gè)集合差別是很大的,計(jì)算兩者的標(biāo)準(zhǔn)差,前者是8.3,后者是1.8,顯然后者較為集中,故其標(biāo)準(zhǔn)差小一些,標(biāo)準(zhǔn)差描述的就是這種“散布度”。之所以除以n-1而不是除以n,是因?yàn)檫@樣能使我們以較小的樣本集更好的逼近總體的標(biāo)準(zhǔn)差,即統(tǒng)計(jì)上所謂的“無偏估計(jì)”。而方差則僅僅是標(biāo)準(zhǔn)差的平方。
協(xié)方差的計(jì)算公式例子
首先,隨機(jī)產(chǎn)生一個(gè)10*3維的整數(shù)矩陣作為樣本集,10為樣本的個(gè)數(shù),3為樣本的維數(shù)。
mysample = fix(rand(10,3)*50)

根據(jù)公式,計(jì)算協(xié)方差需要計(jì)算均值,那是按行計(jì)算均值還是按列呢,我一開始就老是困擾這個(gè)問題。前面我們也特別強(qiáng)調(diào)了,協(xié)方差矩陣是計(jì)算不同維度間的協(xié)方差,要時(shí)刻牢記這一點(diǎn)。樣本矩陣的每行是一個(gè)樣本,每列為一個(gè)維度,所以我們要按列計(jì)算均值。為了描述方便,我們先將三個(gè)維度的數(shù)據(jù)分別賦值:
》》 dim1 = mysample(:,1);
》》 dim2 = mysample(:,2);
》》 dim3 = mysample(:,3);
計(jì)算dim1與dim2,dim1與dim3,dim2與dim3的協(xié)方差:
》》 sum((dim1 - mean(dim1)) .* (dim2 - mean(dim2))) / (size(mysample, 1) - 1) %得到 -147.0667
》》 sum((dim1 - mean(dim1)) .* (dim3 - mean(dim3))) / (size(mysample, 1) - 1) %得到 -82.2667
》》 sum((dim2 - mean(dim2)) .* (dim3 - mean(dim3))) / (size(mysample, 1) - 1) %得到 76.5111
搞清楚了這個(gè)后面就容易多了,協(xié)方差矩陣的對(duì)角線就是各個(gè)維度上的方差,下面我們依次計(jì)算:
》》 var(dim1) %得到 227.8778
》》 var(dim2) %得到 179.8222
》》 var(dim3) %得到 156.7111
這樣,我們就得到了計(jì)算協(xié)方差矩陣所需要的所有數(shù)據(jù),調(diào)用Matlab自帶的cov函數(shù)進(jìn)行驗(yàn)證:
》》 cov(mysample)

把我們計(jì)算的數(shù)據(jù)對(duì)號(hào)入座,是不是一摸一樣?
電子發(fā)燒友App




























評(píng)論