協方差深刻解讀

在作機器學習時,用到協方差,以前對之意義不是很理解,今天着重研究一下。

統計學基本概念

學過幾率統計的孩子都知道,統計裏最基本的概念就是樣本的均值,方差,或者再加個標準差。首先咱們給你一個含有n個樣本的集合關於協方差矩陣的概念及意義,依次給出這些概念的公式描述,這些高中學過數學的孩子都應該知道吧,一帶而過。html

file

很顯然,均值描述的是樣本集合的中間點,它告訴咱們的信息是頗有限的,而標準差給咱們描述的則是樣本集合的各個樣本點到均值的距離之平均。以這兩個集合爲例,[0,8,12,20]和[8,9,11,12],兩個集合的均值都是10,但顯然兩個集合差異是很大的,計算二者的標準差,前者是8.3,後者是1.8,顯而後者較爲集中,故其標準差小一些,標準差描述的就是這種「散佈度」。之因此除以n-1而不是除以n,是由於這樣能使咱們以較小的樣本集更好的逼近整體的標準差,即統計上所謂的「無偏估計」。而方差則僅僅是標準差的平方。機器學習

爲何須要協方差?

上面幾個統計量看似已經描述的差很少了,但咱們應該注意到,標準差和方差通常是用來描述一維數據的,但現實生活咱們經常遇到含有多維數據的數據集,最簡單的你們上學時免不了要統計多個學科的考試成績。面對這樣的數據集,咱們固然能夠按照每一維獨立的計算其方差,可是一般咱們還想了解更多,好比,一個男孩子的猥瑣程度跟他受女孩子歡迎程度是否存在一些聯繫啊,嘿嘿~協方差就是這樣一種用來度量兩個隨機變量關係的統計量,咱們能夠仿照方差的定義:ide

file

來度量各個維度偏離其均值的程度,標準差能夠這麼來定義:
file學習

協方差的結果有什麼意義呢?若是結果爲正值,則說明二者是正相關的(從協方差能夠引出「相關係數」的定義),也就是說一我的越猥瑣就越受女孩子歡迎,嘿嘿,那必須的~結果爲負值就說明負相關的,越猥瑣女孩子越討厭,可能嗎?若是爲0,也是就是統計上說的「相互獨立」。(sh199210注:該結論有誤,協方差爲零不能說明獨立)ui

協方差的意義

在機率論中,兩個隨機變量 X 與 Y 之間相互關係,大體有下列3種狀況:
filespa

當 X, Y 的聯合分佈像上圖那樣時,咱們能夠看出,大體上有: X 越大 Y 也越大, X 越小 Y 也越小,這種狀況,咱們稱爲「正相關」。3d

file
當X, Y 的聯合分佈像上圖那樣時,咱們能夠看出,大體上有:X 越大Y 反而越小,X 越小 Y 反而越大,這種狀況,咱們稱爲「負相關」。code

file
當X, Y 的聯合分佈像上圖那樣時,咱們能夠看出:既不是X 越大Y 也越大,也不是 X 越大 Y 反而越小,這種狀況咱們稱爲「不相關」。orm

怎樣將這3種相關狀況,用一個簡單的數字表達出來呢?htm

在圖中的區域(1)中,有 X>EX ,Y-EY>0 ,因此(X-EX)(Y-EY)>0;

在圖中的區域(2)中,有 X<EX ,Y-EY>0 ,因此(X-EX)(Y-EY)<0;

在圖中的區域(3)中,有 X<EX ,Y-EY<0 ,因此(X-EX)(Y-EY)>0;

在圖中的區域(4)中,有 X>EX ,Y-EY<0 ,因此(X-EX)(Y-EY)<0。

當X 與Y 正相關時,它們的分佈大部分在區域(1)和(3)中,小部分在區域(2)和(4)中,因此平均來講,有E(X-EX)(Y-EY)>0 。

當 X與 Y負相關時,它們的分佈大部分在區域(2)和(4)中,小部分在區域(1)和(3)中,因此平均來講,有(X-EX)(Y-EY)<0 。

當 X與 Y不相關時,它們在區域(1)和(3)中的分佈,與在區域(2)和(4)中的分佈幾乎同樣多,因此平均來講,有(X-EX)(Y-EY)=0 。

因此,咱們能夠定義一個表示X, Y 相互關係的數字特徵,也就是協方差

cov(X, Y) = E(X-EX)(Y-EY)

當 cov(X, Y)>0時,代表 X與Y 正相關;

當 cov(X, Y)<0時,代表X與Y負相關;

當 cov(X, Y)=0時,代表X與Y不相關。

這就是協方差的意義。

協方差多了就是協方差矩陣

上一節提到的猥瑣和受歡迎的問題是典型二維問題,而協方差也只能處理二維問題,那維數多了天然就須要計算多個協方差,好比n維的數據集就須要計算關於協方差矩陣的概念及意義個協方差,那天然而然的咱們會想到使用矩陣來組織這些數據。給出協方差矩陣的定義:

file

這個定義仍是很容易理解的,咱們能夠舉一個簡單的三維的例子,假設數據集有{x,y,z}關於協方差矩陣的概念及意義三個維度,則協方差矩陣爲
file

可見,協方差矩陣是一個對稱的矩陣,並且對角線是各個維度上的方差。

關於協方差矩陣的解讀

協方差矩陣實在是過重要了,不管是在計量,金融工程仍是隨機分析中,咱們都會到用到協方差矩陣。

其實,這三者都利用了協方差矩陣自己的含義,即隨機變量之間的線性相關關係(固然, 相關係數矩陣在此處更爲貼切),也利用了協方差矩陣爲半正定矩陣的性質。下面具體道來:

file

1.在金融隨機分析和金融工程中的應用

在金融隨機分析中咱們能夠採用Monte Carlo方法對期權進行訂價,若是對於普通的歐式期權,那麼咱們只要產生N個正態分佈的隨機數便可。可是,對於那些依賴於多個相關隨機過程(Correlated Brownian Motion)的資產的訂價,咱們就要產生知足特定相關關係的隨機變量,而這正是依靠協方差矩陣和上面所述的Cholesky分解完成的。好比,Quanto(Quantity Adjusting Option)雙幣種期權就是知足上述特徵的期權。這裏我複製個人BLOG中的一段,
Quanto Nikkei Option. Consider a Nikkei quanto into dollar call option. Assuming both the USD/JPY and Nikkei are both lognormal process, i.e.

file

where S and X are the equity and FX process. On a spreadsheet, simulate the process, and show that by delta hedging alone, you can replicate the quanto call option. Assume the maturity of the option is one year.
在使用Monte Carlo方法對於上述期權訂價時,核心是要模擬兩個具備相關性的布朗運動,這時候,咱們就能夠利用以前提到的協方差矩陣的Cholesky分解。Matlab code:

Sigma = [siga^2 siga*sigb*rho;
siga*sigb*rho sigb^2];
B = randn(2,n);
C=chol(Sigma);
V = C' * B;
STa = S0a * exp((mua - (siga^2)/2)*T + sqrt(T)*V(1,:));
STb = S0b * exp((mub - (sigb^2)/2)*T + sqrt(T)*V(2,:));

Python 中使用

numpy.cov()的做用是計算協方差矩陣,下面給出幾個例子

>>> x = np.array([[0, 2], [1, 1], [2, 0]]).T
>>> x
array([[0, 1, 2],
       [2, 1, 0]])

打印:

>>> np.cov(x)
array([[ 1., -1.],
       [-1.,  1.]])

相關文章:協方差表明的意義是什麼?

相關文章
相關標籤/搜索