典型相关分析CCA和主成分分析PCA非常相似,都是通过现有变量的线性组合构造新的综合变量以实现减少变量数目但代表几乎同样多的信息的目的。只是CCA分析的是两组变量,是要把每一组变量用一个线性组合综合变量表示,从而把两组变量的相关转化为两个综合变量(典型变量)的相关;而PCA是针对一个数据的多组变量,比如一张图片的所有像素,一个人的各种特征(身高,体重,肺活量···),是去把这一组变量实现降维就行了,感觉CCA就是对两组变量分别进行了PCA然后研究二者的相关似的,但实际操作并不是这样哈,实际CCA中综合变量的选择另有算法,不是简单地组内变量PCA。
解决思路
CCA的核心思想就是给每组变量找出一个代表性的变量,也叫作典型变量,怎么找呢,就是通过所有变量的线性相关来找,PCA里面也是哦
怎么做
先找若干综合变量,在综合变量的方差为1的前提下,求两组系数使得两个综合变量的相关系数最大,如果第一组综合变量还不能代表大部分信息(用方差贡献率大于80%代表代表了大部分信息,后面讲),就再找第二组变量,但是这时候的条件是第二个综合变量和第一个不相关!!!
CCA的前提
用CCA的前提是假设两组变量服从联合正态分布,即两组样本数据都是来自正态总体的。
并且在使用CCA分析两组变量的相关性以前,需要先对这两组变量的相关性进行检验,零假设是两组变量无关,只要假设检验计算出来的p值小于0.5,则表示在95%的置信水平上拒绝零假设,说明两组变量确实是相关的,这时候才可以继续使用CCA,否则就没必要再研究了,都没有相关性还研究毛线
注意这里构造的统计量是两组变量的互协方差除以自协方差之积,具体为啥是这样我也不懂,概率里的假设检验没学好
λ
i
\lambda_i
λi是第i组综合变量的总体典型相关系数,共有r组综合/典型变量,
λ
i
=
0
\lambda_i=0
λi=0的所有典型变量组都不要,不考虑,只选择
λ
i
=
̸
0
\lambda_i =\not 0
λi≠0的那些典型变量组。
注意CCA中必须把所有变量进行标准化处理以消除量纲的影响
用SPSS实现CCA
使用的数据
123列是第一组变量,分别表示低学历,高学历,网络观众对不同电视剧的评分
456列是第二组变量,分别表示艺术家,发行公司,业内主管对不同电视剧的评分
现在对这两组变量进行CCA分析
先标准化:分析—描述统计—描述—勾选标准化值另存为Z变量
文件—新建—语法
输入代码
如果找不到canonical correlation.sps可以下载一个everything软件,瞬间就找到了
set1,set2分别是两组变量,一定要选标准化后的Z变量哦
* Encoding: UTF-8.
include 'D:\Program Files (x86)\IBM\SPSS\Statistics\25\Samples\English\canonical correlation.sps'.
cancorr set1 = Zled Zhed Znet /
set2 = Zarti Zcom Zman /.
运行—全部
输出结果
分别是两组变量内部的相关系数矩阵
两组变量之间的相关系数矩阵
三组典型变量之间的典型相关系数
对三组典型变量选完之后剩余的典型变量们的相关性是否为0,零假设是剩余相关性是0,可以看到第一组典型变量选完后,假设检验的p值是0.000,显著小于显著性水平,所以拒绝原假设,说明剩余相关性显著不为0;知道第三组典型变量取完,p为0.594,远大于0.05,0.1,所以接受零假设,认为生育相关性已经显著为0了,所以不再继续选择下一组典型变量,到此典型变量的选择完毕。
三组典型变量和第一组变量的标准典型相关系数,可以看到,第一组典型变量主要描述zhed高学历人群的打分,第二组典型变量和zled负相关,相关性最大,主要描述低学历人群的打分,第三组典型变量主要描述znet的打分。
可以写出三组典型变量分别是
U
1
=
0.149
Z
1
(
1
)
+
0.977
Z
2
(
1
)
−
0.052
Z
3
(
1
)
V
1
=
0.858
Z
1
(
2
)
+
0.019
Z
2
(
2
)
−
0.145
Z
3
(
2
)
U_1=0.149Z_1^{(1)}+0.977Z_2^{(1)}-0.052Z_3^{(1)} \quad V_1=0.858Z_1^{(2)}+0.019Z_2^{(2)}-0.145Z_3^{(2)}
U1=0.149Z1(1)+0.977Z2(1)−0.052Z3(1)V1=0.858Z1(2)+0.019Z2(2)−0.145Z3(2)
U
2
=
−
0.786
Z
1
(
1
)
+
0.383
Z
2
(
1
)
−
0.312
Z
3
(
1
)
V
2
=
0.911
Z
1
(
2
)
−
1.046
Z
2
(
2
)
−
0.337
Z
3
(
2
)
U_2=-0.786Z_1^{(1)}+0.383Z_2^{(1)}-0.312Z_3^{(1)} \quad V_2=0.911Z_1^{(2)}-1.046Z_2^{(2)}-0.337Z_3^{(2)}
U2=−0.786Z1(1)+0.383Z2(1)−0.312Z3(1)V2=0.911Z1(2)−1.046Z2(2)−0.337Z3(2)
U
3
=
−
1.212
Z
1
(
1
)
−
0.16
Z
2
(
1
)
+
1.467
Z
3
(
1
)
V
3
=
−
1.983
Z
1
(
2
)
−
1.114
Z
2
(
2
)
+
2.833
Z
3
(
2
)
U_3=-1.212Z_1^{(1)}-0.16Z_2^{(1)}+1.467Z_3^{(1)} \quad V_3=-1.983Z_1^{(2)}-1.114Z_2^{(2)}+2.833Z_3^{(2)}
U3=−1.212Z1(1)−0.16Z2(1)+1.467Z3(1)V3=−1.983Z1(2)−1.114Z2(2)+2.833Z3(2)
典型负荷系数
交叉负荷系数
这俩我不明白···
下面这个重叠冗余也不明白
感觉是
第1组变量自己的典型变量对第1组方差的解释率,即 U 1 , U 2 , U 3 U_1,U_2,U_3 U1,U2,U3分别解释了第1组变量方差的0.415 0.478 0.108
第2组变量的典型变量对第1组方差的解释率,即 V 1 , V 2 , V 3 V_1,V_2,V_3 V1,V2,V3分别解释了第1组变量方差的0.411 0.434 0.044
第2组变量自己的典型变量对第2组方差的解释率,即 V 1 , V 2 , V 3 V_1,V_2,V_3 V1,V2,V3分别解释了第2组变量方差的0.723 0.246 0.031
第1组变量的典型变量对第2组方差的解释率,即 U 1 , U 2 , U 3 U_1,U_2,U_3 U1,U2,U3分别解释了第2组变量方差的0.717 0.223 0.012
结论不知道怎么下