多元分析是多变量的统计分析方法,是数理统计的一个分支。
1. 聚类分析
聚类分析又称群分析,是对多个样本或指标进行定量分类的一种多元统计分析方法。对样本进行分类称为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 1 ( x , y ) = ∑ k = 1 p ∣ x k − y k ∣ d_1(\bm{x,y})=\sum_{k=1}^p|x_k-y_k| d1(x,y)=∑k=1p∣xk−yk∣
- 欧几里得距离: d 2 ( x , y ) = [ ∑ k = 1 p ∣ x k − y k ∣ 2 ] 1 2 d_2(\bm{x,y})=[\sum_{k=1}^p|x_k-y_k|^2]^{\frac12} d2(x,y)=[∑k=1p∣xk−yk∣2]21
- 切比雪夫距离: d ∞ ( x , y ) = m a x 1 ⩽ k ⩽ p ∣ x k − y k ∣ d_{\infty}(\bm{x,y})=\mathop{max}\limits_{1\leqslant k\leqslant p}|x_k-y_k| d∞(x,y)=1⩽k⩽pmax∣xk−yk∣
在闵氏距离中,最常用的是欧式距离,其主要优点是当坐标轴进行正交旋转时,欧式距离保持不变。
在使用闵氏距离时,一定要采用相同量纲的变量,还应尽可能地避免变量的多重相关性,否则会片面强调某些变量的重要性。由于闵氏距离的这些缺点,一种改进为马氏距离
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,可以用如下方法度量他们之间的距离
- 最短距离法: D ( G 1 , G 2 ) = m i n x i ∈ G 1 , y j ∈ G 2 { d ( x i , y j ) } D(G_1,G_2)=\mathop{min}\limits_{x_i\in G_1,y_j\in G_2}\left\{d(\bm{x_i,y_j}) \right\} D(G1,G2)=xi∈G1,yj∈G2min{d(xi,yj)},直观意义为两个类中最近两点的距离
- 最长距离法: D ( G 1 , G 2 ) = m a x x i ∈ G 1 , y j ∈ G 2 { d ( x i , y j ) } D(G_1,G_2)=\mathop{max}\limits_{x_i\in G_1,y_j\in G_2}\left\{d(\bm{x_i,y_j}) \right\} D(G1,G2)=xi∈G1,yj∈G2max{d(xi,yj)},直观意义为两个类中最远两点的距离
- 重心法: D ( G 1 , G 2 ) = d ( x ˉ , y ˉ ) D(G_1,G_2)=d(\bm{\bar{x},\bar{y}}) D(G1,G2)=d(xˉ,yˉ),式中 x ˉ , y ˉ \bm{\bar{x},\bar{y}} xˉ,yˉ分别为 G 1 , G 2 G_1,G_2 G1,G2的重心
- 类平均法: D ( G 1 , G 2 ) = 1 n 1 n 2 ∑ x i ∈ G 1 ∑ x j ∈ G 2 d ( x i , x j ) D(G_1,G_2)=\cfrac{1}{n_1n_2}\mathop{\sum}\limits_{x_i\in G_1}\mathop{\sum}\limits_{x_j\in G_2}d(\bm{x_i,x_j}) D(G1,G2)=n1n21xi∈G1∑xj∈G2∑d(xi,xj),它等于 G 1 , G 2 G_1,G_2 G1,G2中两样本点距离的平均, n 1 , n 2 n_1,n_2 n1,n2分别为 G 1 , G 2 G_1,G_2 G1,G2中样本点的个数
- 离差平方和法: D ( G 1 , G 2 ) = D 12 − D 1 − D 2 D(G_1,G_2)=D_{12}-D_1-D_2 D(G1,G2)=D12−D1−D2,其中 D 12 , D 1 , D 2 D_{12},D_1,D_2 D12,D1,D2分别为 G 1 ∪ G 2 , G 1 , G 2 G_1\cup G_2,G_1,G_2 G1∪G2,G1,G2的离差平方和,离差平方和为方差的n倍,n为样本数
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 变量相似性度量:常用的有两种
- 相关系数:用两变量 x j \bm{x_j} xj与 x k \bm{x_k} xk的样本相关系数作为他们的相似性度量
- 夹角余弦:用两变量 x j \bm{x_j} xj与 x k \bm{x_k} xk的样本夹角余弦作为他们的相似性度量
1.2.2 类与类的相似性度量:与Q型聚类法类似,常用有最长距离法、最短距离法等
b=zscore(a) %数据标准化,矩阵a为m*n矩阵,m为数据个数,n为数据维度
r=corrcoef(b) %计算相关系数矩阵
用聚类进行数据分析时,先用R型聚类法从变量中所有变量中选取几个有代表性的变量(剔除相关性较强的变量),再对所选取的变量的取值进行Q型聚类分析,得到所有数据的聚类情况。
1.3 动态聚类法
上述先将样品各自作为一类,重复将最近的两类合并,直至所有样品合并为一类的方法称为系统聚类法。
先选择一个初始的分类和一批凝聚点,让样品按某种原则向凝聚点凝聚,对凝聚点不断地修改迭代,直至分类合理或迭代稳定,该方法称为动态聚类法。动态凝聚法中最常用的为k均值法(k-mean)。
2. 主成分分析
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,根据该得分可以对所有数据进行排名从而分析结果
3. 因子分析
因子分析通过研究众多变量之间的内部依赖关系,探求观测数据中的基本结构,用少数几个假想变量来表示其基本数据结构。这几个假想变量能够反映原来众多变量的主要信息,原始的变量时可观测的显在变量,而假想变量是不可观测的潜在变量,称为因子。
因子分析可看成主成分分析的推广,也是一种降维方式,与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<p,则因子载荷矩阵
Λ
\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与因子分析法的比较
4.判别分析
判别分析是根据所研究个体的观测指标来推断该个体所属类型的一种统计方法。用统计的语言表达,就是已知有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来自哪一个总体。
- 当 Σ 1 = Σ 2 = Σ \bm{\Sigma_1=\Sigma_2=\Sigma} Σ1=Σ2=Σ时,根据x到总体A和B的马氏距离大小进行判断 x ∈ { A , d ( x , A ) ⩽ d ( x , A ) B , d ( x , B ) > d ( x , B ) \bm{x}\in \begin{cases}\bm{A}\ ,d(\bm{x,A}) \leqslant d(\bm{x,A}) \\ \bm{B}\ ,d(\bm{x,B}) > d(\bm{x,B}) \end{cases} x∈{A ,d(x,A)⩽d(x,A)B ,d(x,B)>d(x,B)引入l两总体的距离判别函数 w ( x ) = ( x − μ ˉ ) T Σ − 1 ( μ 1 − μ 2 ) ∼ d 2 ( x , B ) − d 2 ( x , A ) w(\bm{x})=\bm{(x-\bar{\mu})^T\Sigma^{-1}(\mu_1-\mu_2)}\sim d^2(\bm{x,B})-d^2(\bm{x,A}) w(x)=(x−μˉ)TΣ−1(μ1−μ2)∼d2(x,B)−d2(x,A),因此判别准则变为 x ∈ { A , w ( x ) ⩾ 0 B , w ( x ) < 0 \bm{x}\in \begin{cases}\bm{A}\ ,w(\bm{x}) \geqslant 0 \\ \bm{B}\ ,w(\bm{x}) < 0 \end{cases} x∈{A ,w(x)⩾0B ,w(x)<0在实际中,总体的均值和协方差阵是未知的,因此总体的均值和协方差用样本的均值和协方差来代替,判别函数也用 w ^ ( x ) \hat{w}(\bm{x}) w^(x)来代替。要注意的是,求样本的协方差 Σ ^ \hat{\bm{\Sigma}} Σ^不能直接将两总体数据混在一起计算,而是要分别计算出 Σ ^ 1 , Σ ^ 2 \hat{\bm{\Sigma}}_1,\hat{\bm{\Sigma}}_2 Σ^1,Σ^2,然后利用公式 Σ ^ = 1 n 1 + n 2 − 2 ( ( n 1 − 1 ) Σ ^ 1 + ( n 2 − 1 ) Σ ^ 2 ) \hat{\bm{\Sigma}}=\cfrac{1}{n_1+n_2-2}((n_1-1)\hat{\bm{\Sigma}}_1+(n_2-1)\hat{\bm{\Sigma}}_2) Σ^=n1+n2−21((n1−1)Σ^1+(n2−1)Σ^2)
- 当 Σ 1 ≠ Σ 2 \bm{\Sigma_1 \neq\Sigma_2} Σ1=Σ2时,判别函数为 w ( x ) = ( x − μ 2 ) T Σ 2 − 1 ( x − μ 2 ) − ( x − μ 1 ) T Σ 1 − 1 ( x − μ 1 ) w(\bm{x})=\bm{(x-\mu_2)^T\Sigma_2^{-1}(x-\mu_2)-(x-\mu_1)^T\Sigma_1^{-1}(x-\mu_1)} w(x)=(x−μ2)TΣ2−1(x−μ2)−(x−μ1)TΣ1−1(x−μ1)
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,分方差是否相等来讨论:
- Σ 1 = Σ 2 = Σ \bm{\Sigma_1=\Sigma_2=\Sigma} Σ1=Σ2=Σ,此时使平均误判损失极限的划分为 { R 1 = { x : W ( x ) ⩾ β } R 2 = { x : W ( x ) < β } \begin{cases} R_1=\left\{ \bm{x:W(x)}\geqslant \beta\right\} \\ R_2=\left\{ \bm{x:W(x)}<\beta\right\} \end{cases} {R1={x:W(x)⩾β}R2={x:W(x)<β}式中 W ( x ) = [ x − 1 2 ( μ 1 + μ 2 ) ] T Σ − 1 ( μ 1 − μ 2 ) , β = ln L ( 1 ∣ 2 ) ⋅ p 2 L ( 2 ∣ 1 ) ⋅ p 1 W(\bm{x})=\bm{[x-\cfrac12(\mu_1+\mu_2)]^T\Sigma^{-1}(\mu_1-\mu_2)},\beta=\operatorname{ln}\cfrac{L(1|2)\cdot p_2}{L(2|1)\cdot p_1} W(x)=[x−21(μ1+μ2)]TΣ−1(μ1−μ2),β=lnL(2∣1)⋅p1L(1∣2)⋅p2,称为Anderson线性判别函数。可以发现 W ( x ) \bm{W(x)} W(x)与Fisher判别和马氏距离判别的线性判别函数是一致的,判别规则仅是判别限不一样。
- Σ 1 ≠ Σ 2 \bm{\Sigma_1\neq \Sigma_2} Σ1=Σ2,此时使平均误判损失极限的划分为 { R 1 = { x : W ( x ) ⩾ K } R 2 = { x : W ( x ) < K } \begin{cases} R_1=\left\{ \bm{x:W(x)}\geqslant K\right\} \\ R_2=\left\{ \bm{x:W(x)}<K\right\} \end{cases} {R1={x:W(x)⩾K}R2={x:W(x)<K}式中 W ( x ) = − 1 2 x T ( Σ 1 − 1 − Σ 2 − 1 ) x + ( μ 1 T Σ 1 − 1 − μ 2 T Σ 2 − 1 ) x K = ln ( L ( 1 ∣ 2 ) p 2 L ( 2 ∣ 1 ) p 1 ) + 1 2 ln ∣ Σ 1 ∣ ∣ Σ 2 ∣ + 1 2 ( μ 1 T Σ 1 − 1 μ 1 − μ 2 T Σ 2 − 1 μ 2 ) \begin{array}{l} W(\bm{x})=-\cfrac{1}{2} \bm{x}^{\mathrm{T}}\left(\bm{\Sigma}_{1}^{-1}-\bm{\Sigma}_{2}^{-1}\right) \bm{x}+\left(\bm{\mu}_{1}^{\mathrm{T}} \bm{\Sigma}_{1}^{-1}-\bm{\mu}_{2}^{\mathrm{T}} \bm{\Sigma}_{2}^{-1}\right) \bm{x} \\ K=\ln \left(\cfrac{L(1 | 2) p_{2}}{L(2 | 1) p_{1}}\right)+\cfrac{1}{2} \ln \cfrac{\left|\bm{\Sigma}_{1}\right|}{\left|\bm{\Sigma}_{2}\right|}+\cfrac{1}{2}\left(\bm{\mu}_{1}^{\mathrm{T}} \bm{\Sigma}_{1}^{-1} \bm{\mu}_{1}-\bm{\mu}_{2}^{\mathrm{T}} \bm{\Sigma}_{2}^{-1} \bm{\mu}_{2}\right) \end{array} W(x)=−21xT(Σ1−1−Σ2−1)x+(μ1TΣ1−1−μ2TΣ2−1)xK=ln(L(2∣1)p1L(1∣2)p2)+21ln∣Σ2∣∣Σ1∣+21(μ1TΣ1−1μ1−μ2TΣ2−1μ2)此时判别函数 W ( x ) \bm{W(x)} W(x)是关于 x \bm{x} x的二次函数,比 Σ 1 = Σ 2 \bm{\Sigma_1=\Sigma_2} Σ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'代表马氏距离分类
5. 典型相关分析
通常情况下,为研究两组变量的相关关系,可以用最原始的方法,分别计算两组变量之间的全部相关系数,这样既繁琐又不能抓住问题本质。于是采用类似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
ρj的第k个数,
β
k
j
\beta_{kj}
βkj为向量
γ
j
\bm{\gamma}_j
γj的第k个数。
5.2.2 各组原始变量被典型变量所解释的方差
X
\bm{X}
X组原始变量被
u
i
u_i
ui解释的方差的比例为:
m
u
i
=
∑
k
=
1
p
r
2
(
u
i
,
x
k
)
/
p
m_{u_i}=\sum_{k=1}^pr^2(u_i,x_k)/p
mui=∑k=1pr2(ui,xk)/p
X
\bm{X}
X组原始变量被
v
i
v_i
vi解释的方差的比例为:
m
v
i
=
∑
k
=
1
p
r
2
(
v
i
,
x
k
)
/
p
m_{v_i}=\sum_{k=1}^pr^2(v_i,x_k)/p
mvi=∑k=1pr2(vi,xk)/p
Y
\bm{Y}
Y组原始变量被
u
i
u_i
ui解释的方差的比例为:
n
u
i
=
∑
k
=
1
q
r
2
(
u
i
,
y
k
)
/
q
n_{u_i}=\sum_{k=1}^qr^2(u_i,y_k)/q
nui=∑k=1qr2(ui,yk)/q
Y
\bm{Y}
Y组原始变量被
v
i
v_i
vi解释的方差的比例为:
n
v
i
=
∑
k
=
1
q
r
2
(
v
i
,
y
k
)
/
q
n_{v_i}=\sum_{k=1}^qr^2(v_i,y_k)/q
nvi=∑k=1qr2(vi,yk)/q
5.3 典型相关系数的检验
在实际应用中,总体的协方差矩阵常常是未知的,类似于其他的统计分析方法,需要从总体中抽出一个样本,根据样本对总体的协方差或相关系数矩阵进行估计,然后利用估计得到的协方差或相关系数矩阵进行分析。由于估计中抽样误差的存在,所以估计以后还需要进行有关的假设检验。
- 计算样本的协方差矩阵 Σ ^ = [ Σ ^ X X Σ ^ X Y Σ ^ Y X Σ ^ Y Y ] \bm{\hat{\Sigma}=\begin{bmatrix} \hat{\Sigma}_{XX} & \hat{\Sigma}_{XY} \\\hat{\Sigma}_{YX} & \hat{\Sigma}_{YY}\end{bmatrix}} Σ^=[Σ^XXΣ^YXΣ^XYΣ^YY]
- 整体检验 H 0 : λ 1 = λ 2 = ⋯ = λ s = 0 , s = min ( p , q ) , 即 Σ X Y = 0 H 1 : λ i ( i = 1 , 2 , ⋯ , s ) 中 至 少 有 一 个 非 零 , 即 Σ X Y ≠ 0 H_0:\lambda_1=\lambda_2=\cdots=\lambda_s=0\ ,s=\min(p,q),即\bm{\Sigma_{XY}}=0 \\ H_1:\lambda_i(i=1,2,\cdots,s)中至少有一个非零,即\bm{\Sigma_{XY}}\neq0 H0:λ1=λ2=⋯=λs=0 ,s=min(p,q),即ΣXY=0H1:λi(i=1,2,⋯,s)中至少有一个非零,即ΣXY=0记 Λ 1 = ∣ Σ ^ ∣ ∣ Σ ^ X X ∣ ∣ Σ ^ Y Y ∣ = ∏ i = 1 s ( 1 − λ i 2 ) \Lambda_1=\cfrac{|\bm{\hat{\Sigma}}|}{|\bm{\hat{\Sigma}_{XX}}||\bm{\hat{\Sigma}_{YY}}|}=\prod_{i=1}^s(1-\lambda_i^2) Λ1=∣Σ^XX∣∣Σ^YY∣∣Σ^∣=i=1∏s(1−λi2)在原假设为真的情况下,检验的统计量 Q 1 = − [ n − 1 − 1 2 ( p + q + 1 ) ] ln Λ 1 Q_1=-[n-1-\cfrac12(p+q+1)]\ln\Lambda_1 Q1=−[n−1−21(p+q+1)]lnΛ1近似服从自由度为pq的 χ 2 \chi^2 χ2分布。在给定的显著水平 α \alpha α下,如果 Q 1 ⩾ χ α 2 ( p q ) Q_1\geqslant\chi^2_\alpha(pq) Q1⩾χα2(pq),则拒绝原假设,认为至少第一对典型变量之间的相关性显著。
- 部分总体典型相关系数为零的检验 H 0 : λ 2 = ⋯ = λ s = 0 H 1 : λ i ( i = 2 , ⋯ , s ) 中 至 少 有 一 个 非 零 H_0:\lambda_2=\cdots=\lambda_s=0\ \\ H_1:\lambda_i(i=2,\cdots,s)中至少有一个非零 H0:λ2=⋯=λs=0 H1:λi(i=2,⋯,s)中至少有一个非零若原假设 H 0 H_0 H0被接受,则认为只有第一对典型变量是有用的,否则认为第二对典型变量也是有用的。如此进行下去,一直到检验第k对典型变量是否有用。记 Λ k = ∏ i = k s ( 1 − λ i 2 ) \Lambda_k=\prod_{i=k}^s(1-\lambda_i^2) Λk=i=k∏s(1−λi2)在原假设为真的情况下,检验的统计量 Q k = − [ n − k − 1 2 ( p + q + 1 ) ] ln Λ k Q_k=-[n-k-\cfrac12(p+q+1)]\ln\Lambda_k Qk=−[n−k−21(p+q+1)]lnΛk近似服从自由度为(p-k+1)(q-k+1)的 χ 2 \chi^2 χ2分布。在给定的显著水平 α \alpha α下,如果 Q 1 ⩾ χ α 2 [ ( p − k + 1 ) ( q − k + 1 ) ] Q_1\geqslant\chi^2_\alpha[(p-k+1)(q-k+1)] Q1⩾χα2[(p−k+1)(q−k+1)],则拒绝原假设,认为至少第k对典型变量之间的相关性显著。
5.4 典型相关分析案例
5.4.1 讨论两组指标是否相联系
- 计算X组向量和Y组向量间的4个相关系数矩阵(协方差矩阵) R X X , R X Y , R Y X , R Y Y \bm{R_{XX},R_{XY},R_{YX},R_{YY}} RXX,RXY,RYX,RYY,并计算 M 1 , M 2 M_1,M_2 M1,M2。
- 求出 M 1 , M 2 M_1,M_2 M1,M2的特征向量 ρ i , γ i \bm{\rho_i,\gamma_i} ρi,γi和特征值 λ i 2 \lambda_i^2 λi2,将特征向量归一化并保证所有分量和为正。
- 计算特征值的平方根,从大到小排列,提出前s个即为典型相关系数 λ i \lambda_i λi,并对典型相关系数进行显著性检验。
- 保存由典型相关系数组成的向量,以及由前s个特征向量组成的 u , v \bm{u,v} u,v的系数矩阵。
- 由 u , v \bm{u,v} u,v系数矩阵以及X,Y的相关系数矩阵可求得原始变量和典型变量之间的相关系数 R X U , R X V , R Y U , R Y V \bm{R_{XU},R_{XV},R_{YU},R_{YV}} RXU,RXV,RYU,RYV。
- 根据原始变量和典型变量之间的相关系数可求得原始变量被典型变量所解释的方差比例,前s个典型变量解释原始变量总方差的累计百分比即为 M U , M V , N U , N V M_U,M_V,N_U,N_V MU,MV,NU,NV。其中 M U , N V M_U,N_V MU,NV代表典型变量对本组原始变量解释程度, M V M_V MV为第一组典型变量的冗余程度(被第二组典型变量重复解释), N U N_U NU为第二组典型变量的冗余程度,冗余程度同时也是典型变量对另一组原始变量的解释程度。
[a1,b1,r,u1,v1,stats]=canoncorr(x,y) %做典型相关分析,a1,b1返回的是典型变量的系数,r返回的是典型相关系数
%u1,v1返回的是典型变量的值,stats返回的是假设检验的一些统计量的值
[V,D] = eig(A) %返回特征值的对角矩阵D和矩阵V,其列是对应的右特征向量,使得 A*V = V*D
xlswrite(filename,A) %将矩阵A写入Excel电子表格工作簿filename中的第一张工作表,从单元格 A1开始写入
6. 对应分析
对应分析是在R型和Q型因子分析基础上发展起来的多元统计分析方法,又称R-Q型因子分析。R型用于研究变量的相互关系,Q型用于研究样本的相互关系,但两者都未能很好地揭示变量和样品间的双重关系。且当样本容量n很大时,进行Q因子分析时计算n阶方阵的特征值和特征向量过于复杂。且进行数据处理时,常先进行标准化处理,而这种标准化处理对变量和样本是非对等的。
由于R型和Q型因子分析都是反映一个整体的不同侧面,因而它们之间存在内在的联系。对应分析就是通过对应变换后的标准化矩阵B将两者有机地结合起来。
6.1 对应分析的原理
6.1.1 对应分析的数据变换方法
设有n个样品,每个样品观测p个指标,原始数据阵
A
∈
n
×
p
\bm{A}\in n\times p
A∈n×p,对应分析采用数据的变换方法可克服原始标准化变换的不对称性。数据变换方法的具体步骤如下
- 化数据矩阵为规格化的概率矩阵 P = 1 T A \bm{P}=\cfrac1T\bm{A} P=T1A,其中 T = ∑ i = 1 n ∑ j = 1 p a i j T=\sum_{i=1}^n\sum_{j=1}^pa_{ij} T=∑i=1n∑j=1paij,有 0 ⩽ p i j ⩽ 1 0\leqslant p_{ij}\leqslant 1 0⩽pij⩽1,且 ∑ i = 1 n ∑ j = 1 p p i j = 1 \sum_{i=1}^n\sum_{j=1}^pp_{ij}=1 ∑i=1n∑j=1ppij=1,因此 p i j p_{ij} pij可理解为数据 a i j a_{ij} aij出现的概率,并称 P \bm{P} P为对应阵。
记 p ⋅ j p_{\cdot j} p⋅j为第j个变量的边缘概率, p i ⋅ p_{i\cdot} pi⋅为第i个样本的边缘概率。记 r = [ p 1 ⋅ , ⋯ , p n ⋅ ] T , c = [ p ⋅ 1 , ⋯ , p ⋅ p ] T \bm{r}=[p_{1\cdot},\cdots,p_{n\cdot}]^T,\bm{c}=[p_{\cdot 1},\cdots,p_{\cdot p}]^T r=[p1⋅,⋯,pn⋅]T,c=[p⋅1,⋯,p⋅p]T,则 r = P 1 p , c = P T 1 n \bm{r=P1_p,c=P^T1_n} r=P1p,c=PT1n式中 1 p = [ 1 , 1 , ⋯ , 1 ] T \bm{1_p}=[1,1,\cdots,1]^T 1p=[1,1,⋯,1]T为元素全为1的p维向量。- 进行数据的对应变换,令 B = ( b i j ) n × p , 式 中 b i j = p i j − p i ⋅ p ⋅ j p i ⋅ p ⋅ j \bm{B}=(b_{ij})_{n\times p},式中b_{ij}=\cfrac{p_{ij}-p_{i\cdot}p_{\cdot j}}{\sqrt{p_{i\cdot}p_{\cdot j}}} B=(bij)n×p,式中bij=pi⋅p⋅jpij−pi⋅p⋅j
- 计算有关矩阵,记 S R = B T B , S Q = B B T \bm{S_R=B^TB,S_Q=BB^T} SR=BTB,SQ=BBT考虑R型因子分析时使用 S R \bm{S_R} SR,考虑Q型因子分析时使用 S Q \bm{S_Q} SQ。若把所研究的p个变量看成一个属性变量的p个类目,把n个样品看成另一个属性变量的n个类目,此时原始数据阵 A \bm{A} A就可以看成一张由观测得到的频数表或计数表。从代数学角度看 B \bm{B} B为数据标准化矩阵 B = D r − 1 / 2 ( P − r c T ) D c − 1 / 2 \bm{B=D_r^{-1/2}(P-rc^T)D_c^{-1/2}} B=Dr−1/2(P−rcT)Dc−1/2式中 D r = diag ( p 1 ⋅ , ⋯ , p n ⋅ ) , D c = diag ( p ⋅ 1 , ⋯ , p ⋅ p ) \bm{D_r}=\operatorname{diag}(p_{1\cdot},\cdots,p_{n\cdot}),\bm{D_c}=\operatorname{diag}(p_{\cdot 1},\cdots,p_{\cdot p}) Dr=diag(p1⋅,⋯,pn⋅),Dc=diag(p⋅1,⋯,p⋅p),经对应变换后多得到的新数据矩阵 B \bm{B} B可以看成是由对应阵 P \bm{P} P经中心化和标准化后得到的矩阵。
设用于检验行与列两个属性变量是否不相关的 χ 2 \chi^2 χ2统计量为 χ 2 = ∑ i = 1 n ∑ j = 1 p ( a i j − m i j ) 2 m i j = ∑ i = 1 n ∑ j = 1 p χ i j 2 = T ∑ i = 1 n ∑ j = 1 p b i j 2 = T tr ( B T B ) = T tr ( S R ) = T tr ( S Q ) \chi^2=\sum_{i=1}^n\sum_{j=1}^p\cfrac{(a_{ij}-m_{ij})^2}{m_{ij}}=\sum_{i=1}^n\sum_{j=1}^p\chi_{ij}^2=T\sum_{i=1}^n\sum_{j=1}^pb_{ij}^2=T\operatorname{tr}(\bm{B^TB})=T\operatorname{tr}(\bm{S_R})=T\operatorname{tr}(\bm{S_Q}) χ2=i=1∑nj=1∑pmij(aij−mij)2=i=1∑nj=1∑pχij2=Ti=1∑nj=1∑pbij2=Ttr(BTB)=Ttr(SR)=Ttr(SQ)式中 m i j = a i ⋅ a ⋅ j T = T p i ⋅ p ⋅ j m_{ij}=\cfrac{a_{i\cdot}a_{\cdot j}}{T}=Tp_{i\cdot}p_{\cdot j} mij=Tai⋅a⋅j=Tpi⋅p⋅j是假定行和列两个属性变量不相关时在第(i,j)单元上的期望频数值。
6.1.2 对应分析的原理和依据
为进一步研究R型和Q型因子分析,利用矩阵代数的一些结论
- 设 S R = B T B , S Q = B B T \bm{S_R=B^TB,S_Q=BB^T} SR=BTB,SQ=BBT,则 S R \bm{S_R} SR和 S Q \bm{S_Q} SQ的非零特征值相同。
- 若 η \eta η是 S R \bm{S_R} SR相应于特征值 λ \lambda λ的特征向量,则 γ = B η \gamma=\bm{B}\eta γ=Bη是 S Q \bm{S_Q} SQ相应于特征值 λ \lambda λ的特征向量。
- 矩阵的奇异值分解:设 B \bm{B} B为 n × p n\times p n×p矩阵,且 rank B = m ⩽ min ( n − 1 , p − 1 ) , B T B \operatorname{rank}\bm{B}=m\leqslant \operatorname{min}(n-1,p-1),\bm{B^TB} rankB=m⩽min(n−1,p−1),BTB的非零特征值为 λ 1 ⩾ λ 2 ⩾ ⋯ ⩾ λ m > 0 \lambda_1\geqslant \lambda_2 \geqslant \cdots \geqslant \lambda_m >0 λ1⩾λ2⩾⋯⩾λm>0, d i = λ i d_i=\sqrt{\lambda_i} di=λi,则称 d i d_i di为 B \bm{B} B的奇异值。若存在分解式 B = U Λ V T \bm{B=U\Lambda V^T} B=UΛVT式中 U \bm{U} U为 n × n n\times n n×n正交矩阵, V \bm{V} V为 p × p p\times p p×p正交矩阵, Λ = [ Λ m 0 0 0 ] \bm{\Lambda}=\begin{bmatrix}\bm{\Lambda}_m & 0 \\ 0 &0 \end{bmatrix} Λ=[Λm000],其中 Λ m = diag ( d 1 , ⋯ , d m ) \bm{\Lambda}_m=\operatorname{diag}(d_1,\cdots,d_m) Λm=diag(d1,⋯,dm),则称该分解式为矩阵 B \bm{B} B的奇异值分解。记 U = [ U 1 ⋮ U 2 ] , V = [ V 1 ⋮ V 2 ] \bm{U=[U_1 \vdots U_2],V=[V_1 \vdots V_2]} U=[U1⋮U2],V=[V1⋮V2],式中 U 1 \bm{U_1} U1为 n × m n\times m n×m的列正交矩阵, V 1 \bm{V_1} V1为 p × m p\times m p×m的列正交矩阵,则奇异值分解式等价于 B = U 1 Λ m V 1 T \bm{B=U_1\Lambda_m V_1^T} B=U1ΛmV1T
4, 任意非零矩阵 B \bm{B} B的奇异值分解必存在,且 V 1 \bm{V_1} V1的m个列向量分别是 B T B \bm{B^TB} BTB的非零特征值对应的特征向量, U 1 \bm{U_1} U1的m个列向量分别是 B B T \bm{BB^T} BBT的非零特征值对应的特征向量。
矩阵代数的这几个结论建立了因子分析中R型和Q型的关系,从R型因子分析出发可以直接得到Q型因子分析的结果。
由于
S
R
,
S
Q
\bm{S_R,S_Q}
SR,SQ有相同的非零特征值,而这些非零特征值又表示各个公共因子所提供的方差,因此变量空间
R
p
R^p
Rp和样本空间
R
n
R^n
Rn中相对应的公共因子在总方差中所占的比例相同。
从几何意义上看,
R
n
R^n
Rn中样品点到各因子轴的距离平方和,与
R
p
R^p
Rp中变量点到各因子轴的距离平方和也是完全相同。因此可以把变量点和样品点同时反映在同一因子轴所确定的平面上,根据接近程度可以对变量点和样品点同时进行分类。
6.1.3 对应分析的计算步骤
- 由原始数据阵 A \bm{A} A出发计算对应阵 P \bm{P} P和对应变换后的新数据阵 B \bm{B} B
- 计算行轮廓分布(行形象分布),记 R = [ a i j a i ⋅ ] n × p = [ p i j p i ⋅ ] n × p = D r − 1 P = d e f [ R 1 T ⋮ R n T ] \bm{R}=[\cfrac{a_{ij}}{a_{i\cdot}}]_{n\times p}=[\cfrac{p_{ij}}{p_{i\cdot}}]_{n\times p}=\bm{D_r^{-1}P}\mathop{=}\limits^{def}\begin{bmatrix}\bm{R}_1^T \\ \vdots \\ \bm{R}_n^T\end{bmatrix} R=[ai⋅aij]n×p=[pi⋅pij]n×p=Dr−1P=def⎣⎢⎡R1T⋮RnT⎦⎥⎤矩阵 R \bm{R} R由矩阵 A \bm{A} A的每一行除以行和得到,其目的在于消除行点(样本点)出现概率不同的影响。
- 计算列轮廓分布(列形象分布),记 C = [ a i j a ⋅ j ] n × p = [ p i j p ⋅ j ] n × p = P D c − 1 = d e f [ C 1 , ⋯ , C p ] \bm{C}=[\cfrac{a_{ij}}{a_{\cdot j}}]_{n\times p}=[\cfrac{p_{ij}}{p_{\cdot j}}]_{n\times p}=\bm{PD_c^{-1}}\mathop{=}\limits^{def}\begin{bmatrix}\bm{C}_1 , \cdots ,\bm{C}_p\end{bmatrix} C=[a⋅jaij]n×p=[p⋅jpij]n×p=PDc−1=def[C1,⋯,Cp]矩阵 C \bm{C} C由矩阵 A \bm{A} A的每一列除以列和得到,其目的在于消除列点(变量点)出现概率不同的影响。
- 计算总惯量和 χ 2 \chi^2 χ2统计量。
第k个与第l个样品间的加权平方距离( χ 2 距 离 \chi^2距离 χ2距离)为 D 2 ( k , l ) = ∑ j = 1 p ( p k j p k ⋅ − p l j p l ⋅ ) 2 / p ⋅ j = ( R k − R l ) T D c − 1 ( R k − R l ) D^2(k,l)=\sum_{j=1}^p(\cfrac{p_{kj}}{p_{k\cdot}}-\cfrac{p_{lj}}{pl\cdot})^2/p_{\cdot j}=\bm{(R_k-R_l)^TD_c^{-1}(R_k-R_l)} D2(k,l)=j=1∑p(pk⋅pkj−pl⋅plj)2/p⋅j=(Rk−Rl)TDc−1(Rk−Rl)把n个样品点(行点)到重心 c \bm{c} c的加权平方距离的总和定义为行形象点集 N ( R ) N(\bm{R}) N(R)的总惯量 Q = ∑ i = 1 n p i ⋅ D 2 ( i , c ) = ∑ i = 1 n ∑ j = 1 p b i j 2 = χ 2 T Q=\sum_{i=1}^np_{i\cdot}D^2(i,\bm{c})=\sum_{i=1}^n\sum_{j=1}^pb^2_{ij}=\cfrac{\chi^2}{T} Q=i=1∑npi⋅D2(i,c)=i=1∑nj=1∑pbij2=Tχ2式中重心 c \bm{c} c为p个列向量的边缘分布, χ 2 \chi^2 χ2统计量是检验行点和列点是否互不相关的检验统计量。- 对标准化后的新数据阵 B \bm{B} B作奇异值分解 B = U 1 Λ m V 1 T \bm{B=U_1\Lambda_m V_1^T} B=U1ΛmV1T,实际中常选取公共因子个数 l ( l ⩽ m ) l(l\leqslant m) l(l⩽m)使累积贡献率达到0.80。
- 计算行轮廓的坐标 G \bm{G} G和列轮廓的坐标 F \bm{F} F。
令 α i = D c − 1 / 2 η i \bm{\alpha}_i=\bm{D_c^{-1/2}\eta_i} αi=Dc−1/2ηi,则 α i T D c α i = 1 ( i = 1 , 2 , ⋯ , m ) \bm{\alpha_i^TD_c\alpha_i}=1(i=1,2,\cdots,m) αiTDcαi=1(i=1,2,⋯,m),列轮廓坐标(即R型因子分析的因子载荷矩阵)为 F = [ d 1 α 1 , ⋯ , d m α m ] = D c − 1 / 2 V 1 Λ m ∈ p × m \bm{F}=[d_1\bm{\alpha}_1,\cdots,d_m\bm{\alpha}_m]=\bm{D_c^{-1/2}V_1\Lambda_m}\in p\times m F=[d1α1,⋯,dmαm]=Dc−1/2V1Λm∈p×m
令 β i = D r − 1 / 2 γ i \bm{\beta_i=\bm{D}_r^{-1/2}\gamma_i} βi=Dr−1/2γi,则 β i T D r β i = 1 ( i = 1 , 2 , ⋯ , m ) \bm{\beta_i^TD_r\beta_i}=1(i=1,2,\cdots,m) βiTDrβi=1(i=1,2,⋯,m),行轮廓坐标(即Q型因子分析的因子载荷矩阵)为 G = [ d 1 β 1 , ⋯ , d m β m ] = D r − 1 / 2 U 1 Λ m ∈ n × m \bm{G}=[d_1\bm{\beta}_1,\cdots,d_m\bm{\beta}_m]=\bm{D_r^{-1/2}U_1\Lambda_m}\in n\times m G=[d1β1,⋯,dmβm]=Dr−1/2U1Λm∈n×m
注:轮廓坐标的定义与因子载荷矩阵稍有差别。 G \bm{G} G的前两列包含了数据最优二维表示中各对行点(样品点)的坐标, F \bm{F} F的前两列包含了数据最优二维表示中各对列点(变量点)的坐标。- 在相同二维平面上用行轮廓的坐标 G \bm{G} G和列轮廓的坐标 F \bm{F} F(取m=2)绘制出点平面图。即把n个行点和p个列点在同一个平面坐标系中绘制出来,对一组行点或一组列点,二维图中的欧氏距离与原始数据中各行列轮廓之间的加权距离是相对应的。但对应行轮廓的点和对应列轮廓的点之间没有直接的距离关系。
- 求总惯量Q和 χ 2 \chi^2 χ2统计量的分解式 Q = tr ( B T B ) = ∑ i = 1 m λ i = ∑ i = 1 m d i 2 , χ 2 = T Q = T ∑ i = 1 m d i 2 Q=\operatorname{tr}(\bm{B^TB})=\sum_{i=1}^m\lambda_i=\sum_{i=1}^md_i^2\ ,\chi^2=TQ=T\sum_{i=1}^md_i^2 Q=tr(BTB)=i=1∑mλi=i=1∑mdi2 ,χ2=TQ=Ti=1∑mdi2
- 对样品点和变量点进行分类,并结合专业知识进行成因解释。
6.2 对应分析在品牌定位研究中的应用研究
对应分析是研究变量间相互关系的有效方法,通过交叉列表结构的研究,揭示变量不同水平间的对应关系,是市场研究中经常用到的统计技术。基本步骤如下:
- 由原始数据阵 A \bm{A} A出发计算对应阵 P \bm{P} P和对应变换后的新数据阵 B \bm{B} B
- 对 B \bm{B} B进行奇异值分解
- 求出列轮廓坐标和行轮廓坐标
- 通过贡献率的比较确定截取的维数,形成对应分析图
[U,S,V] = svd(A) %执行矩阵 A 的奇异值分解,因此 A = U*S*V'
[U,S,V] = svd(A,'econ') 为 m×n 矩阵 A 生成精简分解,精简分解从奇异值的对角矩阵 S 中删除额外的零值行或列,
以及 U 或 V 中与表达式 A = U*S*V' 中的那些零值相乘的列。删除这些零值和列可以缩短执行时间,并减少存储要求,而且不会影响分解的准确性
7. 多维标度法
在实际中往往会碰到有n个由多个指标(变量)反映的客体,但反映的指标个数是多少不清楚,甚至指标本身是什么也是模糊的,无法直接测量或观察,只能知道这n个客体之间的某种距离或某种相似性,希望从这些信息中在较低维的欧几里得空间把这n个客体(作为几何点)的图形描绘出来,从而尽可能揭示这n个客体之间的真实结构关系。
7.1 经典的多维标度法
7.1.1 距离阵
定义:一个
n
×
n
n\times n
n×n阶矩阵
D
=
(
d
i
j
)
\bm{D}=(d_{ij})
D=(dij),如果满足
(
1
)
D
T
=
D
;
(
2
)
d
i
j
⩾
0
,
d
i
i
=
0
,
i
,
j
=
1
,
2
,
⋯
,
n
(1) \bm{D^T=D};(2)d_{ij}\geqslant0,d_{ii}=0,i,j=1,2,\cdots,n
(1)DT=D;(2)dij⩾0,dii=0,i,j=1,2,⋯,n,则称
D
\bm{D}
D为距离阵,
d
i
j
d_{ij}
dij为第i个点与第j个点的距离。
有了一个距离阵之后,多维标度法的目的就是要确定数k,在k维空间
R
k
\bm{R}^k
Rk求n个点
e
1
,
e
2
,
⋯
,
e
n
\bm{e_1,e_2,\cdots,e_n}
e1,e2,⋯,en,其中
e
i
=
[
x
i
1
,
x
i
2
,
⋯
,
x
i
k
]
T
\bm{e_i}=[x_{i1},x_{i2},\cdots,x_{ik}]^T
ei=[xi1,xi2,⋯,xik]T,使得这n个点的欧几里得距离与距离阵中的相应值在某种意义下尽量接近,并可以给出原始n个客体关系的一个有含义的解释。在实际中,为了使求得的结果易于解释,通常取k=1,2,3。
将这n个点写成矩阵形式
X
=
[
e
1
,
e
2
,
⋯
,
e
n
]
T
\bm{X=[e_1,e_2,\cdots,e_n]^T}
X=[e1,e2,⋯,en]T,则称
X
\bm{X}
X为
D
\bm{D}
D的一个多维标度解。形象地称
X
\bm{X}
X为
D
\bm{D}
D的一个拟合构图,意味着有了这n个点的坐标,可以在
R
k
R^k
Rk中画出来,由这n个点间的欧几里得距离构成的距离阵
D
^
\hat{\bm{D}}
D^称为
D
\bm{D}
D的拟合距离阵。特别地,若
D
^
=
D
\hat{\bm{D}}=\bm{D}
D^=D,则称
X
\bm{X}
X为
D
\bm{D}
D的一个构图。
由于求解的n个点仅要求它们的相对欧几里得距离和
D
\bm{D}
D接近,即只要求它们的相对位置确定,所以求得的解不唯一。
7.1.2 欧几里得距离阵
定义:对一个
n
×
n
n\times n
n×n的距离阵
D
=
(
d
i
j
)
\bm{D}=(d_{ij})
D=(dij),如果存在某个正整数k和
R
k
R^k
Rk中的n个点
e
1
,
e
2
,
⋯
,
e
n
\bm{e_1,e_2,\cdots,e_n}
e1,e2,⋯,en,使得
d
i
j
2
=
(
e
i
−
e
j
)
T
(
e
i
−
e
j
)
,
i
,
j
=
1
,
2
,
⋯
,
n
d_{ij}^2=\bm{(e_i-e_j)^T(e_i-e_j)},i,j=1,2,\cdots,n
dij2=(ei−ej)T(ei−ej),i,j=1,2,⋯,n则称
D
\bm{D}
D为欧几里得距离阵。
7.1.3 求多维标度的经典解步骤
- 由距离阵 D = ( d i j 2 ) \bm{D}=(d_{ij}^2) D=(dij2)构造矩阵 A = ( a i j ) = ( − 1 2 d i j 2 ) \bm{A}=(a_{ij})=(-\cfrac12d_{ij}^2) A=(aij)=(−21dij2)
- 作矩阵 B = H A H \bm{B=HAH} B=HAH,其中 H = I n − 1 n E n \bm{H=I_n}-\cfrac1n\bm{E}_n H=In−n1En, I n \bm{I}_n In为n阶单位阵, E n \bm{E}_n En为 n × n n\times n n×n的全1矩阵
- 求出 B \bm{B} B的k个最大特征值 λ 1 ⩾ λ 2 ⩾ ⋯ ⩾ λ k \lambda_1\geqslant\lambda_2\geqslant\cdots\geqslant\lambda_k λ1⩾λ2⩾⋯⩾λk,和对应的正交特征向量 α 1 , ⋯ , α k \bm{\alpha_1,\cdots,\alpha_k} α1,⋯,αk,且满足规格化条件 α i T α i = λ i \bm{\alpha^T_i\alpha_i}=\lambda_i αiTαi=λi。
上述k有两种选取方法:一种是事先指定,另一种是考虑前k个特征值在全体特征值中所占的比例。此时需将所有特征值 λ 1 ⩾ λ 2 ⩾ ⋯ ⩾ λ n \lambda_1\geqslant\lambda_2\geqslant\cdots\geqslant\lambda_n λ1⩾λ2⩾⋯⩾λn求出,若 λ i \lambda_i λi都非负,说明 B ⩾ 0 \bm{B}\geqslant0 B⩾0,从而 D \bm{D} D为欧几里得距离阵。若 λ i \lambda_i λi中有负值, D \bm{D} D为非欧几里得距离阵,此时确定前k个特征值时只能选择正的特征值,否则要减小k。
将所求得的特征向量顺序排成一个 n × k n\times k n×k的矩阵 X ^ = [ α 1 , ⋯ , α k ] \bm{\hat{X}=[\alpha_1,\cdots,\alpha_k]} X^=[α1,⋯,αk],则 X ^ \bm{\hat{X}} X^就是 D \bm{D} D的一个拟合构图, X ^ \bm{\hat{X}} X^的行向量对应的点是 D \bm{D} D的拟合构图点。这一k维拟合图称为经典解。
[Y,e] = cmdscale(D) %求经典解,d可以为实对称矩阵或pdist函数的行向量输出,Y为D的经典解,e为特征值构成的向量
7.1.4 相似阵情形
有时已知的不是n个客体之间的某种距离,而是n个客体之间的某种相似性,即已知的是一个相似阵。
设
C
=
(
c
i
j
)
\bm{C}=(c_{ij})
C=(cij)为一个相似阵,令
d
i
j
=
(
d
i
i
−
2
c
i
j
+
c
j
j
)
1
/
2
d_{ij}=(d_{ii}-2c_{ij}+c_{jj})^{1/2}
dij=(dii−2cij+cjj)1/2得到一个距离阵
D
=
(
d
i
j
)
\bm{D}=(d_{ij})
D=(dij),称该式为从相似阵到距离阵的标准变换。
7.2 非度量方法
在实际中,对n个客体所能观测到的可能既不是它们之间的距离也不是相似系数,而只是它们之间某种差异程度的顺序。此时对n个客体的
1
2
n
(
n
−
1
)
\cfrac12n(n-1)
21n(n−1)对之间的差异程度可以排一个序,即
d
i
1
j
1
⩽
⋯
⩽
d
i
m
j
m
,
m
=
1
2
n
(
n
−
1
)
d_{i_1j_1}\leqslant\cdots\leqslant d_{i_mj_m},m=\cfrac12n(n-1)
di1j1⩽⋯⩽dimjm,m=21n(n−1)式中
d
i
r
j
r
d_{i_rj_r}
dirjr为客体
i
r
,
j
r
i_r,j_r
ir,jr之间的差异,在数学上,可以赋予每个
d
i
r
j
r
d_{i_rj_r}
dirjr一个数值,但数值大小本身没有什么含义,仅是为了标明差异顺序用的。
我们希望仅从n个客体之间的这种差异顺序出发找出一个拟合构图
X
\bm{X}
X来反映这n个客体之间的结构关系。在多维标度法中,使用Stress度量拟合精度,Stress的一种定义为
S
t
r
e
s
s
=
[
∑
1
⩽
i
<
j
⩽
n
(
δ
^
i
j
2
−
d
i
j
2
)
2
∑
1
⩽
i
<
j
⩽
n
(
δ
^
i
j
2
)
2
]
1
2
Stress=\Biggl[\cfrac{\mathop{\sum}\limits_{1\leqslant i<j\leqslant n}(\hat{\delta}^2_{ij}-d^2_{ij})^2}{\mathop{\sum}\limits_{1\leqslant i<j\leqslant n}(\hat{\delta}^2_{ij})^2}\Biggr]^{\frac12}
Stress=[1⩽i<j⩽n∑(δ^ij2)21⩽i<j⩽n∑(δ^ij2−dij2)2]21式中
δ
^
i
j
\hat{\delta}_{ij}
δ^ij为拟合后两点间的距离,MATLAB和SPSS会直接给出该检验值。MATLAB中的非度量方法的多维标度分析的命令是mdscale。