轉自:https://zhuanlan.zhihu.com/p/36441826
目錄:
- 變量間的關系分析
- 函數關系
- 相關關系
- 平行關系
- 依存關系
- 簡單相關分析
- 計算兩變量之間的線性相關系數
- 協方差定義、柯西-施瓦爾茲不等式
- Pearson 相關系數
- 相關系數的假設檢驗
的圖
- t-檢驗的解讀
- 純探討向——深度探討
一、變量間的關系分析
變量之間的關系可分為兩類:
- 存在完全確定的關系——稱為函數關系
- 不存在完全確定的關系——雖然變量間有着十分密切的關系,但是不能由一個或多各變量值精確地求出另一個變量的值,稱為相關關系,存在相關關系的變量稱為相關變量
相關變量的關系也可分為兩種:
- 兩個及以上變量間相互影響——平行關系
- 一個變量變化受另一個變量的影響——依存關系
它們對應的分析方法:
- 相關分析是研究呈平行關系的相關變量之間的關系
- 回歸分析是研究呈依存關系的相關變量之間的關系
回歸分析和相關分析都是研究變量之間關系的統計學課題,兩種分析方法相互結合和滲透

二、簡單相關分析
相關分析:就是通過對大量數字資料的觀察,消除偶然因素的影響,探求現象之間相關關系的密切程度和表現形式
主要研究內容:現象之間是否相關、相關的方向、密切程度等,不區分自變量與因變量,也不關心各變量的構成形式
主要分析方法:繪制相關圖、計算相關系數、檢驗相關系數
1、計算兩變量之間的線性相關系數
所有相關分析中最簡單的就是兩個變量間的線性相關,一變量數值發生變動,另一變量數值會隨之發生大致均等的變動,各點的分布在平面圖上大概表現為一直線。

線性相關分析,就是用線性相關系數來衡量兩變量的相關關系和密切程度
給定二元總體
總體相關系數用 來表示:
為
的總體方差,
是
的總體方差,
是
與
的協方差。
淺談一下協方差定義:
設 是二維隨機變量,若
存在,
則稱 ,叫
與
的協方差,也叫
與
的相關(中心)矩
即 的偏差"
"與
的偏差"
"乘積的期望。
解讀:
- 當
,
的偏差"
"跟
的偏差"
",有同時增加或同時減少的傾向,又由於
和
都是常數,所以就能夠等價於
與
有同時增加或者減少的傾向,稱
與
正相關
- 當
,
的偏差"
"跟
的偏差"
",有
增加
減少的傾向,或
增加
減少的傾向,稱
與
負相關
- 當
,稱
與
不相關,這時可能是“
與
取值毫無關聯”,也可能是“有某種特殊的非線性關系”
根據柯西-施瓦爾茲不等式(Cauchy–Schwarz inequality):
變形得 在區間
是沒有單位的,因為分子協方差的量綱除以了分母的與分子相同的量綱
- 兩變量線性相關性越密切,
接近於
- 兩變量線性相關性越低,
接近於
的情況跟上面
情況一樣
協方差與相關系數的關系,就像絕對數與相對數的關系。
Pearson 相關系數(樣本線性相關系數)
但是,學過統計的都知道,我們一般用樣本線性相關系數來估計總體線性相關系數
設 是二元總體,簡單隨機抽樣
,
,......,
樣本均值: ,
樣本方差: ,
樣本協方差:
樣本相關系數:
為
的離差平方和,
為
的離差平方和,
為
與
離差乘積之和(可正可負)
實際計算可按下面簡化:
例子:研究身高與體重的關系(R語言)
> x <- c(171,175,159,155,152,158,154,164,168,166,159,164)
> y <- c(57,64,41,38,35,44,41,51,57,49,47,46)
> plot(x,y)
> lxy <- function(x,y){
+ n = length(x);
+ return(sum(x*y)-sum(x)*sum(y)/n)
+ }
> lxy(x,x)
[1] 556.9167
> lxy(y,y)
[1] 813
> lxy(x,y)
[1] 645.5
> r <- lxy(x,y)/sqrt(lxy(x,x)*lxy(y,y))
> r
[1] 0.9593031
也能直接用cor()
> cor(x,y)
[1] 0.9593031

