多元分析是多变量的统计分析方法,是数理统计的一个分支。
聚类分析又称群分析,是对多个样本或指标进行定量分类的一种多元统计分析方法。对样本进行分类称为Q型聚类分析,对指标进行分类称为R型聚类分析。
1.1 Q型聚类分析
1.1.1 样本相似性度量
对一群有待分类的样本点需用p个变量描述,每个样本点可以看成是 R p \bm{R}^p Rp空间中的一个点,用距离来度量样本点间的相似度。
在聚类分析中,对于定量变量,最常用的是闵氏距离,即 d q ( x , y ) = [ ∑ k = 1 p ∣ x k − y k ∣ q ] 1 q , q > 0 d_q(\bm{x,y})=[\sum_{k=1}^p|x_k-y_k|^q]^{\frac1q},q>0 dq(x,y)=[k=1∑p∣xk−yk∣q]q1,q>0当 q = 1 , 2 q=1,2 q=1,2或 q → + ∞ q\to +\infty q→+∞时,分别得到:
在闵氏距离中,最常用的是欧式距离,其主要优点是当坐标轴进行正交旋转时,欧式距离保持不变。
在使用闵氏距离时,一定要采用相同量纲的变量,还应尽可能地避免变量的多重相关性,否则会片面强调某些变量的重要性。由于闵氏距离的这些缺点,一种改进为马氏距离 d ( x , y ) = ( x − y ) T Σ T ( x − y ) d(\bm{x,y})=\sqrt{\bm{(x-y)^T\Sigma^T(x-y)}} d(x,y)=(x−y)TΣT(x−y)式中 x , y \bm{x,y} x,y为来自p维总体Z的样本观测值, Σ \bm{\Sigma} Σ为Z的协方差矩阵,在实际中 Σ \bm{\Sigma} Σ往往未知,需要样本协方差来估计。马氏距离对一切线性变换是不变的,故不受量纲的影响。
1.1.2 类与类的相似性度量
如果有两个样本 G 1 G_1 G1和 G 2 G_2 G2,可以用如下方法度量他们之间的距离
1.1.3 聚类图
Q型聚类结果可由聚类图展示出来,根据给定的阈值距离,可将点分为不同聚类
聚类图生成步骤:
- 计算n个样本点两两之间的距离 d i j d_{ij} dij,记为矩阵 D = ( d i j ) n × n \bm{D}=(d_{ij})_{n\times n} D=(dij)n×n
- 首先构造n个类,每个类中只包含一个样本点,每一类的平台高度均为0
- 合并距离最近的两类为新类,并且以这两类间的距离值作为聚类图中的平台高度
- 计算新类与当前各类的距离,若类的个数已经等于1,转入步骤5,否则回到步骤3
- 画聚类图
- 决定类的个数和类
y=pdist(a,'cityblock') %a为m*n矩阵,m为数据个数,n为数据维度,求a的两两行向量间的绝对值距离
%函数输入第二项可指定距离计算方法,输出y为行向量
yc=squareform(y) %将向量y变换成距离方阵(对称方阵)
z=linkage(y,'method') %生成等级聚类树,输入第二项指定类的相似性度量方法,y为pdist输出的行向量,z为(m-1)*3的矩阵
%z中第1列和第2列包含了被两两连接生成一个新类的所有对象的索引,第3列包含了相应的在类中的两两对象间的连接距离
dendrogram(z) 由linkage产生的数据矩阵z画聚类图,p为节点数,默认30
T=cluster(z,'maxclust',3) %把对象分成3类,返回值T为长m列向量,表示每个数据所在的类别
1.2 R型聚类法
1.2.1 变量相似性度量:常用的有两种
1.2.2 类与类的相似性度量:与Q型聚类法类似,常用有最长距离法、最短距离法等
b=zscore(a) %数据标准化,矩阵a为m*n矩阵,m为数据个数,n为数据维度
r=corrcoef(b) %计算相关系数矩阵
用聚类进行数据分析时,先用R型聚类法从变量中所有变量中选取几个有代表性的变量(剔除相关性较强的变量),再对所选取的变量的取值进行Q型聚类分析,得到所有数据的聚类情况。
1.3 动态聚类法
上述先将样品各自作为一类,重复将最近的两类合并,直至所有样品合并为一类的方法称为系统聚类法。
先选择一个初始的分类和一批凝聚点,让样品按某种原则向凝聚点凝聚,对凝聚点不断地修改迭代,直至分类合理或迭代稳定,该方法称为动态聚类法。动态凝聚法中最常用的为k均值法(k-mean)。
2.1 基本思想及方法
主成分分析将许多相关性很高的变量转化成彼此相互独立或不相关的变量,并用以解释资料的综合性指标。
设 X 1 , X 2 , ⋯ , X p X_1,X_2,\cdots,X_p X1,X2,⋯,Xp表示以 x 1 , x 2 , ⋯ , x p x_1,x_2,\cdots,x_p x1,x2,⋯,xp为样本观测值的随机变量,若能找到 c 1 , c 2 , ⋯ , c p c_1,c_2,\cdots,c_p c1,c2,⋯,cp,使得 V a r ( c 1 X 1 + c 2 X 2 + ⋯ + c p X p ) s . t . c 1 2 + c 2 2 + ⋯ + c p 2 = 1 Var(c_1X_1+c_2X_2+\cdots+c_pX_p)\qquad s.t.\quad c_1^2+c_2^2+\cdots+c_p^2=1 Var(c1X1+c2X2+⋯+cpXp)s.t.c12+c22+⋯+cp2=1的值达到最大,由于方差反映了数据差异的程度,也就表明我们抓住了这p个变量的最大变异。此时得到的解是p维空间的一个单位向量,代表一个主成分方向。
一个主成分不足以代表原来的p个变量,因此需要寻找多个主成分,而每个主成分之间不应该包含相互之间的信息,统计上描述为两个主成分间的协方差为0,几何上描述为两个主成分的方向正交。
注意事项:
- 主成分分析的结果受量纲的影响,实际中应先把各变量的数据标准化,再用协方差矩阵或相关系数矩阵进行分析。
- 使方差达到最大的主成分分析不用转轴(区别于因子分析)。
- 主成分的保留:用相关系数求主成分时,主张将特征值小于1的主成分放弃(也是SPSS的默认值)。
- 由于主成分的目的是降维,实际分析中一般选取少量主成分(不超过5个或6个),只要它们能解释变异的70%~80%(累积贡献率)即可。
2.2 特征值因子的筛选
设有p个指标变量 x 1 , x 2 , ⋯ , x p x_1,x_2,\cdots,x_p x1,x2,⋯,xp,在第i次试验中的取值为 a i 1 , a i 2 , ⋯ , a i p , i = 1 , 2 , ⋯ , n a_{i1},a_{i2},\cdots,a_{ip},i=1,2,\cdots,n ai1,ai2,⋯,aip,i=1,2,⋯,n,将它们写成矩阵形式为 A = [ a 11 a 12 ⋯ a 1 p a 21 a 22 ⋯ a 2 p ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n p ] \bm{A}=\begin{bmatrix} a_{11}& a_{12}& \cdots& a_{1p} \\ a_{21}& a_{22}& \cdots& a_{2p} \\ \vdots & \vdots&\ddots& \vdots \\ a_{n1}& a_{n2}& \cdots& a_{np} \end{bmatrix} A=⎣⎢⎢⎢⎡a11a21⋮an1a12a22⋮an2⋯⋯⋱⋯a1pa2p⋮anp⎦⎥⎥⎥⎤矩阵 A \bm{A} A称为设计阵,将 A T A \bm{A^TA} ATA的特征值按从大到小的次序排列,取前面的特征值使所取特征值所占比重超过85%,每个特征值所对应的特征向量即为一个主成分方向。
注:使用 x ~ i = ( x i − μ i ) / σ i \tilde{x}_i=(x_i-\mu_i)/\sigma_i x~i=(xi−μi)/σi对数据进行标准化后,得到的矩阵为 A ~ \bm{\tilde{A}} A~,此时矩阵 R = A ~ T A ~ / ( n − 1 ) \bm{R=\tilde{A}^T\tilde{A}}/(n-1) R=A~TA~/(n−1)即为相关系数矩阵。
单纯考虑累积贡献率有时是不够的的,还需要考虑选择的主成分对原始变量的贡献值,用相关系数的平方和来辨识,若选取的主成分为 z 1 , z 2 , ⋯ , z r z_1,z_2,\cdots,z_r z1,z2,⋯,zr,则它们对原变量 x i x_i xi的贡献值为 ρ i = ∑ j = 1 r r 2 ( z j , x i ) \rho_i=\sum_{j=1}^rr^2(z_j,x_i) ρi=∑j=1rr2(zj,xi),式中 r ( z j , x i ) r(z_j,x_i) r(zj,xi)为 z j z_j zj和 x i x_i xi的相关系数。
2.3 主成分回归分析
主成分回归分析是为了克服最小二乘估计在数据矩阵 A \bm{A} A存在多重共线性时表现出的不稳定性。
主成回归分析将原本的回归自变量变换到另一组变量,即主成分,然后用最小二乘法对选取主成分后的模型参数进行估计,最后再变换回原来的模型求出参数的估计。
hg1=[ones(m,1),x0]\y0 %计算最小二乘法回归系数
%"\":反斜线符号,矩阵左除。对可逆矩阵而言,右除代表对右边矩阵取逆,左除代表对左边矩阵取逆A\B=inv(A)*B,但是算法不同。
%对X=A\B如果A是m*n的矩阵,那么X就是AX=B的最小二乘解
r=corrcoef(x0) %计算相关系数矩阵,行数为数据个数,列数为变量个数
xd=zscore(x0); yd=zscore(y0); %对设计矩阵和y0进行标准化处理
[vec1,lamda,rate]=pcacov(r) %主成分分析,vec1为r的特征向量,lamda为r的特征值,rate为各个主成分的贡献率
f=repmat(sign(sum(vec1)),size(vec1,1),1) %构造与vec1同维数的元素为±1的矩阵
vec2=vec1.*f %修改特征向量的正负号,使得特征向量的所有分量和为正
%上述两步保证了所有特征向量的分量和为正,这对回归分析而言并没有作用,但对评价每个数据的得分是必要的
hg21=df(:,[1:num])\yd %计算主成分变量的回归系数。这里由于数据标准化,回归方程的常数项为0
hg22=vec2(:,1:num)*hg21 %计算标准化变量的回归方程系数
hg23=[mean(y0)-std(y0)*mean(x0)./std(x0)*hg22, std(y0)*hg22'./std(x0)] %计算原始变量回归方程的系数
2.4 利用主成分分析对每个样本进行评价的步骤
- 数据标准化: X → X 0 ∈ n × m X\to X_0\in n\times m X→X0∈n×m,其中 X X X为原数据矩阵, X 0 X_0 X0为标准化后的数据矩阵,n为数据个数,m为变量个数
- 计算相关系数矩阵: R ∈ m × m R\in m\times m R∈m×m,其中 R R R为相关系数矩阵
- 主成分分析: η ∈ m × m , λ ∈ m , r a t e ∈ m \eta\in m\times m,\lambda\in m,rate\in m η∈m×m,λ∈m,rate∈m,其中 η \eta η为特征向量矩阵,每列代表一个特征向量, λ \lambda λ为特征值,rate为各主成分的贡献率
- 将所有特征向量的分量和改为正: η → η + ∈ m × m \eta\to \eta^+\in m\times m η→η+∈m×m,由于特征向量的特性,在特征向量上加正负号结果都正确,但是若要根据该特征向量对每个数据(标准化后的数据)进行打分,则需要使特征向量的所有分量和为正打分才有意义
- 选取主成分个数: η + → η p + ∈ m × p \eta^+\to \eta^+_p\in m\times p η+→ηp+∈m×p
- 计算所有数据在各主成分上的得分: s = X 0 ∗ η p + ∈ n × p s=X_0*\eta_p^+\in n\times p s=X0∗ηp+∈n×p
- 计算所有数据的综合得分: S = s u m ( s , 1 ) ∈ n S=sum(s,1)\in n S=sum(s,1)∈n,根据该得分可以对所有数据进行排名从而分析结果
因子分析通过研究众多变量之间的内部依赖关系,探求观测数据中的基本结构,用少数几个假想变量来表示其基本数据结构。这几个假想变量能够反映原来众多变量的主要信息,原始的变量时可观测的显在变量,而假想变量是不可观测的潜在变量,称为因子。
因子分析可看成主成分分析的推广,也是一种降维方式,与PCA的差别在于:
- PCA把方差划分为不同的正交成分,而因子分析则把方差划分为不同的起因因子。
- PCA仅是变量变换,而因子分析需要构造因子模型。
- PCA中原始变量的线性组合表示新的综合变量,即主成分。因子分析中潜在的假想变量和随机影响变量的线性组合表示原始变量。
3.1 因子分析模型
3.1.1 数学模型
设p个变量 X i ( i = 1 , 2 , ⋯ , p ) X_i(i=1,2,\cdots,p) Xi(i=1,2,⋯,p)可以表示为 X i = μ i + α i 1 F 1 + ⋯ + α i m F m + ε i , m ⩽ p X_i=\mu_i+\alpha_{i1}F_1+\cdots+\alpha_{im}F_m+\varepsilon_i,m\leqslant p Xi=μi+αi1F1+⋯+αimFm+εi,m⩽p或 X − μ = Λ F + ε \bm{X-\mu=\Lambda F+\varepsilon } X−μ=ΛF+ε其中 X ∈ p × 1 , μ ∈ p × 1 , Λ ∈ p × m , F ∈ m × 1 , ε ∈ p × 1 \bm{X}\in p\times 1,\bm{\mu}\in p\times 1,\bm{\Lambda} \in p\times m,\bm{F}\in m\times 1,\bm{\varepsilon}\in p\times 1 X∈p×1,μ∈p×1,Λ∈p×m,F∈m×1,ε∈p×1,称 F 1 , F 2 , ⋯ , F m F_1,F_2,\cdots,F_m F1,F2,⋯,Fm为公共因子,是不可观测的变量,它们的系数称为载荷因子, ε i \varepsilon_i εi为特殊因子,是不能被前m个公共因子包含的部分。且满足 E ( F ) = 0 , E ( ε ) = 0 , Cov ( F ) = I m , D ( ε ) = Cov ( ε ) = diag ( σ 1 2 , σ 2 2 , ⋯ , σ p 2 ) , Cov ( F , ε ) = 0 E(\bm{F})=0, E(\bm{\varepsilon})=0,\operatorname{Cov}(\bm{F})=\bm{I}_{m}, D(\bm{\varepsilon})=\operatorname{Cov}(\bm{\varepsilon})=\operatorname{diag}\left(\sigma_{1}^{2}, \sigma_{2}^{2}, \cdots, \sigma_{p}^{2}\right), \operatorname{Cov}(\bm{F}, \bm{\varepsilon})=0 E(F)=0,E(ε)=0,Cov(F)=Im,D(ε)=Cov(ε)=diag(σ12,σ22,⋯,σp2),Cov(F,ε)=0该模型与回归模型在形式上很相似,但因子分析中的因子是抽象的概念,而回归变量有明确的实际意义。因子分析的首要任务就是估计因子载荷 α i j \alpha_{ij} αij和方差 σ i \sigma_i σi,然后给因子 F i F_i Fi一个合理的解释,若难以进行合理的解释,则需要进一步作因子旋转,希望旋转后能发现比较合理的解释。
3.1.2 因子分析模型的性质
- 原始变量 X \bm{X} X的协方差矩阵的分解。由 X − μ = Λ F + ε \bm{X-\mu=\Lambda F+\varepsilon } X−μ=ΛF+ε,得 Cov ( X − μ ) = Λ Cov ( F ) Λ T + Cov ( ε ) \operatorname{Cov}(\bm{X-\mu)=\Lambda \operatorname{Cov}(F)\Lambda^T+\operatorname{Cov}(\varepsilon) } Cov(X−μ)=ΛCov(F)ΛT+Cov(ε),即 Cov ( X − μ ) = Λ Λ T + diag ( σ 1 2 , σ 2 2 , ⋯ , σ p 2 ) \operatorname{Cov}(\bm{X-\mu)=\Lambda \Lambda^T }+\operatorname{diag}\left(\sigma_{1}^{2}, \sigma_{2}^{2}, \cdots, \sigma_{p}^{2}\right) Cov(X−μ)=ΛΛT+diag(σ12,σ22,⋯,σp2) σ 1 2 , σ 2 2 , ⋯ , σ p 2 \sigma_{1}^{2}, \sigma_{2}^{2}, \cdots, \sigma_{p}^{2} σ12,σ22,⋯,σp2的值越小,则公共因子共享的成分越多。
- 载荷矩阵不是唯一的。设 T \bm{T} T为一个 p × p p\times p p×p的正交矩阵,令 Λ ~ = Λ T , F ~ = T T F \bm{\tilde{\Lambda}=\Lambda T,\tilde{F}=T^TF} Λ~=ΛT,F~=TTF,则模型可以表示为 X = μ + Λ ~ F ~ + ε \bm{X=\mu+\tilde{\Lambda}\tilde{F}+\varepsilon} X=μ+Λ~F~+ε
3.1.3 因子载荷矩阵中的几个统计性质
- 因子载荷 α i j \alpha_{ij} αij的统计意义:因子载荷 α i j \alpha_{ij} αij是第i个变量和第j个公共因子的相关系数,反映了第i个变量和第j个公共因子的相关重要性。绝对值越大,相关的密切程度越高。
- 变量共同度的统计意义:变量 X i X_i Xi的共同度是因子载荷矩阵第i行的元素的平方和,记为 h i 2 = ∑ j = 1 m α i j 2 h_i^2=\sum_{j=1}^m\alpha_{ij}^2 hi2=∑j=1mαij2,对原模型的公式的两边求方差,得 1 = ∑ j = 1 m α i j 2 + σ i 2 1=\sum_{j=1}^m\alpha_{ij}^2+\sigma_i^2 1=j=1∑mαij2+σi2式中,特殊因子的方差 σ i 2 ( i = 1 , 2 , ⋯ , p ) \sigma_i^2(i=1,2,\cdots,p) σi2(i=1,2,⋯,p)称为特殊方差。可以看出所有的公共因子和特殊因子对变量 X i X_i Xi的贡献为1。若 ∑ j = 1 m α i j 2 \sum_{j=1}^m\alpha_{ij}^2 ∑j=1mαij2非常接近1, σ i 2 \sigma_i^2 σi2非常小,则因子分析的效果好,从原变量空间到公共因子空间的转化效果好。
- 公共因子 F i F_i Fi方差贡献的统计意义:因子载荷矩阵中各列元素的平方和 S j = ∑ i = 1 p α i j 2 S_j=\sum_{i=1}^p\alpha_{ij}^2 Sj=i=1∑pαij2称为 F j ( j = 1 , 2 , ⋯ . m ) F_j(j=1,2,\cdots.m) Fj(j=1,2,⋯.m)对所有的 X i X_i Xi的方差贡献和(可解释方差),用于衡量 F j F_j Fj的相对重要性。列元素的平方和除以变量总个数可得到该公共因子的贡献率,用PCA法算出的贡献率总和为1,用主因子法和最大似然法算得的总贡献率小于1。
3.2 因子载荷矩阵的估计方法
因子分析的一个基本问题是如何估计因子载荷,下面介绍常用的因子载荷矩阵的估计方法。
3.2.1 主成分分析法(主要使用)
设 λ 1 ⩾ λ 2 ⩾ ⋯ ⩾ λ p \lambda_1\geqslant \lambda_2\geqslant\cdots\geqslant\lambda_p λ1⩾λ2⩾⋯⩾λp为样本相关系数矩阵 R \bm{R} R的特征值, η 1 , η 2 , ⋯ , η p \bm{\eta_1,\eta_2,\cdots,\eta_p} η1,η2,⋯,ηp为相应的标准正交化特征向量。设m
Λ \bm{\Lambda} Λ为 Λ = [ λ 1 η 1 , λ 2 η 2 , ⋯ , λ m η m ] \bm{\Lambda}=[\sqrt{\lambda_1}\bm{\eta_1},\sqrt{\lambda_2}\bm{\eta_2},\cdots,\sqrt{\lambda_m}\bm{\eta_m}] Λ=[λ1η1,λ2η2,⋯,λmηm]特殊因子的方差用 R − Λ Λ T \bm{R-\Lambda\Lambda^T} R−ΛΛT的对角元来估计,即 σ i 2 = 1 − ∑ j = 1 m α i j 2 \sigma_i^2=1-\sum_{j=1}^m\alpha_{ij}^2 σi2=1−j=1∑mαij2
3.2.2 主因子法
主因子法是对主成分方法的修正,输入变量标准化后有 R = Λ Λ T + D , D = diag ( σ 1 2 , σ 2 2 , ⋯ , σ p 2 ) \bm{R=\Lambda\Lambda^T+D,D}=\operatorname{diag}\left(\sigma_{1}^{2}, \sigma_{2}^{2}, \cdots, \sigma_{p}^{2}\right) R=ΛΛT+D,D=diag(σ12,σ22,⋯,σp2),记 R ∗ = Λ Λ T = R − D \bm{R^*=\Lambda\Lambda^T=R-D} R∗=ΛΛT=R−D式中, R ∗ \bm{R^*} R∗为约相关系数矩阵,其对角线上的元素都是 h i 2 h_i^2 hi2。在实际应用中,特殊因子的方差一般都是未知的,可通过一组样本来估计,估计的方法有以下2种:
- 取 h ^ i 2 = 1 \hat{h}_i^2=1 h^i2=1,此时主因子解与主成分解等价。
- 取 h ^ i 2 = m a x j ≠ i ∣ r i j ∣ \hat{h}_i^2=\mathop{max}\limits_{j\neq i}|r_{ij}| h^i2=j=imax∣rij∣,此时取 X i X_i Xi与其余的 X j X_j Xj的简单相关系数的绝对值最大者。记 R ∗ = R − D = [ h ^ 1 2 r 12 ⋯ r 1 p r 21 h ^ 2 2 ⋯ r 2 p ⋮ ⋮ ⋱ ⋮ r p 1 r p 2 ⋮ h ^ p 2 ] \bm{R^*=R-D}=\begin{bmatrix} \hat{h}_1^2 & r_{12} & \cdots & r_{1p} \\ r_{21} & \hat{h}_2^2 &\cdots & r_{2p} \\ \vdots & \vdots & \ddots & \vdots \\ r_{p1} & r_{p2} & \vdots & \hat{h}_p^2 \end{bmatrix} R∗=R−D=⎣⎢⎢⎢⎢⎡h^12r21⋮rp1r12h^22⋮rp2⋯⋯⋱⋮r1pr2p⋮h^p2⎦⎥⎥⎥⎥⎤直接求 R ∗ \bm{R}^* R∗的前p个特征值 λ 1 ∗ ⩾ λ 2 ∗ ⩾ ⋯ ⩾ λ p ∗ \lambda_1^*\geqslant \lambda_2^*\geqslant \cdots \geqslant \lambda_p^* λ1∗⩾λ2∗⩾⋯⩾λp∗,和对应的正交特征向量 u 1 ∗ , u 2 ∗ , ⋯ , u p ∗ \bm{u_1^*,u_2^*,\cdots,u_p^*} u1∗,u2∗,⋯,up∗,得到如下的因子载荷矩阵 Λ = [ λ 1 ∗ u 1 ∗ , λ 1 ∗ u 1 ∗ , ⋯ , λ 1 ∗ u 1 ∗ ] \bm{\Lambda}=[\sqrt{\lambda_1^*}\bm{u}_1^*,\sqrt{\lambda_1^*}\bm{u}_1^*,\cdots,\sqrt{\lambda_1^*}\bm{u}_1^*] Λ=[λ1∗u1∗,λ1∗u1∗,⋯,λ1∗u1∗]
3.2.2 最大似然估计法
MATLAB工具箱求因子载荷矩阵使用的是最大似然估计法
[Lambda,Psi] = factoran(r,1,'xtype','cov') %Lambda返回的是因子载荷矩阵,Psi返回的是特殊方差
%第二个输入参数为公因子数,'xtype'后接输入矩阵的类型,'cov'表示数据矩阵为正的协方差或相关矩阵
%该函数对公共因子数目有限制,需满足m<=d且df>=0,其中m为要计算的公因子数,d为原始变量个数,df为自由度
%自由度计算公式为degree_freedom=((d-m)^2-(d+m))/2,当原始变量为3个时只能求得一个主因子,当原始变量为5个时至多求得2个主因子
3.3 因子旋转(正交变换)
建立因子分析数学模型的目的不仅要找出公共因子,更重要的是要知道每个公共因子的含义,以便进一步的分析。由于因子载荷矩阵不唯一,为使每个公共因子含义清晰,需对因子载荷矩阵进行旋转,目的是使因子载荷矩阵的结构简化,使载荷矩阵每列或行的元素平方值向0和1两极分化。有3种主要的正交旋转法:
- 方差最大法(主要使用):方差最大法从简化因子载荷矩阵的每一列出发,使和每个因子有关的载荷的平方的方差最大。当只有少数几个变量在某个因子上有较高的载荷时,对因子的解释最简单。方差最大的直观意义是希望通过因子旋转后,使每个因子上的载荷尽量拉开距离,一部分载荷趋于 ± 1 \pm1 ±1,另一部分趋于0。
- 四次方最大旋转:四次方最大旋转是从简化载荷矩阵的行出发,通过旋转初始因子,使每个变量只在一个因子上有较高的载荷,在其他因子上有尽可能低的载荷。如果每个变量只在一个因子上有非零的载荷,这时的因子解释是最简单的。四次方最大法是使因子载荷矩阵中每一行的因子载荷平方的方差达到最大。
- 等量最大法:等量最大法是把四次方最大法和方差最大法结合起来,求它们的加权平均最大。
对两个因子的载荷矩阵 Λ = ( α i j ) p × 2 , i = 1 , ⋯ , p ; j = 1 , 2 \bm{\Lambda}=(\alpha_{ij})_{p\times 2},i=1,\cdots,p\ ;j=1,2 Λ=(αij)p×2,i=1,⋯,p ;j=1,2,取正交矩阵 T = [ c o s ϕ − s i n ϕ s i n ϕ c o s ϕ ] \bm{T}=\begin{bmatrix} cos\phi & -sin\phi \\ sin\phi & cos\phi \end{bmatrix} T=[cosϕsinϕ−sinϕcosϕ]这是逆时针旋转,若将 T \bm{T} T次对角线上的两个元素对换,则作顺时针旋转。记 Λ ^ = Λ T \bm{\hat{\Lambda}=\Lambda T} Λ^=ΛT为旋转因子载荷矩阵,此时模型变为 X − μ = Λ ^ ( T T F ) + ε \bm{X-\mu=\hat{\Lambda}(T^TF)+\varepsilon} X−μ=Λ^(TTF)+ε同时公共因子 F \bm{F} F也随之变为 T T F \bm{T^TF} TTF,现在希望通过旋转,使因子的含义更加明确。
当公共因子数 m > 2 m>2 m>2时,可以每次考虑不同的两个因子的旋转,从m个因子中每次选取两个旋转,共有m(m-1)/2种选择,这样共有m(m-1)/2次旋转,做完这么多次旋转后就算完成了一个循环,然后可以重新开始第二个循环,直到每个因子的含义都比较明确为止。
[lambda2,t]=rotatefactors(lambda(:,1:num),'method', 'varimax') %对载荷矩阵按照方差最大法进行旋转
%其中lambda2为旋转载荷矩阵,t为变换的正交矩阵
3.4 因子得分
在因子分析中,一般关注的重点是估计因子模型的参数,即载荷矩阵,有时公共因子的估计(即因子得分)也是需要的,因子得分可用于模型诊断,也可作下一步分析的原始数据。因子得分并不是通常意义下的参数估计,它是对不可观测的随机变量 F i F_i Fi取值的估计。通常可以用加权最小二乘法和回归法来估计因子得分。
3.4.1 因子得分的概念
在因子分析的数学模型中,原变量被表示为公共因子的线性组合。因子得分则需要把公共因子表示为原变量的线性组合,因子得分函数: F j = c j + β j 1 X 1 + ⋯ + β j p X p , j = 1 , 2 , ⋯ , m F_j=c_j+\beta_{j1}X_1+\cdots+\beta_{jp}X_p\ ,j=1,2,\cdots,m Fj=cj+βj1X1+⋯+βjpXp ,j=1,2,⋯,m可见,要求得每个因子的得分,必须求得分函数的系数,而由于 p > m p>m p>m,所以不能得到精确的得分,只能通过估计。
3.4.2 巴特莱特因子得分(加权最小二乘法,主要使用)
把 X i − μ i X_i-\mu_i Xi−μi看作因变量,把因子载荷矩阵看成自变量的观测。由于特殊因子的方差相异,所以用加权最小二乘法求得分,使 ∑ i = 1 p [ ( X i − μ i ) − ( α i 1 F ^ 1 + ⋯ + α i m F ^ m ) ] 2 / σ i 2 \sum_{i=1}^p[(X_i-\mu_i)-(\alpha_{i1}\hat{F}_1+\cdots+\alpha_{im}\hat{F}_m)]^2/\sigma_i^2 i=1∑p[(Xi−μi)−(αi1F^1+⋯+αimF^m)]2/σi2最小的 F ^ 1 , ⋯ , F ^ m \hat{F}_1,\cdots,\hat{F}_m F^1,⋯,F^m是相应个案的因子得分,用矩阵表示则要使 ( X − μ − Λ F ) T D − 1 ( X − μ − Λ F ) \bm{(X-\mu-\Lambda F)^TD^{-1}(X-\mu-\Lambda F)} (X−μ−ΛF)TD−1(X−μ−ΛF)达到最小,计算得 F ^ = ( Λ T D − 1 Λ ) − 1 Λ T D − 1 ( X − μ ) \bm{\hat{F}=(\Lambda^TD^{-1}\Lambda)^{-1}\Lambda^TD^{-1}(X-\mu)} F^=(ΛTD−1Λ)−1ΛTD−1(X−μ)
3.4.3 回归方法
对正规化后的原始变量,因子得分函数的计算公式变为 F j = β j 1 X 1 + ⋯ + β j p X p , j = 1 , 2 , ⋯ , m F_j=\beta_{j1}X_1+\cdots+\beta_{jp}X_p\ ,j=1,2,\cdots,m Fj=βj1X1+⋯+βjpXp ,j=1,2,⋯,m,由于 α i j = γ x i F j = E ( X i F j ) = E [ X i ( β j 1 X 1 + ⋯ + β j p X p ) ] = β j 1 γ i 1 + ⋯ + β j p γ i p = [ γ i 1 , γ i 2 , ⋯ , γ i p ] [ β j 1 β j 2 ⋮ β j p ] \begin{array}{l} \alpha_{i j}=\gamma_{x_{i} F_{j}}=E\left(X_{i} F_{j}\right)=E\left[X_{i}\left(\beta_{j 1} X_{1}+\cdots+\beta_{j p} X_{p}\right)\right] \\ \quad=\beta_{j 1} \gamma_{i 1}+\cdots+\beta_{j p} \gamma_{i p}=\left[\gamma_{i 1}, \gamma_{i 2}, \cdots, \gamma_{i p}\right]\left[\begin{array}{c} \beta_{j 1} \\ \beta_{j 2} \\ \vdots \\ \beta_{j p} \end{array}\right] \end{array} αij=γxiFj=E(XiFj)=E[Xi(βj1X1+⋯+βjpXp)]=βj1γi1+⋯+βjpγip=[γi1,γi2,⋯,γip]⎣⎢⎢⎢⎡βj1βj2⋮βjp⎦⎥⎥⎥⎤因此有 [ γ 11 γ 12 ⋯ γ 1 p γ 21 γ 22 ⋯ γ 2 p ⋮ ⋮ ⋱ ⋮ γ p 1 γ p 2 ⋯ γ p p ] [ β j 1 β j 2 ⋮ β j p ] = [ α 1 j α 2 j ⋮ α p j ] , j = 1 , 2 , ⋯ , m \left[\begin{array}{cccc} \gamma_{11} & \gamma_{12} & \cdots & \gamma_{1 p} \\ \gamma_{21} & \gamma_{22} & \cdots & \gamma_{2 p} \\ \vdots & \vdots & \ddots & \vdots \\ \gamma_{p 1} & \gamma_{p 2} & \cdots & \gamma_{p p} \end{array}\right]\left[\begin{array}{c} \beta_{j 1} \\ \beta_{j 2} \\ \vdots \\ \beta_{j p} \end{array}\right]=\left[\begin{array}{c} \alpha_{1 j} \\ \alpha_{2 j} \\ \vdots \\ \alpha_{p j} \end{array}\right], j=1,2, \cdots, m ⎣⎢⎢⎢⎡γ11γ21⋮γp1γ12γ22⋮γp2⋯⋯⋱⋯γ1pγ2p⋮γpp⎦⎥⎥⎥⎤⎣⎢⎢⎢⎡βj1βj2⋮βjp⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡α1jα2j⋮αpj⎦⎥⎥⎥⎤,j=1,2,⋯,m式中3个矩阵分别为:原始变量的相关系数矩阵、第j个因子得分函数的系数、载荷矩阵的第j列。用矩阵表示,有 [ β 11 β 21 ⋯ β m 1 β 12 β 22 ⋯ β m 2 ⋮ ⋮ ⋱ ⋮ β 1 p β 2 p ⋯ β m p ] = R − 1 Λ \begin{bmatrix} \beta_{11} & \beta_{21} & \cdots & \beta_{m1} \\ \beta_{12} & \beta_{22} & \cdots & \beta_{m2} \\ \vdots & \vdots &\ddots &\vdots \\\beta_{1p} & \beta_{2p} & \cdots & \beta_{mp} \end{bmatrix}=\bm{R^{-1}\Lambda} ⎣⎢⎢⎢⎡β11β12⋮β1pβ21β22⋮β2p⋯⋯⋱⋯βm1βm2⋮βmp⎦⎥⎥⎥⎤=R−1Λ因此,因子得分的估计为 F ^ = X 0 R − 1 Λ \bm{\hat{F}=X_0R^{-1}\Lambda} F^=X0R−1Λ
3.5 因子分析的步骤与PCA的对比
3.5.1 因子分析的步骤
- 选择分析的变量:因子分析的前提条件是观测变量间有较强的相关性,因为如果变量间无相关性或相关性较小,它们之间就不会有共享因子。
- 计算所选原始变量的相关系数矩阵:相关系数矩阵描述了原始变量之间的相关关系,是估计因子结构的基础。
- 提出公共因子:确定因子求解的方法和因子的个数,需要根据研究者的设计方案以及有关的经验或知识事先决定。因子个数的确定可以根据因子方差的大小,只取方差大于1(或特征值大于1)的那些因子。因子的累计方差贡献率一般要达到60%才能符合要求。
- 因子旋转:通过坐标变换使每个原始变量在尽可能少的因子之间有密切的关系,并为每个潜在因子赋予有实际含义的名字。
- 计算因子得分:求出各样本的因子得分,就可以在许多分析中使用这些因子。如以因子得分做聚类分析的变量,做回归分析中的回归因子。
3.5.2 PCA与因子分析法的比较
判别分析是根据所研究个体的观测指标来推断该个体所属类型的一种统计方法。用统计的语言表达,就是已知有q个总体 X 1 , X 2 , ⋯ , X q X_1,X_2,\cdots,X_q X1,X2,⋯,Xq,它们的分布函数分别为 F 1 ( x ) , F 2 ( x ) , ⋯ , F q ( x ) F_1(x),F_2(x),\cdots,F_q(x) F1(x),F2(x),⋯,Fq(x),每个 F i ( x ) F_i(x) Fi(x)都是p维函数,对给定的样本X,要判断它来自哪个总体。常用的基本判别法有:距离判别、Bayes判别、Fisher判别。
4.1 距离判别
距离判别适用于连续型随机变量的判别类,对变量的概率分布没有限制。
通常定义的距离为欧氏距离,但在统计分析与计算中,就不适用了。
设 x , y \bm{x,y} x,y是从均值为 μ \bm{\mu} μ,协方差为 Σ \bm{\Sigma} Σ的总体A中抽取的样本,则总体A内两点 x , y \bm{x,y} x,y的马氏距离定义为 d ( x , y ) = ( x − y ) T Σ T ( x − y ) d(\bm{x,y})=\sqrt{\bm{(x-y)^T\Sigma^T(x-y)}} d(x,y)=(x−y)TΣT(x−y)定义样本x和总体A的马氏距离为 d ( x , A ) = ( x − μ ) T Σ T ( x − μ ) d(\bm{x,A})=\sqrt{\bm{(x-\mu)^T\Sigma^T(x-\mu)}} d(x,A)=(x−μ)TΣT(x−μ)讨论两个总体的距离判别时,分协方差相同和协方差不同两种情况进行讨论。设总体A和B的均值向量分别为 μ 1 \bm{\mu_1} μ1和 μ 2 \bm{\mu_2} μ2,协方差矩阵分别为 Σ 1 \bm{\Sigma_1} Σ1和 Σ 2 \bm{\Sigma_2} Σ2,给定一个样本x,要判断x来自哪一个总体。
4.2 Fisher判别
Fisher判别的基本思想是投影,即将表面上不易分类的数据通过投影到某个方向上,使得投影类与类之间得以分类的一种判别方法。
考虑两个p维总体 X 1 , X 2 X_1,X_2 X1,X2,Fisher的判别思想是变换多元观测 x \bm{x} x到一元观测y,使得由总体 X 1 , X 2 X_1,X_2 X1,X2产生的y尽可能地分离开来。设 a \bm{a} a为p维实向量, x \bm{x} x的线性组合为 y = a T x y=\bm{a^Tx} y=aTx, X 1 , X 2 X_1,X_2 X1,X2的均值为 μ 1 , μ 2 \bm{\mu_1,\mu_2} μ1,μ2,且有公共的协方差矩阵 Σ \bm{\Sigma} Σ,则线性组合的均值和方差为 μ y 1 = a T μ 1 , μ y 2 = a T μ 2 , σ y 2 = a T Σ a \mu_{y1}=\bm{a^T\mu_1}\ ,\mu_{y2}=\bm{a^T\mu_2}\ ,\sigma_y^2=\bm{a^T\Sigma a} μy1=aTμ1 ,μy2=aTμ2 ,σy2=aTΣa考虑比 ( μ y 1 − μ y 2 ) 2 σ y 2 = [ a T ( μ 1 − μ 2 ) ] 2 a T Σ a \frac{(\mu_{y1}-\mu_{y2})^2}{\sigma_y^2}=\bm{\frac{[a^T(\mu_1-\mu_2)]^2}{a^T\Sigma a}} σy2(μy1−μy2)2=aTΣa[aT(μ1−μ2)]2根据Fisher的思想,要选择 a \bm{a} a使得该式达到最大。当选取 a = Σ − 1 ( μ 1 − μ 2 ) \bm{a=\Sigma^{-1}(\mu_1-\mu_2)} a=Σ−1(μ1−μ2)时达到最大,此时线性函数 y = a T x = ( μ 1 − μ 2 ) T Σ − 1 x y=\bm{a^Tx=(\mu_1-\mu_2)^T\Sigma^{-1}x} y=aTx=(μ1−μ2)TΣ−1x称为Fisher线性判别函数。令 K = 1 2 ( μ y 1 + μ y 2 ) K=\cfrac12(\mu_{y1}+\mu_{y2}) K=21(μy1+μy2),有 μ y 1 − K > 0 , μ y 2 − K < 0 \mu_{y1}-K>0,\mu_{y2}-K<0 μy1−K>0,μy2−K<0,得到Fisher判别规则为 x ∈ { X 1 , a T x ⩾ K X 2 , a T x < K \bm{x}\in \begin{cases}\bm{X_1}\ ,\bm{a^Tx} \geqslant K \\ \bm{X_2}\ ,\bm{a^Tx} < K \end{cases} x∈{X1 ,aTx⩾KX2 ,aTx<K定义判别函数 W ( x ) = ( μ 1 − μ 2 ) T Σ − 1 x − K = [ x − 1 2 ( μ 1 + μ 2 ) ] T Σ − 1 ( μ 1 − μ 2 ) W(\bm{x})=\bm{(\mu_1-\mu_2)^T\Sigma^{-1}x}-K=\bm{[x-\frac12(\mu_1+\mu_2)]^T\Sigma^{-1}(\mu_1-\mu_2)} W(x)=(μ1−μ2)TΣ−1x−K=[x−21(μ1+μ2)]TΣ−1(μ1−μ2)则判别规则可改写成 x ∈ { X 1 , W ( x ) ⩾ 0 X 2 , W ( x ) < 0 \bm{x}\in \begin{cases}\bm{X_1}\ ,W(\bm{x}) \geqslant 0 \\ \bm{X_2}\ ,W(\bm{x})< 0 \end{cases} x∈{X1 ,W(x)⩾0X2 ,W(x)<0这里的Fisher判别与距离判别一样不需要知道总体的分布类型,但量总体的均值向量必须有显著的差异,否则判别无意义。
4.3 Bayes判别
Bayes判别假定对研究对象已有一定的认识,这种认识常用先验概率来描述。当取得一个样本后,就可以用样本来修正已有的先验概率分布,得出后验概率分布,再通过后验概率分布进行各种统计推断。
误判概率:设有两个总体 X 1 X_1 X1和 X 2 X_2 X2,分别具有概率密度函数 f 1 ( x ) f_1(\bm{x}) f1(x)和 f 2 ( x ) f_2(\bm{x}) f2(x),根据某个判别规则,将实际上为 X 1 X_1 X1的个体判为 X 2 X_2 X2,或将实际上为 X 2 X_2 X2的个体判为 X 1 X_1 X1的概率就是误判概率。一个好的判别规则应该使误判概率最小。
误判损失:一般把 X 1 X_1 X1的个体判为 X 2 X_2 X2,和把 X 2 X_2 X2的个体判为 X 1 X_1 X1所造成的损失不同。因此一个好的判别规则还必须使误判损失最小。
某样本实际是来自 X 1 X_1 X1,但是被判给 X 2 X_2 X2的概率为 P ( 2 ∣ 1 ) P(2|1) P(2∣1),来自 X 2 X_2 X2,但是被判给 X 1 X_1 X1的概率为 P ( 1 ∣ 2 ) P(1|2) P(1∣2)。类似地,来自 X 1 X_1 X1被判给 X 1 X_1 X1的概率为 P ( 1 ∣ 1 ) P(1|1) P(1∣1),来自 X 2 X_2 X2被判给 X 2 X_2 X2的概率为 P ( 2 ∣ 2 ) P(2|2) P(2∣2)。设 p 1 , p 2 p_1,p_2 p1,p2分别表示总体 X 1 , X 2 X_1,X_2 X1,X2的先验概率,有 p 1 + p 2 = 1 p_1+p_2=1 p1+p2=1,于是有 P ( 正 确 判 给 X 1 ) = P ( 1 ∣ 1 ) ⋅ p 1 , P ( 误 判 给 X 1 ) = P ( 1 ∣ 2 ) ⋅ p 2 , P ( 正 确 判 给 X 2 ) = P ( 2 ∣ 2 ) ⋅ p 2 , P ( 误 判 给 X 2 ) = P ( 2 ∣ 1 ) ⋅ p 1 P(正确判给X_1)=P(1|1)\cdot p_1,P(误判给X_1)=P(1|2)\cdot p_2,\\ P(正确判给X_2)=P(2|2)\cdot p_2,P(误判给X_2)=P(2|1)\cdot p_1 P(正确判给X1)=P(1∣1)⋅p1,P(误判给X1)=P(1∣2)⋅p2,P(正确判给X2)=P(2∣2)⋅p2,P(误判给X2)=P(2∣1)⋅p1设 L ( 1 ∣ 2 ) L(1|2) L(1∣2)表示来自 X 2 X_2 X2误判给 X 1 X_1 X1引起的损失, L ( 2 ∣ 1 ) L(2|1) L(2∣1)表示来自 X 1 X_1 X1误判给 X 2 X_2 X2引起的损失,并规定 L ( 1 ∣ 1 ) = L ( 2 ∣ 2 ) = 0 L(1|1)=L(2|2)=0 L(1∣1)=L(2∣2)=0。定义平均误判损失ECM为: ECM ( R 1 , R 2 ) = L ( 2 ∣ 1 ) P ( 2 ∣ 1 ) p 1 + L ( 1 ∣ 2 ) P ( 1 ∣ 2 ) p 2 \operatorname{ECM}(R_1,R_2)=L(2|1)P(2|1)p_1+L(1|2)P(1|2)p_2 ECM(R1,R2)=L(2∣1)P(2∣1)p1+L(1∣2)P(1∣2)p2一个合理的判别规则应使ECM达到最小。记 Ω \Omega Ω为x的所有可观测值得全体,称为样本空间, R 1 R_1 R1为要判为 X 1 X_1 X1的那些x全体, R 2 = Ω − R 1 R_2=\Omega-R_1 R2=Ω−R1为要判为 X 2 X_2 X2的那些x全体。要选择样本空间 Ω \Omega Ω的一个划分 R 1 , R 2 R_1,R_2 R1,R2使平均误判损失达到最小。两总体的Bayes判别准则为: x ∈ { X 1 , f 1 ( x ) f 2 ( x ) ⩾ L ( 1 ∣ 2 ) L ( 2 ∣ 1 ) ⋅ p 2 p 1 X 2 , f 1 ( x ) f 2 ( x ) < L ( 1 ∣ 2 ) L ( 2 ∣ 1 ) ⋅ p 2 p 1 \bm{x}\in \begin{cases}\bm{X_1}\ ,\cfrac{f_1(\bm{x})}{f_2(\bm{x})} \geqslant \cfrac{L(1|2)}{L(2|1)}\cdot\cfrac{p_2}{p_1} \\ \bm{X_2}\ ,\cfrac{f_1(\bm{x})}{f_2(\bm{x})} < \cfrac{L(1|2)}{L(2|1)} \cdot\cfrac{p_2}{p_1}\end{cases} x∈⎩⎪⎪⎨⎪⎪⎧X1 ,f2(x)f1(x)⩾L(2∣1)L(1∣2)⋅p1p2X2 ,f2(x)f1(x)<L(2∣1)L(1∣2)⋅p1p2应用此准则时仅需计算:① 新样本点 x 0 \bm{x}_0 x0的密度函数比 f 1 ( x 0 ) / f 2 ( x 0 ) f_1(\bm{x}_0)/f_2(\bm{x}_0) f1(x0)/f2(x0) ② 损失比 L ( 1 ∣ 2 ) / L ( 2 ∣ 1 ) L(1|2)/L(2|1) L(1∣2)/L(2∣1) ③ 先验概率比 p 2 / p 1 p_2/p_1 p2/p1 。
将上述的两总体Bayes判别应用于正态总体 X i ∼ N p ( μ i , Σ i ) , i = 1 , 2 X_i\sim N_p(\bm{\mu_i,\Sigma_i}),i=1,2 Xi∼Np(μi,Σi),i=1,2,分方差是否相等来讨论:
syms x1 x2; x=[x1 x2]; %定义x1,x2为变量
%sym函数:可通过t=sym('x');f=t^2;将f定义为变量x的二次函数,返回值为sym类型(符号类型)
%syms函数:可通过syms x1,x2定义变量,或通过syms f(x);f=x^2;直接定义f为x的二次函数
%想绘制符号函数可使用ezplot()绘制二维函数,或ezsurf()绘制三维函数
wx=(x-0.5*(mu1+mu2))*inv(sig)*(mu1-mu2)'; %构造判别函数
wx=vpa(wx,6) %将函数wx的每个元素计算到6位有效数字
ahat=subs(wx,{x1,x2},{a(:,1),a(:,2)})'; %用输入的第3项代替第2项以计算第1项
%%%%%%%%%%%%%还可以直接用MATLAB工具箱中的分类函数classify用其他方法进行分类%%%%%%%%%%%%
[x1,y1]=classify(sample,train,group,'linear',prior) %线性分类
[x2,y2]=classify(sample,train,group,'quadratic',prior) %二次分类
%输入参数sample一般为未知样本,也可以回代检验误判;train为已知样本;group为样本类别标识;priority为已知样本的先验概率
%返回值x1为sample的分类类别,y1为误判率,输入的第4个参数为'mahalanobis'代表马氏距离分类
通常情况下,为研究两组变量的相关关系,可以用最原始的方法,分别计算两组变量之间的全部相关系数,这样既繁琐又不能抓住问题本质。于是采用类似PCA的思想,分别找出两组变量各自的某个线性组合,使该对线性组合有最大相关性,然后在两组变量中找出第二对线性组合,使其分别与本组内第一对线性组合不相关,第二对线性组合本身具有次大相关性。如此继续下去,直至进行到r步,两组变量的相关性被提取完为止,可得到r组变量。
5.1 典型相关的数学描述
描述两组随机变量 X = [ x 1 , x 2 , ⋯ , x p ] T \bm{X}=[x_1,x_2,\cdots,x_p]^T X=[x1,x2,⋯,xp]T与 Y = [ y 1 , y 2 , ⋯ , y q ] T \bm{Y}=[y_1,y_2,\cdots,y_q]^T Y=[y1,y2,⋯,yq]T之间的相关程度使用复相关系数。先将每一组随机变量线性组合,成为两个随机变量 u = ρ T X = ∑ i = 1 p ρ i x i , v = γ T Y = ∑ j = 1 q γ j y j \bm{u=\rho^TX}=\sum_{i=1}^p\rho_ix_i\ ,\bm{v=\gamma^TY}=\sum_{j=1}^q\gamma_jy_j u=ρTX=i=1∑pρixi ,v=γTY=j=1∑qγjyj再研究 u \bm{u} u和 v \bm{v} v的相关系数 r u v r_{uv} ruv,取在 ρ T Σ X X ρ = 1 \bm{\rho^T\Sigma_{XX}\rho}=1 ρTΣXXρ=1和 γ T Σ Y Y γ = 1 \bm{\gamma^T\Sigma_{YY}\gamma}=1 γTΣYYγ=1的条件下使 r u v r_{uv} ruv达到最大的 ρ , γ \bm{\rho,\gamma} ρ,γ作为投影向量,这样得到的相关系数为复相关系数 r u v = max ρ T Σ X X ρ = 1 γ T Σ Y Y γ = 1 r u v ( ρ , γ ) = max ρ T Σ X X ρ = 1 γ T Σ Y Y γ = 1 ρ T Σ X Y γ r_{uv}=\mathop{\max}\limits_{\bm{\rho^T\Sigma_{XX}\rho}=1 \atop \bm{\gamma^T\Sigma_{YY}\gamma}=1}r_{uv}(\bm{\rho,\gamma})=\mathop{\max}\limits_{\bm{\rho^T\Sigma_{XX}\rho}=1 \atop \bm{\gamma^T\Sigma_{YY}\gamma}=1}\bm{\rho^T\Sigma_{XY}\gamma} ruv=γTΣYYγ=1ρTΣXXρ=1maxruv(ρ,γ)=γTΣYYγ=1ρTΣXXρ=1maxρTΣXYγ根据条件极值的求法引入拉格朗日乘数,将问题转化为求 S ( ρ , γ ) = ρ T Σ X Y γ − λ 2 ( ρ T Σ X X ρ − 1 ) − ω 2 ( γ T Σ Y Y γ − 1 ) S(\bm{\rho,\gamma})=\bm{\rho^T\Sigma_{XY}\gamma}-\cfrac{\lambda}{2}(\bm{\rho^T\Sigma_{XX}\rho}-1)-\cfrac{\omega}{2}(\bm{\gamma^T\Sigma_{YY}\gamma}-1) S(ρ,γ)=ρTΣXYγ−2λ(ρTΣXXρ−1)−2ω(γTΣYYγ−1)的极大值,其中 λ , ω \lambda,\omega λ,ω是拉格朗日乘数。由极值的必要条件为 ∂ S ∂ ρ = 0 , ∂ S ∂ γ = 0 \cfrac{\partial S}{\partial \bm{\rho}}=0\ ,\cfrac{\partial S}{\partial \bm{\gamma}}=0 ∂ρ∂S=0 ,∂γ∂S=0由该式计算得 λ = ω = ρ T Σ X Y γ = r u v \lambda=\omega=\bm{\rho^T\Sigma_{XY}\gamma}=r_{uv} λ=ω=ρTΣXYγ=ruv,带入可得 ( Σ X Y Σ Y Y − 1 Σ Y X − λ 2 Σ X X ) ρ = 0 , ( Σ Y X Σ X X − 1 Σ X Y − λ 2 Σ Y Y ) γ = 0 (\bm{\Sigma_{XY}\Sigma_{YY}^{-1}\Sigma_{YX}-\lambda^2\Sigma_{XX})\rho}=0\ ,(\bm{\Sigma_{YX}\Sigma_{XX}^{-1}\Sigma_{XY}-\lambda^2\Sigma_{YY})\gamma}=0 (ΣXYΣYY−1ΣYX−λ2ΣXX)ρ=0 ,(ΣYXΣXX−1ΣXY−λ2ΣYY)γ=0记 M 1 = Σ X X − 1 Σ X Y Σ Y Y − 1 Σ Y X , M 2 = Σ Y Y − 1 Σ Y X Σ X X − 1 Σ X Y \bm{M_1=\Sigma_{XX}^{-1}\Sigma_{XY}\Sigma_{YY}^{-1}\Sigma_{YX}}\ ,\bm{M_2=\Sigma_{YY}^{-1}\Sigma_{YX}\Sigma_{XX}^{-1}\Sigma_{XY}} M1=ΣXX−1ΣXYΣYY−1ΣYX ,M2=ΣYY−1ΣYXΣXX−1ΣXY得 M 1 ρ = λ 2 ρ , M 2 γ = λ 2 γ \bm{M_1\rho=\lambda^2\rho\ ,M_2\gamma=\lambda^2\gamma} M1ρ=λ2ρ ,M2γ=λ2γ说明 λ 2 \lambda^2 λ2既是 M 1 M_1 M1又是 M 2 M_2 M2的特征根, ρ , γ \bm{\rho,\gamma} ρ,γ就是其相应于 M 1 , M 2 M_1,M_2 M1,M2的特征向量。 M 1 , M 2 M_1,M_2 M1,M2的特征根非负,均在[0,1]上,非零特征根的根数为 s = min ( p , q ) s=\min(p,q) s=min(p,q),设特征根排序为 λ 1 2 ⩾ λ 2 2 ⩾ ⋯ ⩾ λ s 2 \lambda_1^2\geqslant\lambda_2^2\geqslant\cdots\geqslant\lambda_s^2 λ12⩾λ22⩾⋯⩾λs2,称 λ 1 , λ 2 , ⋯ , λ s \lambda_1,\lambda_2,\cdots,\lambda_s λ1,λ2,⋯,λs为典型相关系数。相应地,由所解出的特征向量线性组合得到的变量 u i , v i , i = 1 , 2 , ⋯ , s u_i,v_i,i=1,2,\cdots,s ui,vi,i=1,2,⋯,s,称每一对变量为典型变量,记 U = [ u 1 , u 2 , ⋯ , u s ] , V = [ v 1 , v 2 , ⋯ , v s ] \bm{U}=[u_1,u_2,\cdots,u_s]\ ,\bm{V}=[v_1,v_2,\cdots,v_s] U=[u1,u2,⋯,us] ,V=[v1,v2,⋯,vs]。求典型相关系数和典型变量归结为求 M 1 , M 2 M_1,M_2 M1,M2的特征根和特征向量。计算时也可用相关系数矩阵 R \bm{R} R代替协方差阵进行求解。
还可以证明 Cov ( u i , u j ) = Cov ( v i , v j ) = δ i j , Cov ( u i , v j ) = λ i δ i j \operatorname{Cov}(u_i,u_j)=\operatorname{Cov}(v_i,v_j)=\delta_{ij}\ ,\operatorname{Cov}(u_i,v_j)=\lambda_i\delta_{ij} Cov(ui,uj)=Cov(vi,vj)=δij ,Cov(ui,vj)=λiδij
5.2 原始变量与典型变量之间的相关性
5.2.1 原始变量与典型变量之间的相关系数 r ( x i , u j ) = ∑ k = 1 p α k j Cov ( x i , x k ) / D ( x i ) , j = 1 , ⋯ , s r ( x i , v j ) = ∑ k = 1 q β k j Cov ( x i , y k ) / D ( x i ) , j = 1 , ⋯ , s r ( y i , u j ) = ∑ k = 1 p α k j Cov ( y i , x k ) / D ( y i ) , j = 1 , ⋯ , s r ( y i , v j ) = ∑ k = 1 q β k j Cov ( y i , y k ) / D ( y i ) , j = 1 , ⋯ , s r(x_i,u_j)=\sum_{k=1}^p\alpha_{kj}\operatorname{Cov}(x_i,x_k)/\sqrt{D(x_i)}\ ,j=1,\cdots,s \\ r(x_i,v_j)=\sum_{k=1}^q\beta_{kj}\operatorname{Cov}(x_i,y_k)/\sqrt{D(x_i)}\ ,j=1,\cdots,s \\r(y_i,u_j)=\sum_{k=1}^p\alpha_{kj}\operatorname{Cov}(y_i,x_k)/\sqrt{D(y_i)}\ ,j=1,\cdots,s \\r(y_i,v_j)=\sum_{k=1}^q\beta_{kj}\operatorname{Cov}(y_i,y_k)/\sqrt{D(y_i)}\ ,j=1,\cdots,s r(xi,uj)=k=1∑pαkjCov(xi,xk)/D(xi) ,j=1,⋯,sr(xi,vj)=k=1∑qβkjCov(xi,yk)/D(xi) ,j=1,⋯,sr(yi,uj)=k=1∑pαkjCov(yi,xk)/D(yi) ,j=1,⋯,sr(yi,vj)=k=1∑qβkjCov(yi,yk)/D(yi) ,j=1,⋯,s式中 α k j \alpha_{kj} αkj为向量 ρ j \bm{\rho}_j