典型相关分析
之前的Spearman与Person相关系数分析都是分析两个变量,而典型相关分析就是在分析两组相关变量。
可以参考的文章:知乎SPSSAU
对下面的两组数据(三个生理指标和三个训练指标)
(1)典型相关分析
1.总体思想
- 将两组变量之间的相关性分析转化为一组变量的线性组合与另一组变量的线性组合之间的相关关系的分析。
- 首先:在两组变量内部各找一个线性组合,保证两个线性组合之间的相关系数最大。
- 然后:选取与之前选取的线性组合不相关的新的线性组合,同时也保证新选出的两个线性组合之间的相关系数最大。
- 一直取下去,直到所有相关性的信息被提取完毕。
- 选出的线性组合配对称为典型变量,相关系数称为典型相关系数。
2.原理分析
①
①
① 假设有两个相互关联的随机向量
X
(
1
)
=
(
X
1
(
1
)
,
X
2
(
1
)
,
…
,
X
p
(
1
)
)
,
X
(
2
)
=
(
X
1
(
2
)
,
X
2
(
2
)
,
…
,
X
q
(
2
)
)
。
X^{(1)}=(X_1^{(1)},X_2^{(1)},\dots,X_p^{(1)}),X^{(2)}=(X_1^{(2)},X_2^{(2)},\dots,X_q^{(2)})。
X(1)=(X1(1),X2(1),…,Xp(1)),X(2)=(X1(2),X2(2),…,Xq(2))。各选取原变量的线性组合
U
i
U_i
Ui 和
V
i
V_i
Vi,使
U
i
=
a
1
(
i
)
X
1
(
1
)
+
a
2
(
i
)
X
2
(
1
)
+
⋯
+
a
p
(
i
)
X
p
(
1
)
=
Δ
a
(
i
)
′
X
(
1
)
U_i=a_1^{(i)}X_1^{(1)}+a_2^{(i)}X_2^{(1)}+\dots+a_p^{(i)}X_p^{(1)} \stackrel{\Delta}{=}a^{(i)'}X^{(1)}
Ui=a1(i)X1(1)+a2(i)X2(1)+⋯+ap(i)Xp(1)=Δa(i)′X(1)
V
i
=
b
1
(
i
)
X
1
(
2
)
+
b
2
(
i
)
X
2
(
2
)
+
⋯
+
b
p
(
i
)
X
p
(
2
)
=
Δ
b
(
i
)
′
X
(
2
)
V_i=b_1^{(i)}X_1^{(2)}+b_2^{(i)}X_2^{(2)}+\dots+b_p^{(i)}X_p^{(2)}\stackrel{\Delta}{=}b^{(i)'}X^{(2)}
Vi=b1(i)X1(2)+b2(i)X2(2)+⋯+bp(i)Xp(2)=Δb(i)′X(2)这里的
i
i
i表示第
i
i
i组组合
②
②
② 下面要求解保证
a
(
i
)
′
X
(
1
)
a^{(i)'}X^{(1)}
a(i)′X(1)与
b
(
i
)
′
X
(
2
)
b^{(i)'}X^{(2)}
b(i)′X(2) 的相关系数最大的一组
a
(
i
)
′
,
b
(
i
)
′
a^{(i)'},b^{(i)'}
a(i)′,b(i)′。例如:对
i
=
1
i=1
i=1 在
D
(
a
(
1
)
′
X
(
1
)
)
=
1
D(a^{(1)'}X^{(1)})=1
D(a(1)′X(1))=1 和
D
(
b
(
1
)
′
X
(
2
)
)
=
1
D(b^{(1)'}X^{(2)})=1
D(b(1)′X(2))=1 的前提下(这个前提是为保证结果的唯一性),求使
ρ
(
a
(
1
)
′
X
(
1
)
,
b
(
1
)
′
X
(
2
)
)
\rho(a^{(1)'}X^{(1)},b^{(1)'}X^{(2)})
ρ(a(1)′X(1),b(1)′X(2)) 最大的
a
(
1
)
′
,
b
(
1
)
′
a^{(1)'},b^{(1)'}
a(1)′,b(1)′。称
a
(
1
)
′
X
(
1
)
,
b
(
1
)
′
X
(
2
)
a^{(1)'}X^{(1)},b^{(1)'}X^{(2)}
a(1)′X(1),b(1)′X(2) 为
X
(
1
)
,
X
(
2
)
X^{(1)},X^{(2)}
X(1),X(2) 的第一对典型相关变量,以此类推可以求出第二对,第三对等。
③
③
③ 引入下面的记号
C
o
v
(
X
(
1
)
)
=
∑
11
,
C
o
v
(
X
(
2
)
)
=
∑
22
Cov(X^{(1)})=\sum_{11} ,Cov(X^{(2)})=\sum_{22}
Cov(X(1))=11∑,Cov(X(2))=22∑
C
o
v
(
X
(
1
)
,
X
(
2
)
)
=
∑
12
=
∑
21
′
Cov(X^{(1)},X^{(2)})=\sum_{12}={\sum_{21}}'
Cov(X(1),X(2))=12∑=21∑′
④
④
④ 给出下面的公式:
X
X
X 是一个
n
n
n 维随机变量,
X
i
(
i
=
1
,
⋯
,
n
)
X_i(i=1,\dotsb,n)
Xi(i=1,⋯,n) 均为随机变量。
X
=
[
X
1
X
2
⋮
X
n
]
X=\left[ \begin{matrix} X_1\\ X_2 \\ \vdots \\ X_n \end{matrix} \right]
X=⎣⎢⎢⎢⎡X1X2⋮Xn⎦⎥⎥⎥⎤
E
(
X
)
=
[
E
(
X
1
)
E
(
X
2
)
⋮
E
(
X
n
)
]
E(X)=\left[ \begin{matrix} E(X_1)\\ E(X_2) \\ \vdots \\ E(X_n) \end{matrix} \right]
E(X)=⎣⎢⎢⎢⎡E(X1)E(X2)⋮E(Xn)⎦⎥⎥⎥⎤
D
(
X
)
=
E
[
(
X
−
E
(
X
)
)
(
X
−
E
(
X
)
)
T
]
D(X)=E[(X-E(X))(X-E(X))^T]
D(X)=E[(X−E(X))(X−E(X))T]
对于一个列常数向量
a
a
a
D
(
a
T
X
)
=
a
T
D
(
X
)
a
D(a^TX)=a^TD(X)a
D(aTX)=aTD(X)a
D
(
X
)
=
C
o
v
(
X
,
X
)
D(X)=Cov(X,X)
D(X)=Cov(X,X)
C
o
v
(
X
,
Y
)
=
E
[
(
X
−
E
(
X
)
)
(
Y
−
E
(
Y
)
)
T
]
Cov(X,Y)=E[(X-E(X))(Y-E(Y))^T]
Cov(X,Y)=E[(X−E(X))(Y−E(Y))T]
对于列常数向量
a
a
a 与
b
b
b
C
o
v
(
a
X
,
b
Y
)
=
a
E
[
(
X
−
E
(
X
)
)
(
Y
−
E
(
Y
)
)
T
]
b
T
Cov(aX,bY)=aE[(X-E(X))(Y-E(Y))^T]b^T
Cov(aX,bY)=aE[(X−E(X))(Y−E(Y))T]bT
⑤
⑤
⑤ 代入上面的
U
i
U_i
Ui与
V
i
V_i
Vi
D
(
U
i
)
=
D
(
a
(
i
)
′
X
(
1
)
)
=
a
(
i
)
′
∑
11
a
(
i
)
D(U_i)=D({a^{(i)}}'X^{(1)})={a^{(i)}}'\sum_{11}{a^{(i)}}
D(Ui)=D(a(i)′X(1))=a(i)′11∑a(i)
D
(
V
i
)
=
D
(
b
(
i
)
′
X
(
2
)
)
=
b
(
i
)
′
∑
22
b
(
i
)
D(V_i)=D({b^{(i)}}'X^{(2)})={b^{(i)}}'\sum_{22}{b^{(i)}}
D(Vi)=D(b(i)′X(2))=b(i)′22∑b(i)
C
o
v
(
U
i
,
V
i
)
=
C
o
v
(
a
(
i
)
′
X
(
1
)
,
b
(
i
)
′
X
(
2
)
)
=
a
(
i
)
′
∑
12
b
(
i
)
Cov(U_i,V_i)=Cov({a^{(i)}}'X^{(1)},{b^{(i)}}'X^{(2)})={a^{(i)}}'\sum_{12}{b^{(i)}}
Cov(Ui,Vi)=Cov(a(i)′X(1),b(i)′X(2))=a(i)′12∑b(i)
C
o
r
r
(
U
i
,
V
i
)
=
C
o
v
(
U
i
,
V
i
)
D
(
U
i
)
D
(
V
i
)
=
a
(
i
)
′
∑
12
b
(
i
)
Corr(U_i,V_i)=\dfrac{Cov(U_i,V_i)}{\sqrt{D(U_i)}\sqrt{D(V_i)}}={a^{(i)}}'\sum_{12}{b^{(i)}}
Corr(Ui,Vi)=D(Ui)D(Vi)Cov(Ui,Vi)=a(i)′12∑b(i) 由于已经认为
D
(
a
(
i
)
′
X
(
1
)
)
=
1
D(a^{(i)'}X^{(1)})=1
D(a(i)′X(1))=1 和
D
(
b
(
i
)
′
X
(
2
)
)
=
1
D(b^{(i)'}X^{(2)})=1
D(b(i)′X(2))=1
⑥
⑥
⑥ 使用Lagrange乘数求
C
o
r
r
(
U
i
,
V
i
)
Corr(U_i,V_i)
Corr(Ui,Vi) 的最大值
φ
(
a
(
i
)
,
b
(
i
)
)
=
a
(
i
)
′
∑
12
b
(
i
)
−
λ
2
(
a
(
i
)
′
X
(
1
)
−
1
)
−
γ
2
(
b
(
i
)
′
X
(
2
)
−
1
)
\varphi (a^{(i)},b^{(i)})={a^{(i)}}'\sum_{12}{b^{(i)}}-\dfrac{\lambda}{2}(a^{(i)'}X^{(1)}-1)-\dfrac{\gamma}{2}(b^{(i)'}X^{(2)}-1)
φ(a(i),b(i))=a(i)′12∑b(i)−2λ(a(i)′X(1)−1)−2γ(b(i)′X(2)−1)
⑦
⑦
⑦ 求出来的结果
{
(
∑
11
−
1
∑
12
∑
22
−
1
∑
21
−
λ
2
I
q
)
a
(
i
)
=
0
(
∑
22
−
1
∑
21
∑
11
−
1
∑
12
−
λ
2
I
p
)
b
(
i
)
=
0
\left\{ \begin{aligned} ({\sum_{11}}^{-1}{\sum_{12}}{\sum_{22}}^{-1}{\sum_{21}}-\lambda^2I_q)a^{(i)}=0 \\ ({\sum_{22}}^{-1}{\sum_{21}}{\sum_{11}}^{-1}{\sum_{12}}-\lambda^2I_p)b^{(i)}=0\\ \end{aligned} \right.
⎩⎪⎪⎪⎨⎪⎪⎪⎧(11∑−112∑22∑−121∑−λ2Iq)a(i)=0(22∑−121∑11∑−112∑−λ2Ip)b(i)=0
其中
I
p
,
I
q
I_p,I_q
Ip,Iq表示
p
×
p
,
q
×
q
p\times p,q\times q
p×p,q×q 阶的单位矩阵。
并且有
λ
=
a
(
i
)
′
∑
12
b
(
i
)
=
C
o
r
r
(
U
i
,
V
i
)
\lambda={a^{(i)}}'\sum_{12}{b^{(i)}}=Corr(U_i,V_i)
λ=a(i)′12∑b(i)=Corr(Ui,Vi)
⑧
⑧
⑧ 问题转化
令
A
=
∑
11
−
1
∑
12
∑
22
−
1
∑
21
A={\sum_{11}}^{-1}{\sum_{12}}{\sum_{22}}^{-1}{\sum_{21}}
A=11∑−112∑22∑−121∑
B
=
∑
22
−
1
∑
21
∑
11
−
1
∑
12
B={\sum_{22}}^{-1}{\sum_{21}}{\sum_{11}}^{-1}{\sum_{12}}
B=22∑−121∑11∑−112∑
则求
C
o
r
r
(
U
i
,
V
i
)
Corr(U_i,V_i)
Corr(Ui,Vi) 的最大值也就是求
λ
\lambda
λ 的最大值,而求
λ
\lambda
λ 的最大值,可以将
⑦
⑦
⑦ 中的两个式子看成
(
A
−
λ
I
)
x
=
0
(A-\lambda I)x=0
(A−λI)x=0,进而就可以转化成为求解最大特征值,同时对应的
a
(
1
)
,
b
(
1
)
a^{(1)},b^{(1)}
a(1),b(1) 也就是最大特征向量。
3.步骤的简单说明
- 求解典型变量和典型相关系数 U i = a 1 ( i ) X 1 ( 1 ) + a 2 ( i ) X 2 ( 1 ) + ⋯ + a p ( i ) X p ( 1 ) = Δ a ( i ) ′ X ( 1 ) U_i=a_1^{(i)}X_1^{(1)}+a_2^{(i)}X_2^{(1)}+\dots+a_p^{(i)}X_p^{(1)} \stackrel{\Delta}{=}a^{(i)'}X^{(1)} Ui=a1(i)X1(1)+a2(i)X2(1)+⋯+ap(i)Xp(1)=Δa(i)′X(1) V i = b 1 ( i ) X 1 ( 2 ) + b 2 ( i ) X 2 ( 2 ) + ⋯ + b p ( i ) X p ( 2 ) = Δ b ( i ) ′ X ( 2 ) V_i=b_1^{(i)}X_1^{(2)}+b_2^{(i)}X_2^{(2)}+\dots+b_p^{(i)}X_p^{(2)}\stackrel{\Delta}{=}b^{(i)'}X^{(2)} Vi=b1(i)X1(2)+b2(i)X2(2)+⋯+bp(i)Xp(2)=Δb(i)′X(2)
- 对典型相关系数
λ
1
,
λ
2
,
…
,
λ
s
\lambda_1,\lambda_2,\dots,\lambda_s
λ1,λ2,…,λs 进行假设检验。
- 具体检验的方法
H 0 : λ k + 1 = λ k + 2 = ⋯ = λ r = 0 H_0:\lambda_{k+1}=\lambda_{k+2}=\dotsb=\lambda_r=0 H0:λk+1=λk+2=⋯=λr=0
H 1 : λ k + 1 ≠ 0 H_1:\lambda_{k+1}\not ={0} H1:λk+1=0
其中 k = 0 , 1 , ⋯ k=0,1,\dotsb k=0,1,⋯
当检验 λ 1 ≠ 0 \lambda_1\not ={0} λ1=0 之后再检验 λ 2 \lambda_2 λ2 是否 ≠ 0 \not ={0} =0,如果检验 λ 1 = 0 \lambda_1 ={0} λ1=0,就直接停止检验。后面的检验以此类推。
- 具体检验的方法
- 对不为0的典型相关系数对应的典型变量进行分析。
(2)SPSS求解
- step 1:导入数据。
- step 2:检查数据的类型。
- 常规的数值类型比如血压,身高等都是标度。
- 单纯的区分性质的,比如男女等,这是名义。
- 有顺序区分的,比如甲乙,优良等,这是有序。
- step 3:进行SPSS分析。
- step 4:导出分析结果。
- step 5:对导出的结果进行分析。
-
可以看出在 90 % 90\% 90% 的置信水平上第一组典型变量是具有相关性的。
-
由于只有第一组存在相关性,因此这里也只看第一组,并且要考虑的是标准化的典型相关系数。 U 1 = 0.775 X 1 ( 1 ) − 1.579 X 2 ( 1 ) + 0.059 X 3 ( 1 ) U_1=0.775X_1^{(1)}-1.579X_2^{(1)}+0.059X_3^{(1)} U1=0.775X1(1)−1.579X2(1)+0.059X3(1) V 1 = 0.349 X 1 ( 2 ) + 1.054 X 2 ( 2 ) − 0.716 X 3 ( 2 ) V_1=0.349X_1^{(2)}+1.054X_2^{(2)}-0.716X_3^{(2)} V1=0.349X1(2)+1.054X2(2)−0.716X3(2)
-
这里也只考虑第一组的典型载荷。所谓载荷就是变量与本组集合之间的相关系数。比如体重,腰围,脉搏与生理指标的第一典型变量之间的相关系数,引体向上次数,起坐次数,跳跃次数与训练指标的第一典型变量之间的相关系数。正负号代表正相关还是负相关。生理指标的第一典型变量与体重腰围成负相关,与脉搏成正相关,并与腰围的相关性最大。训练指标的第一典型变量与引体向上次数,起坐次数,跳跃次数成正相关,并与起坐次数的相关性最大,说明减肥主要靠起坐。
-