天天看點

典型相關分析(canonical correlation analysis,CCA)一、什麼是典型相關分析二、典型相關分析的思想三、典型相關分析的理論以及基本假設四、備援分析五、典型相關系數的假設檢驗關于典型相關分析的具體操作

一、什麼是典型相關分析

通常情況下,為了研究兩組變量

{ X = ( x 1 , x 2 , ⋯   , x p ) Y = ( y 1 , y 2 , ⋯   , y q ) \left\{ \begin{array}{l} X=\left( x_1,x_2,\cdots ,x_p \right)\\ \\ Y=\left( y_1,y_2,\cdots ,y_q \right)\\ \end{array} \right. ⎩⎨⎧​X=(x1​,x2​,⋯,xp​)Y=(y1​,y2​,⋯,yq​)​

的相關關系,可以用最原始的方法,分别計算兩組變量之間的全部相關系數,一共有 p × q p\times q p×q個簡單相關系數,這樣又煩瑣又不能抓住問題的本質。如果能夠采用類似于主成分的思想,分别找出兩組變量的各自的某個線性組合,讨論線性組合之間的相關關系,則更簡捷。

是以,典型相關分析是分析兩組變量之間的相關性的一種統計方法,它包含了簡單的Pearson相關分析(兩組均隻含一個變量)和複相關(一組隻含一個變量,另一個組含多個變量)這兩種特殊情況。

典型相關分析的基本思想和主成分分析的基本思想相似,它将一組變量與另一組變量之間單變量的多重線性相關性研究,轉換為少數幾對綜合變量之間的簡單線性相關性的研究,并且這少數幾對變量所包含的線性相關性的資訊幾乎覆寫了原變量組所包含的全部相應資訊。

二、典型相關分析的思想

假設所研究的兩組變量為X組和Y組,其中X組有p個變量

X = ( x 1 , x 2 , ⋯   , x p ) X=\left( x_1,x_2,\cdots ,x_p \right) X=(x1​,x2​,⋯,xp​)

Y組有q個變量

Y = ( y 1 , y 2 , ⋯   , y q ) \begin{array}{l} Y=\left( y_1,y_2,\cdots ,y_q \right)\\ \end{array} Y=(y1​,y2​,⋯,yq​)​

則分别對這兩組變量做線性組合後,再計算它們的權重和的簡單相關系數,以這個簡單相關系數當做這兩組變量之間相關性的度量名額,即

{ u = a 1 x 1 + a 2 x 2 + ⋯ + a p x p v = b 1 y 1 + b 2 y 2 + ⋯ + b q y q \left\{ \begin{array}{l} u=a_1x_1+a_2x_2+\cdots +a_px_p\\ \\ v=b_1y_1+b_2y_2+\cdots +b_qy_q\\ \end{array} \right. ⎩⎨⎧​u=a1​x1​+a2​x2​+⋯+ap​xp​v=b1​y1​+b2​y2​+⋯+bq​yq​​

其中,u 和 v 分别是由 x 變量和 y 變量的線性組合産生的綜合逐漸變量。顯然,對任意的一組系數 ( a 1 , a 2 , ⋯   , a p ) , ( b 1 , b 2 , ⋯   , b q ) \left( a_1,a_2,\cdots ,a_p \right) \text{,}\left( b_1,b_2,\cdots ,b_q \right) (a1​,a2​,⋯,ap​),(b1​,b2​,⋯,bq​),都可以通過上式求出一對典型變量 u 和 v,在典型相關分析中稱之為典型變量。進而可以求出典型變量 u 和 v 的簡單相關系數,稱之為典型相關系數。

那麼,問題來了,怎麼進行組合呢?

首先,分别在每組變量中找出第一對線性組合

{ u 1 = a 11 x 1 + a 21 x 2 + ⋯ + a p 1 x p v 1 = b 11 y 1 + b 21 y 2 + ⋯ + b q 1 y q \left\{ \begin{array}{l} u_1=a_{11}x_1+a_{21}x_2+\cdots +a_{p1}x_p\\ \\ v_1=b_{11}y_1+b_{21}y_2+\cdots +b_{q1}y_q\\ \end{array} \right. ⎩⎨⎧​u1​=a11​x1​+a21​x2​+⋯+ap1​xp​v1​=b11​y1​+b21​y2​+⋯+bq1​yq​​

使其具有最大相關性,即使得對應的典型變量 u 1 u_1 u1​和 v 1 v_1 v1​的相關系數為最大。假設這個最大的相關系數是 p 1 = p ( u 1 , v 1 ) p_1=p\left( u_1,v_1 \right) p1​=p(u1​,v1​)

則稱 p 1 p_1 p1​為第1典型相關系數,且稱具有最大相關系數的這對典型變量 u 1 u_1 u1​和 v 1 v_1 v1​為第1典型變量。

然後再次估計組合系數,在每組變量中找出第二對線性組合,使其分别與本組内的第一線性組合不相關,第二對本身具有次大的相關性

{ u 2 = a 12 x 1 + a 22 x 2 + ⋯ + a p 2 x p v 2 = b 12 y 1 + b 22 y 2 + ⋯ + b q 2 y q \left\{ \begin{array}{l} u_2=a_{12}x_1+a_{22}x_2+\cdots +a_{p2}x_p\\ \\ v_2=b_{12}y_1+b_{22}y_2+\cdots +b_{q2}y_q\\ \end{array} \right. ⎩⎨⎧​u2​=a12​x1​+a22​x2​+⋯+ap2​xp​v2​=b12​y1​+b22​y2​+⋯+bq2​yq​​

假設這個次大的相關系數是 p 2 = p ( u 2 , v 2 ) p_2=p\left( u_2,v_2 \right) p2​=p(u2​,v2​)

則稱 p 2 p_2 p2​為第2典型相關系數,且稱這對典型變量 u 2 u_2 u2​和 v 2 v_2 v2​為第2典型變量。

其中, u 2 u_2 u2​和 v 2 v_2 v2​ 與 u 1 u_1 u1​和 v 1 v_1 v1​互相獨立,但 u 2 u_2 u2​和 v 2 v_2 v2​相關。如此繼續下去,直至進行到 r 步,兩組變量的相關性被提取完為止。

r ≤ m i n ( p , q ) r\le min\left( p,q \right) r≤min(p,q)

可以得到 r 組變量。

從上述分析的過程可以看出,第1對典型變量的第1典型相關系數 p 1 p_1 p1​描述了兩個組中變量之間的相關程度,且它提取的有關這兩組變量相關性的資訊景最多。

第2對典型變量的第2典型相關系數 p 2 p_2 p2​也描述了兩個組中變量之間的相關程度,但它提取的有關這兩組變量相關性的信總量次多。

依次類推,可以得知,由上述方法得到的一系列典型變量的典型相關系數,所包含的有關原變量組之間相關程度的資訊一個比一個少,如果少數幾對典型變量就能夠解釋原資料的主要資訊,特别是如果一對典型變量就能夠反映出原資料的主要資訊,那麼,對兩個變量組之間相關程度的分析就可以轉化為對少數幾對或者是一對典型變量的簡單相關分析,這就是典型相關分析的主要目的。

三、典型相關分析的理論以及基本假設

考慮兩組變量的向量

{ x = ( x 1 , x 2 , ⋯   , x p ) T y = ( y 1 , y 2 , ⋯   , y q ) T \left\{ \begin{array}{l} x=\left( x_1,x_2,\cdots ,x_p \right) ^T\\ \\ y=\left( y_1,y_2,\cdots ,y_q \right) ^T\\ \end{array} \right. ⎩⎨⎧​x=(x1​,x2​,⋯,xp​)Ty=(y1​,y2​,⋯,yq​)T​

典型相關分析就是尋找 x 組 的線性組合 u 1 = a 11 x 1 + a 21 x 2 + ⋯ + a p 1 x p u_1=a_{11}x_1+a_{21}x_2+\cdots +a_{p1}x_p u1​=a11​x1​+a21​x2​+⋯+ap1​xp​

與 y 組的線性組合 v 1 = b 11 y 1 + b 21 y 2 + ⋯ + b q 1 y q v_1=b_{11}y_1+b_{21}y_2+\cdots +b_{q1}y_q v1​=b11​y1​+b21​y2​+⋯+bq1​yq​,使得 u 1 u_1 u1​和 v 1 v_1 v1​之間的簡單相關系數為最大,其中

a 1 = { a 11 a 12 ⋮ a 1 p         b 1 = { b 11 b 12 ⋮ b 1 q a_1=\left\{ \begin{array}{l} \begin{array}{c} a_{11}\\ a_{12}\\ \end{array}\\ \begin{array}{c} \vdots\\ a_{1p}\\ \end{array}\\ \end{array} \right. \ \ \ \ \ \ \ b_1=\left\{ \begin{array}{l} \begin{array}{c} b_{11}\\ b_{12}\\ \end{array}\\ \begin{array}{c} \vdots\\ b_{1q}\\ \end{array}\\ \end{array} \right. a1​=⎩⎪⎪⎪⎨⎪⎪⎪⎧​a11​a12​​⋮a1p​​​       b1​=⎩⎪⎪⎪⎨⎪⎪⎪⎧​b11​b12​​⋮b1q​​​

設,x 組與 y 組的協方差陣為

Σ = [ Σ x x Σ x y Σ y x Σ y y ] \Sigma =\left[ \begin{matrix} \varSigma _{xx}& \varSigma _{xy}\\ \varSigma _{yx}& \varSigma _{yy}\\ \end{matrix} \right] Σ=[Σxx​Σyx​​Σxy​Σyy​​]

其中 Σ x x \varSigma _{xx} Σxx​是 x 組 的協方差矩陣; Σ y y \varSigma _{yy} Σyy​是 y 組變量的協方差矩陣; Σ x y = Σ y x ′ \Sigma _{xy}=\Sigma '_{yx} Σxy​=Σyx′​ 是 x 組和 y 組 的協方差矩陣。

則 u 1 u_1 u1​的方差為

V a r ( u 1 ) = V a r ( a 1 ′ x ) = a 1 ′ Σ x x a 1 Var\left( u_1 \right) =Var\left( a_1'x \right) =a_1'\varSigma _{xx}a_1 Var(u1​)=Var(a1′​x)=a1′​Σxx​a1​

v 1 v_1 v1​的方差為

V a r ( v 1 ) = V a r ( b 1 ′ y ) = b 1 ′ Σ y y b 1 Var\left( v_1 \right) =Var\left( b_1'y \right) =b_1'\varSigma _{yy}b_1 Var(v1​)=Var(b1′​y)=b1′​Σyy​b1​

u 1 u_1 u1​和 v 1 v_1 v1​的協方差為

C o v ( u 1 , v 1 ) = C o v ( a 1 ′ x , b 1 ′ y ) = a 1 ′ Σ x y b 1 Cov\left( u_1,v_1 \right) =Cov\left( a_1'x,b_1'y \right) =a_1'\varSigma _{xy}b_1 Cov(u1​,v1​)=Cov(a1′​x,b1′​y)=a1′​Σxy​b1​

u 1 u_1 u1​和 v 1 v_1 v1​的簡單相關系數(pearson)為

p ( u 1 , v 1 ) = C o v ( u 1 , v 1 ) V a r ( u 1 ) × V a r ( v 1 ) = a 1 ′ Σ x y b 1 a 1 ′ Σ x x a 1 b 1 ′ Σ y y b 1 p\left( u_1,v_1 \right) =\frac{Cov\left( u_1,v_1 \right)}{\sqrt{Var\left( u_1 \right) \times Var\left( v_1 \right)}}=\frac{a_1'\varSigma _{xy}b_1}{\sqrt{a_1'\varSigma _{xx}a_1b_1'\varSigma _{yy}b_1}} p(u1​,v1​)=Var(u1​)×Var(v1​)

​Cov(u1​,v1​)​=a1′​Σxx​a1​b1′​Σyy​b1​

​a1′​Σxy​b1​​

典型相關問題就是使得 u 1 u_1 u1​和 v 1 v_1 v1​的簡單相關系數最大,故:

在 V a r ( u 1 ) = 1 Var\left( u_1 \right) =1 Var(u1​)=1和 V a r ( v 1 ) = 1 Var\left( v_1 \right)=1 Var(v1​)=1的條件下,求取使 C o v ( u 1 , v 1 ) Cov\left( u_1,v_1 \right) Cov(u1​,v1​)最大的 a 1 a_1 a1​和 b 1 b_1 b1​。

然後再次估計組合系數,直至進行到 r 步,兩組變量的相關性被提取完為止。

r ≤ m i n ( p , q ) r\le min\left( p,q \right) r≤min(p,q)

可以得到 r 組變量。求出每一組特征值,滿足

λ 1 ≥ λ 2 ≥ ⋯ ≥ λ r \lambda _1\ge \lambda _2\ge \cdots \ge \lambda _r λ1​≥λ2​≥⋯≥λr​

a i a_i ai​和 b i b_i bi​分别是 λ i \lambda _i λi​的特征向量,則 u i = a i ′ x u_i=a_i'x ui​=ai′​x和 v i = b i ′ y v_i=b_i'y vi​=bi′​y,稱為第 i 組典型變量, u i u_i ui​和 v i v_i vi​的第 i 典型相關為 λ i , i = 1 , 2 , ⋯   , r \sqrt{\lambda _i}\text{,}i=1,2,\cdots ,r λi​

​,i=1,2,⋯,r

因為, Σ x x , Σ y y , Σ x y \varSigma _{xx},\varSigma _{yy},\varSigma _{xy} Σxx​,Σyy​,Σxy​未知,改以 S x x , S y y , S x y S_{xx},S_{yy},S_{xy} Sxx​,Syy​,Sxy​取代之,而得到

λ ^ 1 ≥ λ ^ 2 ≥ ⋯ ≥ λ ^ r \hat{\lambda}_1\ge \hat{\lambda}_2\ge \cdots \ge \hat{\lambda}_r λ^1​≥λ^2​≥⋯≥λ^r​

典型變量的系數稱為典型權重,權重越大,表示此變量對此典型變量的貢獻越大。在以上的計算中,此權重為标準後的資源所得的,故 k 個資料的第 i 典型變量得點為

∑ a i j ( x j k − x ˉ j ) s j \sum_{}{a_{ij}\frac{\left( x_{jk}-\bar{x}_j \right)}{s_j}} ∑​aij​sj​(xjk​−xˉj​)​

四、備援分析

備援分析是通過原始變量與典型變量之間的相關性。分析引起原始變量變異的原因。以原始變量為因變量,以典型變量為自變量,建立線性回歸模型,則相應的确定系數(判定系數 R 2 R^2 R2)等于因變量與典型變量間的相關系數的平方,它描述了由于因變量與典型變量的線性關系引起的因變量變異在因變量的總變異中比例。

典型負荷為變量與典型變量的相關系數,可由相關系數的平方了解此典型變量解釋了此變量多少比例的變異數。

五、典型相關系數的假設檢驗

那麼,要選擇多少組典型變量呢?

在做兩組變量 X,Y 的典型相關分析之前,首先應該檢驗兩組變量是否相關,如果不相關,則讨論兩組變量的典型相關就毫無意義.

最多可以選取 r = min(p,q) 組,可經由卡方檢驗決定要選取多少組典型變量。先檢驗最大的典型根,然後再一個接一個對各個根進行檢驗,隻保留有統計顯著性(就是拒絕原假設)的根。

(1)提出假設

H 0 : λ 1 = λ 2 = λ 3 = ⋯ = λ r = 0 ↔ H 1 : λ 1 , λ 2 , λ 3 , ⋯   , λ r 至少有一個不為 0 H_0\text{:}\lambda _1=\lambda _2=\lambda _3=\cdots =\lambda _r=0\leftrightarrow H_1\text{:}\lambda _1,\lambda _2,\lambda _3,\cdots ,\lambda _r\text{至少有一個不為}0 H0​:λ1​=λ2​=λ3​=⋯=λr​=0↔H1​:λ1​,λ2​,λ3​,⋯,λr​至少有一個不為0

檢驗統計量

χ 2 = − [ ( n − 1 ) − p + q + 1 2 ] ln ⁡ ( 1 − λ ^ 1 ) ( 1 − λ ^ 2 ) ( 1 − λ ^ 3 ) ⋯ ( 1 − λ ^ r ) \chi ^2=-\left[ \left( n-1 \right) -\frac{p+q+1}{2} \right] \ln \left( 1-\hat{\lambda}_1 \right) \left( 1-\hat{\lambda}_2 \right) \left( 1-\hat{\lambda}_3 \right) \cdots \left( 1-\hat{\lambda}_r \right) χ2=−[(n−1)−2p+q+1​]ln(1−λ^1​)(1−λ^2​)(1−λ^3​)⋯(1−λ^r​)

其中, r = min(p,q),若 χ 2 > χ α 2 ( p q ) \chi ^2>\chi _{\alpha}^2\left( pq \right) χ2>χα2​(pq),則拒絕原假設,則認為至少第一對典型變量 u 1 u_1 u1​和 v 1 v_1 v1​具有相關性,得出第一對典型變量 u 1 u_1 u1​和 v 1 v_1 v1​可能已經提取了兩組變量X 和 Y相關關系的絕大部分資訊, λ 1 \lambda _1 λ1​是顯著的,是具有價值的,那麼,接下來将它移除,再檢驗剩餘 r -1 組的顯著性,否則接受原假設,認為兩組變量之間的相關性沒有意義。

(2)當上述原假設 H 0 H_0 H0​被拒絕時,接着做

H 0 : λ 2 = λ 3 = ⋯ = λ r = 0 H_0\text{:}\lambda _2=\lambda _3=\cdots =\lambda _r=0 H0​:λ2​=λ3​=⋯=λr​=0

檢驗統計量

χ 2 = − [ ( n − 1 ) − p + q + 1 2 ] ln ⁡ ( 1 − λ ^ 2 ) ( 1 − λ ^ 3 ) ⋯ ( 1 − λ ^ r ) \chi ^2=-\left[ \left( n-1 \right) -\frac{p+q+1}{2} \right] \ln \left( 1-\hat{\lambda}_2 \right) \left( 1-\hat{\lambda}_3 \right) \cdots \left( 1-\hat{\lambda}_r \right) χ2=−[(n−1)−2p+q+1​]ln(1−λ^2​)(1−λ^3​)⋯(1−λ^r​)

其中, r = min(p,q),若 χ 2 > χ α 2 ( ( p − 1 ) ( q − 1 ) ) \chi ^2>\chi _{\alpha}^{2}\left( \left( p-1 \right) \left( q-1 \right) \right) χ2>χα2​((p−1)(q−1))

則拒絕原假設,則認為第二對典型變量 u 2 u_2 u2​和 v 2 v_2 v2​具有相關性,認為至少前兩組具有相關性,可能已經提取大部分資訊, λ 2 \lambda _2 λ2​也是顯著的,是具有價值的,那麼,接下來将它移除,再檢驗剩餘 r -2 組的顯著性。

(3)當上述原假設 H 0 H_0 H0​被拒絕時,接着做

H 0 : λ 3 = ⋯ = λ r = 0 H_0\text{:}\lambda _3=\cdots =\lambda _r=0 H0​:λ3​=⋯=λr​=0

(4)依次類推,直到在檢驗某個 t 值 ,沒有理由拒絕原假設為止,即認為至少前t-1組典型變量是相關的,都是具有價值的,可能已經提取 X 和 Y 相關關系的絕大部分資訊,沒有必要對剩餘的組進行檢驗了。

H 0 : λ t = ⋯ = λ r = 0 H_0\text{:}\lambda _t=\cdots =\lambda _r=0 H0​:λt​=⋯=λr​=0

事實上,檢驗的總顯著性水準已不是α了,且難以确定。還有,檢驗的結果易受樣本容量大小的影響,是以,檢驗的結果隻宜作為确定典型變量個數的重要參考依據,而不宜作為惟一的依據。

關于典型相關分析的具體操作

實際上,隻需要掌握典型相關分析的基本原理,基本思想就可以了,具體實際操作并不難,不需要通過公式進行計算,目前基本上是使用SPSS進行分析。

這裡推薦兩個教程:

https://mp.weixin.qq.com/s/cI0wXAjRIjQkPC_xAfbQpw

https://mp.weixin.qq.com/s/cQiDk4ZsKvvcl9E5kaakIg

繼續閱讀