看文章《科学学研究》2010年8月一片文章时,看到典型相关分析的研究,顿时傻了,过去没学过啊。看别人还是用spss做的统计分析就更傻了,好像没哪个老师讲过这个分析。有点云里雾里。还是赶紧学习一下吧。最后那个sas的例题我想大概反复看三篇才能懂。
1. 典型相关分析的基本思想 Canonical Correlation Analysis
简单相关系数(即普通回归方法)描述两组变量的相关关系的缺点:只是孤立考虑单个X与单个Y间的相关,没有考虑X、Y变量组内部各变量间的相关。两组间有许多简单相关系数,使问题显得复杂,难以从整体描述。典型相关是简单相关、多重相关的推广。典型相关是研究两组变量之间相关性的一种统计分析方法。也是一种降维技术。
1936年,Hotelling提出典型相关分析。考虑两组变量的线性组合, 并研究它们之间的相关系数p(u,v).在所有的线性组合中, 找一对相关系数最大的线性组合, 用这个组合的单相关系数来表示两组变量的相关性, 叫做两组变量的典型相关系数, 而这两个线性组合叫做一对典型变量。在两组多变量的情形下, 需要用若干对典型变量才能完全反映出它们之间的相关性。下一步, 再在两组变量的与u1,v1不相关的线性组合中, 找一对相关系数最大的线性组合, 它就是第二对典型变量, 而且p(u2,v2)就是第二个典型相关系数。这样下去, 可以得到若干对典型变量, 从而提取出两组变量间的全部信息。
2.典型相关分析的适用范围
为了研究两组变量的关系,如果在理论上能解释谁是自变量,谁是因变量,自然就做路径分析(最好用Lisrel或者Amos等软件,用SPSS应该不够科学)。
如果不能辨别两组变量谁是是自变量,谁是因变量,那再用回归就不恰当的,有一种多对多的相关可以使用,那就是典型相关Canonical correlation
在作两组变量 和 的典型相关分析之前,首先应检验两组变量是否相关。如果不相关,则讨论两组变量的典型相关就毫无意义。典型相关分析的实质就是在两组随机变量中选取若干个有代表性的综合指标(变量的线性组合), 用这些指标的相关关系来表示原来的两组变量的相关关系。这在两组变量的相关性分析中, 可以起到合理的简化变量的作用; 当典型相关系数足够大时, 可以像回归分析那样, 由- 组变量的数值预测另一组变量的线性组合的数值。
3.简单相关、复相关和典型相关之间的关系
复相关是典型相关的一个特例,而简单相关是复相关的一个特例。
如果要研究一个变量和一组变量间的相关,则可以使用多元线性回归,方程的复相关系数就是我们要的东西,同时偏相关系数还可以描述固定其他因素时某个自变量和应变量间的关系。但如果要研究两组变量的相关关系时,这些统计方法就无能为力了。比如要研究居民生活环境与健康状况的关系,生活环境和健康状况都有一大堆变量,如何来做?难道说做出两两相关系数?显然并不现实,我们需要寻找到更加综合,更具有代表性的指标,典型相关(CanonicalCorrelation)分析就可以解决这个问题。
典型相关分析方法的基本思想和主成分分析非常相似,也是降维。即根据变量间的相关关系,寻找一个或少数几个综合变量(实际观察变量的线性组合)对来替代原变量,从而将二组变量的关系集中到少数几对综合变量的关系上,提取时要求第一对综合变量间的相关性最大,第二对次之,依此类推。这些综合变量被称为典型变量,或典则变量,第1对典型变量间的相关系数则被称为第1典型相关系数。一般来说,只需要提取1~2对典型变量即可较为充分的概括样本信息。 典型系数是原始变量转换为典型变式的权数, 所反映的是组内变量在形成典型函数时的相对作 用。如果原始变量的计量单位不同,不宜直接比较,可以 采用标准化的典型系数写典型分析的回归模型。
当两个变量组均只有一个变量时,典型相关系数即为简单相关系数;当一组变量只有一个变量时,典型相关系数即为复相关系数。故可以认为典型相关系数是简单相关系数、复相关系数的推广,或者说简单相关系数、复相关系数是典型相关系数的特例。
4.典型相关分析SPSS句法
在SPSS中好像没有菜单可以完成,句法为:
INCLUDE 'C:\Program Files\SPSS\Canonical correlation.sps'.
CANCORR SET1=varlist1 /
SET2=varlist2 / .
这里要注意的是,C:\Program Files\SPSS是SPSS安装目录,你自己将SPSS安装在哪,这个路径就是哪。
在程序中首先应当使用include命令读入典型相关分析的宏程序,然后使用cancorr名称调用,注意最后的“.”表示整个语句结束,不能遗漏。
分析实例来自曹素华教授所著《实用医学多因素统计分析方法》第176页:为了研究兄长的头型与弟弟的头型间的关系,研究者随机抽查了25个家庭的两兄弟的头长和头宽,资料见文件canoncor.sav,希望求得两组变量的典型变量及典型相关系数。显然,代表兄长头形的变量为第一组变量,代表弟弟头形的变量为第二组变量,这里希望求得的是两组变量间的相关性
在语法窗口中键入的程序如下:
INCLUDE 'D:\SpssWin\Canonical correlation.sps'. 请使用时改为各自相应的安装目录
CANCORR SETl=longlwidthl 列出第一组变量
/SET2=long2width2. 列出第二组变量
选择菜单Run->All,运行上述程序,结果窗口中就会给出典型相关分析的结果。
结果解释
NOTE:ALL OUTPUT INCLUDING ERROR MESSAGES HAVE BEEN TEMPORARILY
SUPPRESSED.IF YOU EXPERIENCE UNUSUAL BEHAVIOR THEN RERUN THIS
MACRO WITH AN ADDITIONAL ARGUMENT/DEBUG='Y'.
BEFORE DOING THIS YOU SHOULD RESTORE YOUR DATA FILE.
THIS WILL FACILITATE FURTHER DIAGNOSTICS OF ANY PROBLEMS
系统首先给出的是运行提示:包括出错信息在内的输出暂时被禁止,如果程序运行不正常,则可以在宏中添加/DEBUG='Y'进行调试,这样便于发现问题,但是这样做之前需要重新读入数据文件。
下面系统将会调用矩阵运算开始典型相关分析。
Matrix
Run MATRIX procedure:
Correlations for Set-1
LONG1 WIDTHl
LONGl 1.0000 .7346
WIDTHl .7346 1.0000
Correlations for Set-2
LONG2 WIDTH2
LONG2 1.0000 .8393
WIDTH2 .8393 1.0000
从这里开始进行分析,首先给出的是两组变量内部各自的相关矩阵,可见头宽和头长是有相关性的。
Correlations Between Set-1 and Set-2
LONG2 WIDTH2
LONGl .7108 .7040
WIDTHl .6932 .7086
上面给出的是两组变量间各变量的两两相关矩阵,可见兄弟的头型指标间确实存在相关性,这里需要做的就是提取出综合指标宋代表这种相关性。
Canonical Correlations
1 .789
2 .054
上面是提取出的两个典型相关系数的大小,可见第一典型相关系数为0.789,第二典型相关系数为0.054。
Test that remaining correlations are zero:
Wilk's Chi-SQ DF Sig.
1 .377 20.964 4.000 .000
2 .997 .062 1.000 .803
上表为检验各典型相关系数有无统计学意义,可见第一典型相关系数有统计学意义,而第二典型相关系数则没有。
Standardized Canonical Coefficients for Set-1
l 2
LONGl -.552 -1.366
WIDTHl -.522 1.378
Raw Canonical Coefficients for Set-1
1 2
LONGl -.057 .140
WIDTHl -.071 .187
上面为各典型变量与变量组1中各变量间标化与未标化的系数列表,由此我们可以写出典型变量的转换公式(标化的)为:
L1=0.552*longl+0.522*widthl L2=1.366*longl-1.378*widthl
Standardized Canonical Coefficients for Set-2
1 2
LONG2 -.504 -1.769
WIDTH2 -.538 1.759
Raw Canonical Coefficients for Set-2
1 2
LONG2 -.050 -.176
WIDTH2 -.080 .262
Canonical Loadings for Set-1
l 2
LONGl -.935 -.354
WIDTHl -.927 .375
Cross Loadings for Set-1
l 2
LONGl -.737 -.019
WIDTHl -.731 .020
上表为第一变量组中各变量分别与自身、相对的典型变量的相关系数,可见它们主要和第一对典型变量的关系比较密切。
Canonical Loadings for Set-2
1 2
LONG2 -.956 -.293
WIDTH2 -.962 .274
Cross Loadings for Set-2
1 2
LONG2 -.754 -.016
WIDTH2 -.758 .015
上表为第二变量组中各变量分别与自身、相对的典型变量的相关系数,结论与前相同。
下面即将输出的是冗余度(Redundancy)分析结果,它列出各典型相关系数所能解释原变量变异的比例,可以用来辅助判断需要保留多少个典型相关系数。
Redundancy Analysis:
Proportion Of Variance Of Set-1 Explained by lts Own Can. Var.
Prop Var
CVi-1 .867
CVl-2 .133
首先输出的是第一组变量的变异可被自身的典型变量所解释的比例,可见第一典型变量解释了总变异的86.7%,而第二典型变量只能解释13.3%。
Proportion Of Variance Of Set-1 Explained by Opposite Can. Var.
Prop Var
CV2-1 .539
CV2-2 .000
上表为第一组变量的变异能被它们相对的典型变量所解释的比例,可见第二典型变量的解释度非常小。
Proportion Of Variance Of Set-2 Explained by lts Own Can. Var.
Prop Var
CV2-1 .920
CV2-2 .080
1. 典型相关分析的基本思想 Canonical Correlation Analysis
简单相关系数(即普通回归方法)描述两组变量的相关关系的缺点:只是孤立考虑单个X与单个Y间的相关,没有考虑X、Y变量组内部各变量间的相关。两组间有许多简单相关系数,使问题显得复杂,难以从整体描述。典型相关是简单相关、多重相关的推广。典型相关是研究两组变量之间相关性的一种统计分析方法。也是一种降维技术。
1936年,Hotelling提出典型相关分析。考虑两组变量的线性组合, 并研究它们之间的相关系数p(u,v).在所有的线性组合中, 找一对相关系数最大的线性组合, 用这个组合的单相关系数来表示两组变量的相关性, 叫做两组变量的典型相关系数, 而这两个线性组合叫做一对典型变量。在两组多变量的情形下, 需要用若干对典型变量才能完全反映出它们之间的相关性。下一步, 再在两组变量的与u1,v1不相关的线性组合中, 找一对相关系数最大的线性组合, 它就是第二对典型变量, 而且p(u2,v2)就是第二个典型相关系数。这样下去, 可以得到若干对典型变量, 从而提取出两组变量间的全部信息。
2.典型相关分析的适用范围
为了研究两组变量的关系,如果在理论上能解释谁是自变量,谁是因变量,自然就做路径分析(最好用Lisrel或者Amos等软件,用SPSS应该不够科学)。
如果不能辨别两组变量谁是是自变量,谁是因变量,那再用回归就不恰当的,有一种多对多的相关可以使用,那就是典型相关Canonical correlation
在作两组变量 和 的典型相关分析之前,首先应检验两组变量是否相关。如果不相关,则讨论两组变量的典型相关就毫无意义。典型相关分析的实质就是在两组随机变量中选取若干个有代表性的综合指标(变量的线性组合), 用这些指标的相关关系来表示原来的两组变量的相关关系。这在两组变量的相关性分析中, 可以起到合理的简化变量的作用; 当典型相关系数足够大时, 可以像回归分析那样, 由- 组变量的数值预测另一组变量的线性组合的数值。
3.简单相关、复相关和典型相关之间的关系
复相关是典型相关的一个特例,而简单相关是复相关的一个特例。
如果要研究一个变量和一组变量间的相关,则可以使用多元线性回归,方程的复相关系数就是我们要的东西,同时偏相关系数还可以描述固定其他因素时某个自变量和应变量间的关系。但如果要研究两组变量的相关关系时,这些统计方法就无能为力了。比如要研究居民生活环境与健康状况的关系,生活环境和健康状况都有一大堆变量,如何来做?难道说做出两两相关系数?显然并不现实,我们需要寻找到更加综合,更具有代表性的指标,典型相关(CanonicalCorrelation)分析就可以解决这个问题。
典型相关分析方法的基本思想和主成分分析非常相似,也是降维。即根据变量间的相关关系,寻找一个或少数几个综合变量(实际观察变量的线性组合)对来替代原变量,从而将二组变量的关系集中到少数几对综合变量的关系上,提取时要求第一对综合变量间的相关性最大,第二对次之,依此类推。这些综合变量被称为典型变量,或典则变量,第1对典型变量间的相关系数则被称为第1典型相关系数。一般来说,只需要提取1~2对典型变量即可较为充分的概括样本信息。 典型系数是原始变量转换为典型变式的权数, 所反映的是组内变量在形成典型函数时的相对作 用。如果原始变量的计量单位不同,不宜直接比较,可以 采用标准化的典型系数写典型分析的回归模型。
当两个变量组均只有一个变量时,典型相关系数即为简单相关系数;当一组变量只有一个变量时,典型相关系数即为复相关系数。故可以认为典型相关系数是简单相关系数、复相关系数的推广,或者说简单相关系数、复相关系数是典型相关系数的特例。
4.典型相关分析SPSS句法
在SPSS中好像没有菜单可以完成,句法为:
INCLUDE 'C:\Program Files\SPSS\Canonical correlation.sps'.
CANCORR SET1=varlist1 /
SET2=varlist2 / .
这里要注意的是,C:\Program Files\SPSS是SPSS安装目录,你自己将SPSS安装在哪,这个路径就是哪。
在程序中首先应当使用include命令读入典型相关分析的宏程序,然后使用cancorr名称调用,注意最后的“.”表示整个语句结束,不能遗漏。
分析实例来自曹素华教授所著《实用医学多因素统计分析方法》第176页:为了研究兄长的头型与弟弟的头型间的关系,研究者随机抽查了25个家庭的两兄弟的头长和头宽,资料见文件canoncor.sav,希望求得两组变量的典型变量及典型相关系数。显然,代表兄长头形的变量为第一组变量,代表弟弟头形的变量为第二组变量,这里希望求得的是两组变量间的相关性
在语法窗口中键入的程序如下:
INCLUDE 'D:\SpssWin\Canonical correlation.sps'. 请使用时改为各自相应的安装目录
CANCORR SETl=longlwidthl 列出第一组变量
/SET2=long2width2. 列出第二组变量
选择菜单Run->All,运行上述程序,结果窗口中就会给出典型相关分析的结果。
结果解释
NOTE:ALL OUTPUT INCLUDING ERROR MESSAGES HAVE BEEN TEMPORARILY
SUPPRESSED.IF YOU EXPERIENCE UNUSUAL BEHAVIOR THEN RERUN THIS
MACRO WITH AN ADDITIONAL ARGUMENT/DEBUG='Y'.
BEFORE DOING THIS YOU SHOULD RESTORE YOUR DATA FILE.
THIS WILL FACILITATE FURTHER DIAGNOSTICS OF ANY PROBLEMS
系统首先给出的是运行提示:包括出错信息在内的输出暂时被禁止,如果程序运行不正常,则可以在宏中添加/DEBUG='Y'进行调试,这样便于发现问题,但是这样做之前需要重新读入数据文件。
下面系统将会调用矩阵运算开始典型相关分析。
Matrix
Run MATRIX procedure:
Correlations for Set-1
LONG1 WIDTHl
LONGl 1.0000 .7346
WIDTHl .7346 1.0000
Correlations for Set-2
LONG2 WIDTH2
LONG2 1.0000 .8393
WIDTH2 .8393 1.0000
从这里开始进行分析,首先给出的是两组变量内部各自的相关矩阵,可见头宽和头长是有相关性的。
Correlations Between Set-1 and Set-2
LONG2 WIDTH2
LONGl .7108 .7040
WIDTHl .6932 .7086
上面给出的是两组变量间各变量的两两相关矩阵,可见兄弟的头型指标间确实存在相关性,这里需要做的就是提取出综合指标宋代表这种相关性。
Canonical Correlations
1 .789
2 .054
上面是提取出的两个典型相关系数的大小,可见第一典型相关系数为0.789,第二典型相关系数为0.054。
Test that remaining correlations are zero:
Wilk's Chi-SQ DF Sig.
1 .377 20.964 4.000 .000
2 .997 .062 1.000 .803
上表为检验各典型相关系数有无统计学意义,可见第一典型相关系数有统计学意义,而第二典型相关系数则没有。
Standardized Canonical Coefficients for Set-1
l 2
LONGl -.552 -1.366
WIDTHl -.522 1.378
Raw Canonical Coefficients for Set-1
1 2
LONGl -.057 .140
WIDTHl -.071 .187
上面为各典型变量与变量组1中各变量间标化与未标化的系数列表,由此我们可以写出典型变量的转换公式(标化的)为:
L1=0.552*longl+0.522*widthl L2=1.366*longl-1.378*widthl
Standardized Canonical Coefficients for Set-2
1 2
LONG2 -.504 -1.769
WIDTH2 -.538 1.759
Raw Canonical Coefficients for Set-2
1 2
LONG2 -.050 -.176
WIDTH2 -.080 .262
Canonical Loadings for Set-1
l 2
LONGl -.935 -.354
WIDTHl -.927 .375
Cross Loadings for Set-1
l 2
LONGl -.737 -.019
WIDTHl -.731 .020
上表为第一变量组中各变量分别与自身、相对的典型变量的相关系数,可见它们主要和第一对典型变量的关系比较密切。
Canonical Loadings for Set-2
1 2
LONG2 -.956 -.293
WIDTH2 -.962 .274
Cross Loadings for Set-2
1 2
LONG2 -.754 -.016
WIDTH2 -.758 .015
上表为第二变量组中各变量分别与自身、相对的典型变量的相关系数,结论与前相同。
下面即将输出的是冗余度(Redundancy)分析结果,它列出各典型相关系数所能解释原变量变异的比例,可以用来辅助判断需要保留多少个典型相关系数。
Redundancy Analysis:
Proportion Of Variance Of Set-1 Explained by lts Own Can. Var.
Prop Var
CVi-1 .867
CVl-2 .133
首先输出的是第一组变量的变异可被自身的典型变量所解释的比例,可见第一典型变量解释了总变异的86.7%,而第二典型变量只能解释13.3%。
Proportion Of Variance Of Set-1 Explained by Opposite Can. Var.
Prop Var
CV2-1 .539
CV2-2 .000
上表为第一组变量的变异能被它们相对的典型变量所解释的比例,可见第二典型变量的解释度非常小。
Proportion Of Variance Of Set-2 Explained by lts Own Can. Var.
Prop Var
CV2-1 .920
CV2-2 .080