這里的 ,說明身高和體重是正的線性相關關系
至於 是否顯著,就要看下面的顯著性檢驗了。
Python版本的代碼如下:
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> x = np.array([171,175,159,155,152,158,154,164,168,166,159,164])
>>> y = np.array([57,64,41,38,35,44,41,51,57,49,47,46])
>>> np.corrcoef(x, y)
array([[1. , 0.95930314],
[0.95930314, 1. ]])
>>> plt.scatter(x, y)
>>> plt.show()

2、相關系數的假設檢驗
引入假設檢驗的原因: 與其他統計指標一樣,也會有抽樣誤差。從同一總體內抽取若干大小相同的樣本,各樣本的樣本相關系數總會有波動。即根據樣本數據是否有足夠的證據得出總體相關系數不為0的結論
要判斷不等於 的
值是來自總體相關系數
的總體,還是來自
的總體,必須進行顯著性檢驗
由於來自 的總體的所有樣本相關系數呈白噪聲或者其他特殊分布
(為什么?看圖第一行中間、第三行)
因為樣本間沒有線性相關性,可能會雜亂無章(即什么關系也沒有),也可能呈現出一些非線性關系(更高階的關系Pearson相關系數並不能表示出來)

關於 會在第 3 章繼續探討
所以 的顯著性檢驗可以用雙側
檢驗來進行
(1)建立檢驗假設:
(2)構造 統計量,計算相關系數
的
值:
此 近似服從
分布,如果數據嚴格服從二元正態分布

是 gamma 函數,
是高斯超幾何函數。
當總體相關系數 時(假定兩個隨機變量是正態無相關的),樣本相關系數
的密度函數為:
,
是 beta 函數,此密度函數碰巧就是統計量
就是自由度為
的
分布;
(3)計算 值和
值,做結論
在 R語言 中有 cor.test() 函數
# r的顯著性檢驗,參數alternative默認是"two.side"即雙側t檢驗
method默認"pearson"
> cor.test(x1, x2)
Pearson's product-moment correlation
data: x1 and x2
t = 10.743, df = 10, p-value = 8.21e-07
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.8574875 0.9888163
sample estimates:
cor
0.9593031
R的 cor.test() 在這里給出的結果還是比較豐富的。
值為
自由度是
,在顯著性水平
上拒絕
,接受
認為該人群身高和體重成正線性關系
- 置信度為
的區間估計是
,意思是總體線性相關系數
取值在
上的概率是
的點估計為
這段檢驗該如何解讀?
這段代碼檢驗了身高和體重的Pearson相關系數為 的原假設
假設總體相關度為 ,則預計在一百萬次中只會有少於一次的機會見到
這樣大的相關度(即
)
但其實這種情況幾乎不可能發生,所以可以拒絕掉原假設,即身高和體重的總體相關度不為
注意:
相關系數的顯著性是與自由度 有關,也就是與樣本數量
有關(這也是相關系數很明顯的缺點)。
樣本量小,相關系數絕對值容易接近於 ,樣本量大,相關系數絕對值容易偏小。
容易給人一種假象
在樣本量很小 ,自由度
時,雖然
卻是不顯著
在樣本量很大 時,即使
,也是顯著的
所以不能只看 值就下結論,還要看樣本量大小
所以,我們要拿到充分大的樣本,就能把樣本相關系數 作為總體相關系數
,這樣就不必關心顯著性檢驗的結果了
3、
與無法度量非線性關系的強度
舉《Statisitcal Inference第二版》里面的例子4.5.9
,
令 ,其中
,
與
獨立即
但是
進而
但明明是類似於二階拋物線的關系,Pearson相關系數卻為 ?!!
這就明顯說明了Pearson相關系數無法度量非線性關系的強度
下次會繼續深入探討多變量相關性分析
江子星:多變量相關性分析(一個因變量與多個自變量)
參考書籍:
- 《多元統計分析及R語言》第四版——王斌會
- 《概率論與數理統計教程》第二版——茆詩松 / 程依鳴 / 濮曉龍
- 《R語言實戰》第2版——Robert I. Kabacoff
- 《Statistical Inference》——George Casella / Roger L. Berger
- 相關系數檢驗 Using the exact distribution https://en.wikipedia.org/wiki/Pearson_correlation_coefficient