一、統(tǒng)計學(xué)的基本概念 統(tǒng)計學(xué)里最基本的概念就是樣本的均值、方差、標準差。首先,我們給定一個含有n個樣本的集合,下面給出這些概念的公式描述: 均值: 標準差: 方差: 均值描述的是樣本集合的中間點,它告訴我們的信息是有限的,而標準差給我們描述的是樣本集合的各個樣本點到均值的距離之平均。 以這兩個集合為例,[0, 8, 12, 20]和[8, 9, 11, 12],兩個集合的均值都是10,但顯然兩個集合的差別是很大的,計算兩者的標準差,前者是8.3后者是1.8,顯然后者較為集中,故其標準差小一些,標準差描述的就是這種“散布度”。之所以除以n-1而不是n,是因為這樣能使我們以較小的樣本集更好地逼近總體的標準差,即統(tǒng)計上所謂的“無偏估計”。而方差則僅僅是標準差的平方。 二、為什么需要協(xié)方差 標準差和方差一般是用來描述一維數(shù)據(jù)的,但現(xiàn)實生活中我們常常會遇到含有多維數(shù)據(jù)的數(shù)據(jù)集,最簡單的是大家上學(xué)時免不了要統(tǒng)計多個學(xué)科的考試成績。面對這樣的數(shù)據(jù)集,我們當然可以按照每一維獨立的計算其方差,但是通常我們還想了解更多,比如,一個男孩子的猥瑣程度跟他受女孩子的歡迎程度是否存在一些聯(lián)系。協(xié)方差就是這樣一種用來度量兩個隨機變量關(guān)系的統(tǒng)計量,我們可以仿照方差的定義: ![clip_image002[6] clip_image002[6]](http://image93.360doc.com/DownloadImg/2016/01/1814/64668872_4.gif) 來度量各個維度偏離其均值的程度,協(xié)方差可以這樣來定義: ![clip_image002[8] clip_image002[8]](http://image93.360doc.com/DownloadImg/2016/01/1814/64668872_5.gif) 協(xié)方差的結(jié)果有什么意義呢?如果結(jié)果為正值,則說明兩者是正相關(guān)的(從協(xié)方差可以引出“相關(guān)系數(shù)”的定義),也就是說一個人越猥瑣越受女孩歡迎。如果結(jié)果為負值, 就說明兩者是負相關(guān),越猥瑣女孩子越討厭。如果為0,則兩者之間沒有關(guān)系,猥瑣不猥瑣和女孩子喜不喜歡之間沒有關(guān)聯(lián),就是統(tǒng)計上說的“相互獨立”。 從協(xié)方差的定義上我們也可以看出一些顯而易見的性質(zhì),如: ![clip_image002[10] clip_image002[10]](http://image93.360doc.com/DownloadImg/2016/01/1814/64668872_6.gif) ![clip_image002[12] clip_image002[12]](http://image93.360doc.com/DownloadImg/2016/01/1814/64668872_7.gif) 三、協(xié)方差矩陣 前面提到的猥瑣和受歡迎的問題是典型的二維問題,而協(xié)方差也只能處理二維問題,那維數(shù)多了自然就需要計算多個協(xié)方差,比如n維的數(shù)據(jù)集就需要計算 個協(xié)方差,那自然而然我們會想到使用矩陣來組織這些數(shù)據(jù)。給出協(xié)方差矩陣的定義: ![clip_image002[18] clip_image002[18]](http://image93.360doc.com/DownloadImg/2016/01/1814/64668872_9.gif) 這個定義還是很容易理解的,我們可以舉一個三維的例子,假設(shè)數(shù)據(jù)集有三個維度,則協(xié)方差矩陣為: ![clip_image002[20] clip_image002[20]](http://image93.360doc.com/DownloadImg/2016/01/1814/64668872_10.gif) 可見,協(xié)方差矩陣是一個對稱的矩陣,而且對角線是各個維度的方差。 四、Matlab協(xié)方差實戰(zhàn) 必須要明確一點,協(xié)方差矩陣計算的是不同維度之間的協(xié)方差,而不是不同樣本之間的。以下的演示將使用Matlab,為了說明計算原理,不直接調(diào)用Matlab的cov函數(shù): 首先,隨機生成一個10*3維的整數(shù)矩陣作為樣本集,10為樣本的個數(shù),3為樣本的維數(shù)。  圖 1 使用Matlab生成樣本集 根據(jù)公式,計算協(xié)方差需要計算均值,前面特別強調(diào)了,協(xié)方差矩陣是計算不同維度之間的協(xié)方差,要時刻牢記這一點。樣本矩陣的每行是一個樣本,每列是一個維度,因此我們要按列計算均值。為了描述方便,我們先將三個維度的數(shù)據(jù)分別賦值:  圖 2 將三個維度的數(shù)據(jù)分別賦值 計算dim1與dim2,dim1與dim3,dim2與dim3的協(xié)方差:  圖 3 計算三個協(xié)方差 協(xié)方差矩陣的對角線上的元素就是各個維度的方差,下面我們依次計算這些方差:  圖 4 計算對角線上的方差 這樣,我們就得到了計算協(xié)方差矩陣所需要的所有數(shù)據(jù),可以調(diào)用Matlab的cov函數(shù)直接得到協(xié)方差矩陣:  圖 5 使用Matlab的cov函數(shù)直接計算樣本的協(xié)方差矩陣 計算的結(jié)果,和之前的數(shù)據(jù)填入矩陣后的結(jié)果完全相同。 五、總結(jié) 理解協(xié)方差矩陣的關(guān)鍵就在于牢記它的計算是不同維度之間的協(xié)方差,而不是不同樣本之間。拿到一個樣本矩陣,最先要明確的就是一行是一個樣本還是一個維度,心中明確整個計算過程就會順流而下,這么一來就不會迷茫了。 原文地址: http:///2010/08/31/covariance/
|