410 likes | 647 Views
第七章. 主成分、因子和典型相关分析. 第七章 主成分、因子和 典型相关分析. 第一节 主成分分析 第二节 因子分析 第三节 典型相关分析. 第一节 主成分(主分量)分析. 主成分分析是将多个变量化为少数 综合变量 的一种多元统计方法。 利用全部 p 个变量的线性组合来重新构造 q 个新的综合变量( q p ),并使得 q 个新变量 : (1) 尽可能多地反映原来 p 个变量的统计特性 ; (2) q 个新变量之间是相互独立的。. 数学原理.
E N D
第七章 主成分、因子和典型相关分析
第七章 主成分、因子和典型相关分析 • 第一节 主成分分析 • 第二节 因子分析 • 第三节 典型相关分析
第一节 主成分(主分量)分析 • 主成分分析是将多个变量化为少数综合变量的一种多元统计方法。 • 利用全部p个变量的线性组合来重新构造q个新的综合变量(qp),并使得q个新变量: • (1) 尽可能多地反映原来p个变量的统计特性; • (2) q个新变量之间是相互独立的。
数学原理 • 假定x=(x1,x2,…,xp)是一组随机变量,并且 ,协方差阵 .考虑 选择一组系数使得a’a=1且Var(Z)最大. • 求解结果: • 这里 1, a1是V的最大特征根和对应的单位特征向量(用Lagrange乘子法证明) • L(a, )=a’Va- (a’a-1) • L/a=2(V- I)a=0 • 极大值仅当a为特征向量时取得(完整证明见后)
一般情况 (注意V是非负定矩阵) • 若记矩阵V的p个特征值1≥ 2 ≥…≥ m > m+1= … = p= 0,且m个非零特征值所对应的正交特征向量a1, a2,…, am,则: …… • 称为x的第1主成分、第2主成分,…,第m主成分。 • 主成分之间是不相关的。
证明 • 正交合同变换:实对称矩阵V,存在对角矩阵=diag(1,…, p)和正交矩阵= (a1,…, ap)使得’V = . 从而矩阵的谱分解 • 任意单位向量a可以表示为 • 当a’ai=0, i=1, …, j-1, 必有ki=0, i=1, …, j-1. • 那么 • 当kj=1,即a=aj时达到最大值j • 又cov(a’ix, a’jx)=a’iVaj= j a’iaj=0, 所以不相关。
主成分与最小二乘回归区别 • 用开头i个主成分形成的i维子空间,从几何上看,当采用从每个数据点到子空间的垂直距离的平方和作为度量时,这个i维子空间对数据点给出了最好的拟合。 • 例如,在图所示中,所有数据点到第一主成分轴(椭圆的长轴)的垂直距离(红色线)的平方和是最小的。 • 注意:它不同于最小二乘回归的几何表示,回归是最小化所有数据点到拟合直线的竖直(y轴方向)偏差(蓝色线)的平方和。
贡献率 • 设x1,x2,…,xp的方差S11,S22,…,Spp • 那么 • 从而k就是第k个主成分对于方差总和的贡献。 • 第k个主成分对于方差总和的贡献率 • 前k个主成分的累积贡献率,反映了前k个主成分共同提取全部信息的多少 • 因子负荷量 (第k主成分与第i个变量相关系数 ) • 其中aik是向量ak的第i分量。
证明 • 令Z= ’x , = (a1,…, ap)正交矩阵 • 那么x= Z. 第i分量xi=aijZj • 又各主成分间互不相关,cov(Zk, Zj)=0 • Cov(Zk,xi)=cov(Zk,aikZk) =aik k • 当xi是标准化的,Exi=0, Dxi=1
数据的标准化 • 不同变量可能量纲差异很大,使得主成分优先考虑方差大的变量,造成不合理结果。 • 实际计算时首先对数据进行标准化处理,使得第i个变量的均值为0,方差为1。这样所得出的协方差阵与相关阵就是相同的。
协方差矩阵:用样本近似 • 第i个样品的数据为 • 样本资料数据用矩阵表示为X(每行一个变量,每列代表一个观测) • 均值向量 • 协方差矩阵
应注意的几个问题 • 当各变量的单位不相同时,应先将各变量标准化,从相关矩阵出发进行主成分分析。 • 如果前若干个主成分累计解释变异之70%~80%,已可令人满意。 • Kaiser(1960)主张将特征值小于1的主成分予以放弃,而只保留特征值大于1的主成分。 • 应对要使用的前若干个主成分作出符合实际背景和意义的解释。
主成分分析 的应用 • 主成分分析是通过降维技术用少数几个综合变量来代替原始较多个变量的一种统计分析方法 ; • 削减回归分析的变量数目; • 削减判别分析或聚类分析的变量数目; • 按得分排序 • 按第i主成分得分排序 • 按总得分排序 • 总得分= 1*第1主成分得分+ 2*第2主成分得分+… • 第i主成分得分=ai’*x • ai为特征向量,x为标准化向量
SAS主成分过程proc princomp proc princomp data=数据集 </选项列表> ; var 变量列表; (选项) partial 变量列表; weight 变量; freq 变量; by 变量; run ; (选项type=corr表明数据集本身是相关系数)
实例分析 • 例7-1 犯罪率问题Chap7_01_2 • 生成数据集; • 主成份分析 • SAS从相关矩阵出发进行主成分分析; • 注意:prin1=…中所有变量都是标准化以后的 • 主成份选择和解释 • Prin1:犯罪率指数,得分低说明犯罪率; • Prin2:非暴力指数,得分低说明暴力性强。 • 按主成分排序 • 按主成分做散点图 • procgplot data=study.crimcomp; • plot prin2*prin1=state ; • run ;
美国50个州 红点:犯罪率指数高;红框:暴力指数高。
第二节 因子分析 • 用有限个不可观察的潜在变量(称为公共因子)来解释原变量间的相关性或协方差关系。 • 每个样品测得p个指标,但是这个指标可能受到(m<p)个共同因素的影响,再加上其他对这些指标有影响的因素e. • 注意:系数矩阵A是不可逆的, 所以与主成分分析不等价。
数学原理 • 利用矩阵记号有: • f 称为公共因子,A称为因子载荷矩阵,e是单变量所特有的因子,称为的特殊因子. • 假设 • 公共因子间独立且方差为1; • 每个特殊因子是均值为0的随机变量; • 各特殊因子之间及特殊因子与公共因子之间都是相互独立的,即
因子载荷矩阵的统计意义 • 设已将X标准化,也就是说X的每一个分量 Xi的均值都为0,方差都是1. 那么 • Cov(Xi ,fj)= aij是Xi和fj的相关系数 • 是 Xi对所有公共因子f的依赖程度 • 是公共因子 fj对X的各个分量总的影响
因子载荷矩阵的求解 • 设X已标准化,协方差(相关)矩阵,d协方差矩阵D • 若记矩阵Σ*的p个特征值1≥ 2 ≥…≥ m > m+1 = … = p= 0,且m个非零特征值所对应的单位正交特征向量1, 2,…, m,则根据非负定矩阵的正交合同变换有 Σ*=’
主成分法计算因子载荷矩阵 • 从数据矩阵出发求出样品的相关矩阵,记之为 ,其特征值为1≥ 2 ≥…≥ p≥ 0, 相应的单位正交特征向量为i.当前m个特征值累计贡献率大于85%时. 近似地有 • 因子载荷(负荷)矩阵 • 特殊因子协方差矩阵Ddiag( )
因子旋转 • 因子模型的解不是唯一的。 • 设有因子模型 。设P是任一正交阵,则因子模型可改写为: 其中A*=AP,f *=P’f. • 因子旋转的目的是找公因子f *进行比f更好的解释。 • 方差最大正交旋转: 求正交阵,使得A所有元素尽量接近0或±1。
因子得分 • 在因子分析中,还可以将公因子f表示为指标X的线性组合,这样就可以从指标的观测值估计各个公因子的值,这种值叫因子得分。 • 汤姆森(回归)因子得分 ,这里R为样本相关矩阵(近似等于AA’)。 • A’R-1称为汤姆森(回归)因子得分系数 • 因子得分对样品的分类有重要实际意义.
SAS实现因子分析proc factor proc factor data=数据集 <选项列表> ; priors 公因子方差 ; var 变量表 ; partial 变量表 ; freq 变量 ; weight 变量 ; by 变量 ; run ;
SAS实现因子得分proc score proc score data=数据集 <选项列表> ; var 变量 ; run ;
实例分析 • 例7-2 十二个标准大都市社会经济变量 • chap7_02_1数据集 • chap7_02_2(简化)因子分析\旋转\因子得分 proc factor data=study.socecon simplecorrscorerotate=varimax preplotplotoutstat=study.outf; proc score data=study.socecon score=study.outf out=study.outs; run; proc print data=study.outs; run; 注1:这里用的因子旋转同书上不同。 注2:因子得分公式里的变量都是标准化以后的。
因子分析和主成分分析的区别 • 主成分分析中是把主成分表示成变量的线性组合,而因子分析中是把变量表示成各因子的线性组合。 • 主成分分析的重点在于解释变量的总方差,而因子分析则把重点放在解释各变量之间的协方差。 • 主成分分析中不需要有假设, 因子分析则需要假设各个共同因子之间不相关,特殊因子之间不相关,共同因子和特殊因子之间也不相关。 • 主成分分析中,主成分一般是独特的;而因子分析中因子不是独特的,可以旋转得到新的因子。 • 由于因子分析可以使用旋转技术帮助解释因子,在解释方面更加有优势。
设x已标准化,协方差阵特征值1… m …, 对应正交特征向量1, …, m. 因子分析(主成分法) • 主成分分析
因子分析和回归分析的区别 • 因子模型在形式上与线性回归模型很相似,但两者有着本质的区别: • 回归模型中的自变量是可观测到的, • 因子模型中的各公因子是不可观测的隐变量。
第三节 典型相关分析 • 典型相关分析(Canonical Correlation Analysis)是研究两组变量间相关关系的一种多元统计分析方法。 • 找出 的一个线性组合u及 的一个线性组合v,希望找到的u和v之间有最大可能的相关系数,以充分反映两组变量间的关系。这样就把研究两组随机变量间相关关系的问题转化为研究两个随机变量间的相关关系。 • 如果一对变量还不能满意刻画两组变量间的相关关系时,可以继续找第二对变量,希望这对变量在与第一对变量不相关的情况下也具有尽可能大的相关系数。直到进行到找不到相关变量对时为止。
典型相关系数与典型相关变量 • 设有两组随机变量 和 ,假定它们都已经标准化了。它们的协方差矩阵(也是相关系数矩阵)为 • 求第一对典型变量 ,使相关系数 达到最大。 • 不妨假定: • 此时
典型相关系数与典型相关变量 • 若用一对变量还不足以满意反映两组变量的相关时,可以定义与第一对典型变量不相关的第二对典型变量。 • 一般地,第j对典型变量定义如下: • 满足
求解方法 :Lagrange乘子法(P319) • 设 • 偏导 = 0,得到: 是 的最大特征值对应的特征向量;第一典型相关系数1是M的最大特征值的平方根. 同时 • 一般地,求出M的r个非零特征值 • 对应于这些特征根的特征向量分别记为 • 对应的第j对相关系数是特征值的平方根j.
相关系数矩阵的计算 • 从样本去其估计
应注意的几个问题 • 相关分析类型 • 简单相关corr :1对1; • 多重相关(回归) reg :1对多; • 典型相关cancorr :多对多。 • 第一对典型相关包含有最多的有关两组变量间相关的信息,第二对其次,其他对依次递减,各对典型相关所含的信息互不重复。 • 选取多少对典型相关可通过检验来确定。
SAS实现Cancorr过程 proc cancorrdata=数据集 <选项列表> ; var第1组变量列表 ; with 第2组变量列表; partial 变量列表 ; freq 变量 ; weight 变量 ; by 变量列表; run ; • var和with语句是必需的
实例分析 • 例7-3 康复俱乐部中年人生理指标和训练指标的相关性 • 简单相关分析 proc corr data=fit; run; • 典型相关分析 proc cancorr data=fit; var weight waist pulse; with chins situps jumps; run; 注:模型中所有变量都是已经标准化的。即指(原始变量-均值)/标准差。
如果已给相关矩阵, 程序为 data fit2 (type=corr); input weight waist pulse chins situps jumps; cards; 1.00000 0.87024 -0.36576 -0.38969 -0.49308 -0.22630 0.87024 1.00000 -0.35289 -0.55223 -0.64560 -0.19150 -0.36576 -0.35289 1.00000 0.15065 0.22504 0.03493 -0.38969 -0.55223 0.15065 1.00000 0.69573 0.49576 -0.49308 -0.64560 0.22504 0.69573 1.00000 0.66921 -0.22630 -0.19150 0.03493 0.49576 0.66921 1.00000 ; run; proc cancorr data=fit2 (type=corr); var weight waist pulse; with chins situps jumps; run;