轉自http://www.cnblogs.com/chaosimple/p/3182157.htmlhtml
統計學裏最基本的概念就是樣本的均值、方差、標準差。首先,咱們給定一個含有n個樣本的集合,下面給出這些概念的公式描述:函數
均值描述的是樣本集合的中間點,它告訴咱們的信息是有限的,而標準差給咱們描述的是樣本集合的各個樣本點到均值的距離之平均。blog
以這兩個集合爲例,[0, 8, 12, 20]和[8, 9, 11, 12],兩個集合的均值都是10,但顯然兩個集合的差異是很大的,計算二者的標準差,前者是8.3後者是1.8,顯而後者較爲集中,故其標準差小一些,標準差描述的就是這種「散佈度」。之因此除以n-1而不是n,是由於這樣能使咱們以較小的樣本集更好地逼近整體的標準差,即統計上所謂的「無偏估計」。而方差則僅僅是標準差的平方。ip
標準差和方差通常是用來描述一維數據的,但現實生活中咱們經常會遇到含有多維數據的數據集,最簡單的是你們上學時免不了要統計多個學科的考試成績。面對這樣的數據集,咱們固然能夠按照每一維獨立的計算其方差,可是一般咱們還想了解更多,好比,一個男孩子的猥瑣程度跟他受女孩子的歡迎程度是否存在一些聯繫。協方差就是這樣一種用來度量兩個隨機變量關係的統計量,咱們能夠仿照方差的定義:get
來度量各個維度偏離其均值的程度,協方差能夠這樣來定義:it
協方差的結果有什麼意義呢?若是結果爲正值,則說明二者是正相關的(從協方差能夠引出「相關係數」的定義),也就是說一我的越猥瑣越受女孩歡迎。若是結果爲負值, 就說明二者是負相關,越猥瑣女孩子越討厭。若是爲0,則二者之間沒有關係,猥瑣不猥瑣和女孩子喜不喜歡之間沒有關聯,就是統計上說的「相互獨立」。pip
從協方差的定義上咱們也能夠看出一些顯而易見的性質,如:
前面提到的猥瑣和受歡迎的問題是典型的二維問題,而協方差也只能處理二維問題,那維數多了天然就須要計算多個協方差,好比n維的數據集就須要計算個協方差,那天然而然咱們會想到使用矩陣來組織這些數據。給出協方差矩陣的定義:
這個定義仍是很容易理解的,咱們能夠舉一個三維的例子,假設數據集有三個維度,則協方差矩陣爲:
可見,協方差矩陣是一個對稱的矩陣,並且對角線是各個維度的方差。
必需要明確一點,協方差矩陣計算的是不一樣維度之間的協方差,而不是不一樣樣本之間的。如下的演示將使用Matlab,爲了說明計算原理,不直接調用Matlab的cov函數:
首先,隨機生成一個10*3維的整數矩陣做爲樣本集,10爲樣本的個數,3爲樣本的維數。
圖 1 使用Matlab生成樣本集
根據公式,計算協方差須要計算均值,前面特別強調了,協方差矩陣是計算不一樣維度之間的協方差,要時刻牢記這一點。樣本矩陣的每行是一個樣本,每列是一個維度,所以咱們要按列計算均值。爲了描述方便,咱們先將三個維度的數據分別賦值:
圖 2 將三個維度的數據分別賦值
計算dim1與dim2,dim1與dim3,dim2與dim3的協方差:
圖 3 計算三個協方差
協方差矩陣的對角線上的元素就是各個維度的方差,下面咱們依次計算這些方差:
圖 4 計算對角線上的方差
這樣,咱們就獲得了計算協方差矩陣所須要的全部數據,能夠調用Matlab的cov函數直接獲得協方差矩陣:
圖 5 使用Matlab的cov函數直接計算樣本的協方差矩陣
計算的結果,和以前的數據填入矩陣後的結果徹底相同。
理解協方差矩陣的關鍵就在於牢記它的計算是不一樣維度之間的協方差,而不是不一樣樣本之間。拿到一個樣本矩陣,最早要明確的就是一行是一個樣本仍是一個維度,心中明確整個計算過程就會順流而下,這麼一來就不會迷茫了。
機率論的其餘知識點:機率論中經常使用的公式 :http://www.cnblogs.com/cv-pr/p/5182388.html
常見幾率分佈:http://blog.csdn.net/pipisorry/article/details/39076957
http://blog.csdn.net/pipisorry/article/details/49516209