偏相關係數

在多元相關分析中,簡單相關係數可能不能夠真實的反映出變量X和Y之間的相關性,因爲變量之間的關係很複雜,它們可能受到不止一個變量的影響。這個時候偏相關係數是一個更好的選擇。

偏相關係數是在排除了其他變量的影響下計算變量間的相關係數。假設我們需要計算X和Y之間的相關性,Z代表其他所有的變量,X和Y的偏相關係數可以認爲是X和Z線性迴歸得到的殘差Rx與Y和Z線性迴歸得到的殘差Ry之間的簡單相關係數,即pearson相關係數。

偏相關係數的計算可以有下面的三種方法(詳細的計算方法見參考文章)
1 根據上面的說法,從線性迴歸的角度計算變量間的偏相關係數,但是這樣做很麻煩。
2 迭代法,可以認爲簡單相關係數爲0階偏相關係數,任何n階偏相關都可以通過3個(n-1)階偏相關係數計算出來。
3 相關矩陣求逆法,即首先計算出所有變量的相關性矩陣,然後求它的逆矩陣。這樣可以求出任何兩兩變量之間的偏相關係數。

偏相關係數的檢驗可以有兩種方法。一種是t-test,另外一種fisher 轉化法。

R中偏相關係數的計算
corpcor包中提供了相關函數計算偏相關係數,有兩種方式:
1 函數cor2pcor(). 它以數據矩陣X的相關矩陣cor(x)作爲輸入,計算出兩兩的偏相關係數;
2 pcor.shrink(). 它以X作爲輸入,得到兩兩的偏相關係數矩陣;它計算得到的偏相關係數矩陣和cor2pcor()給出的結果大體上相同,但是還是有一些出入。它是用shrinkage estimates的方法計算偏相關係數.


參考文章
partial correlation. http://en.wikipedia.org/wiki/Partial_correlation 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章