1 什么是对应分析?

在社会科学的数量研究中,人们经常会对品质型(属性)变量(定类尺度或定序尺度)进行分析,研究两个或多个品质型变量之间的相关关系。


这里有必要说一下,什么是品质变量,这是一个统计术语,《统计学原理》中是这样解释的

变量是说明现象某种属性和特征的名称。可分为品质变量和数值变量。

品质变量就是品质标志(品质标志只能用文字进行描述)

在这里插入图片描述

而数量变量包括数量标志和指标,数量变量可以分为连续变量和离散变量。

连续变量的数值通过连续登记取得,数值表现为无穷小数(如身高,体重);
离散变量的数值通过间断登记取得,数值表现为整数(如学校个数)。


对于研究两个属性变量之间的各种状态或是相关关系,常常用列联表的形式来呈现。

例如1:为了解消费者对公司产品的满意度情况,需要针对不同职业的消费者进行调查。(该问题中消费者的满意度与其职业均是定类的品质型变量)

在这里插入图片描述

例如2:利用超市销售数据研究其销售水平与超市促销方式之间的关系。(该问题中销售水平和促销方式均是品质型变量,其中销售水平为定序变量,促销方式为定类变量)

例如3:分析顾客职业与购买汽车品牌之间的关系,研究不同客户群对汽车的喜爱偏好。(该问题中顾客职业和汽车品牌均是定类的品质型变量)

例如4
在这里插入图片描述
上述这些例子,基本都属于对两个分类变量间的关系进行分析,通常采用频数统计、卡方拟合优度检验(判断两个变量是否独立)、二分类logistic模型等进行分析

但是

当研究的分类变量类别较多或者分类变量的个数较多时,就很难透过列联表直观地揭示出变量之间的联系以及变量各分类之间的联系。

例如,这里属性变量A有n个分类值,属性变量B有p个分类值,如果 n 、p 都较大

这时交叉列联表行列数剧增,列联表频数的形式变得复杂,不易于对列联表进行直观地观察或者建模。(列多行少这种情况也不易于卡方检验)在这里插入图片描述

此时就可以利用降维的思想来简化列联表的结构

通常,对于降维方法我们一般会想到主成分分析或者因子分析,这两种方法都是用少数的综合变量提取原始变量大部分信息的有效方法。

但是因子分析这种方法存在一定的不足,就是

在因子分析中,Q型、R型分析针对的对象不同,R型因子分析研究变量(指标)之间的相关关系,Q型因子分析研究样本之间的相关关系,这两种分析方法往往是相互对立的,必须分别对样本和变量进行处理。(变量是一列,样本是一行)

因此,不能同时进行 R型因子分析和 Q型因子分析,这是因子分析的一大局限;

有时不仅关心变量之间或样本之间的相关关系,还关心变量和样本之间的对应关系,这是因子分析方法不能解释的。https://blog.csdn.net/mengjizhiyou/article/details/83243248

另一方面,当 n 或者 p 较大时,单独使用因子分析会极大增加计算量。

这种情况怎么办呢?

这时就该本文的主角登场啦——对应分析(冲鸭)

啥是对应分析?

对应分析也称为关联分析、R-Q型因子分析,它克服了因子分析的缺点,综合R型和Q型因子分析的优点同时对交叉列联表中的行与列进行处理

利用降维的思想达到简化数据结构的目,寻求以低维图形表示数据表中行与列之间的关系,是特别适合于多分类属性变量研究的一种多元统计分析方法。(广泛应用于市场分析、产品定位、广告研究、社会学等)

对应分析为我们可以提供三个方面的信息

  • 变量之间的信息
  • 样本之间的信息
  • 变量与样本之间的信息

上述三方面信息都可以通过二维图呈现出来

  • 当对两个分类变量进行的对应分析称为简单对应分析
  • 对两个以上的分类变量进行的对应分析称为多重对应分析

2 对应分析的基本思想

该方法的基本思想就是将一个列联表的行和列中各元素的比例结构以点的形式在较低维的空间中表示出来。(列联表的每一行及每一列均以二维图上的一个点来表示,以直观、简洁的形式描述属性变量各种状态之间的相互关系及不同属性变量之间的相互关系。)

对应分析将变量及变量之间的联系同时反映在一张二维或三维的散点图上,并使联系密切的类别点较集中联系疏远的类别点较分散;通过观察对应分布图就能直观地把握变量类别之间的联系。


例子:研究轿车特征与用户特征之间的联系(这里引用自:对应分析

在这里插入图片描述

在这里插入图片描述

从这个例子可以看出,对应分析的一大特点就是它可以在一张二维图上同时表示出属性变量的各种状态,以直观描述原始数据结构。

对于该方法,在减少维度方面与因子分析相似,在作分布图方面与多维尺度方法相似

那么现在有一个问题就是,如何将多个类别点表示在低维空间或者说二维图中呢?

3 对应分析的基本步骤

对应分析法整个处理过程由两部分组成:列联表和关联图(行列变量分类的对应分布图)。

因此,对应分析大致有四大步骤,分别为:

  1. 编制交叉列联表
  2. 根据原始矩阵进行对应变换
  3. 行变量和列变量的分类降维处理
  4. 绘制行列变量分类的对应分布图

3.1 编制 样品-变量 交叉列联表

首先是编制两个品质变量的交叉列联表,涉及的两个变量分别称为行变量和列变量

比如,编制 顾客职业与购买汽车的品牌 的列联表,其中 顾客职业A 是行变量( n 个类或者 n 个样品),购买汽车的品牌B 是列变量,( p 个类或者 p个变量)
在这里插入图片描述

在上表中,

< n i . = n i 1 + n i 2 + ⋯ + n i p n . j = n 1 j + n 2 j + ⋯ + n n j \left< \begin{array}{l} n_{i.}=n_{i1}+n_{i2}+\cdots +n_{ip}\\ \\ n_{.j}=n_{1j}+n_{2j}+\cdots +n_{nj}\\ \end{array} \right. ni.=ni1+ni2++nipn.j=n1j+n2j++nnj

右下角元素 n n n 是所有频数的总和,即

n = n 1. + n 2. + ⋯ + n n . = n . 1 + n . 2 + ⋯ + n . p n=n_{1.}+n_{2.}+\cdots +n_{n.} =n_{.1}+n_{.2}+\cdots +n_{.p} n=n1.+n2.++nn.=n.1+n.2++n.p

3.2 根据原始矩阵进行对应变换

将上述矩进行规格化处理得到新的矩阵,即对应矩阵 P P P ,也称概率矩阵,令
p i j = n i j n ,   p i . = ∑ j = 1 p p i j ,   p . j = ∑ i = 1 n p i j p_{ij}=\frac{n_{ij}}{n}\text{,\\\\\\ }p_{i.}=\sum_{j=1}^p{p_{ij}}\text{,\\\\\\ }p_{.j}=\sum_{i=1}^n{p_{ij}} pij=nnij pi.=j=1ppij p.j=i=1npij

在这里插入图片描述

这里 p i j p_{ij} pij 可以解释为概率

这里的卡方检验如下,如果 A 与 B 相互独立,满足 p i j = p i . × p . j p_{ij}=p_{i.}\times p_{.j} pij=pi.×p.j,那么可以提出以下假设问题:

H 0 :   A 与 B 相互独立 ⇔ H 1 :   A 与 B 不独立  H_0:\ A\text{与}B\text{相互独立}\Leftrightarrow H_1:\ A\text{与}B\text{不独立\ } H0: AB相互独立H1: AB不独立 
此时卡方统计量为

χ 2 = n ∑ i = 1 n ∑ j = 1 p ( p i j − p i . × p . j ) 2 p i . × p . j ∼ χ 2 ( n − 1 ) ( p − 1 ) \chi ^2=n\sum_{i=1}^n{\sum_{j=1}^p{\frac{\left( p_{ij}-p_{i.}\times p_{.j} \right) ^2}{p_{i.}\times p_{.j}}\sim \chi ^2\left( n-1 \right) \left( p-1 \right)}} χ2=ni=1nj=1ppi.×p.j(pijpi.×p.j)2χ2(n1)(p1)

这里称
总惯量 = ∑ i = 1 n ∑ j = 1 p ( p i j − p i . × p . j ) 2 p i . × p . j \text{总惯量}=\sum_{i=1}^n{\sum_{j=1}^p{\frac{\left( p_{ij}-p_{i.}\times p_{.j} \right) ^2}{p_{i.}\times p_{.j}}}} 总惯量=i=1nj=1ppi.×p.j(pijpi.×p.j)2

对应分析的目的就是在原假设 H 0 H_0 H0 被否定后,也就是已知 A 和 B 不独立,进一步探究其各状态之间的关系。

所以对应分析是以变量和样本的协方差矩阵或相关系数矩阵为基础来进行分析的,那么接下来可以

将对应矩阵 P P P 进行标准化变换得到过渡矩阵 Z Z Z

Z = ( z 11 z 12 ⋯ z 1 z 21 z 22 ⋯ z 2 p ⋮ ⋮ ⋮ z n 1 z n 2 ⋯ z n p ) Z=\left( \begin{matrix}{} z_{11}& z_{12}& \cdots& z_1\\ z_{21}& z_{22}& \cdots& z_{2p}\\ \vdots& \vdots& & \vdots\\ z_{n1}& z_{n2}& \cdots& z_{np}\\ \end{matrix} \right) Z=z11z21zn1z12z22zn2z1z2pznp

式中
z i j = p i j − p i . × p . j p i . × p . j  , ( i = 1 , 2 , ⋯   , n ; j = 1 , 2 , ⋯   , p ) z_{ij}=\frac{p_{ij}-p_{i.}\times p_{.j}}{\sqrt{p_{i.}\times p_{.j}}}\ \text{,}\left( i=1,2,\cdots ,n\text{;}j=1,2,\cdots ,p \right) zij=pi.×p.j pijpi.×p.j (i=1,2,,nj=1,2,,p)

3.3 行变量和列变量的分类降维处理

3.3.1 对列变量实施分类降维( R R R 型因子分析)

计算(列)变量的协方差矩阵 A = Z T Z A=Z^TZ A=ZTZ的特征根 λ 1 ≥ λ 2 ≥ ⋯ ≥ λ p \lambda _1\ge \lambda _2\ge \cdots \ge \lambda _p λ1λ2λp,以及特征根对应的特征向量 U i U_i Ui

根据累计方差贡献率确定最终提取特征根的个数 m,并计算出相应的 R R R 型因子载荷矩阵 F F F,即

F = ( u 11 λ 1 u 12 λ 2 ⋯ u 1 m λ m u 21 λ 1 u 22 λ 2 ⋯ u 2 m λ m ⋮ ⋮ ⋮ u p 1 λ 1 u p 2 λ 2 ⋯ u p m λ m ) ⇒ 变量之间的关系 F=\left( \begin{matrix} u_{11}\sqrt{\lambda _1}& u_{12}\sqrt{\lambda _2}& \cdots& u_{1m}\sqrt{\lambda _m}\\ u_{21}\sqrt{\lambda _1}& u_{22}\sqrt{\lambda _2}& \cdots& u_{2m}\sqrt{\lambda _m}\\ \vdots& \vdots& & \vdots\\ u_{p1}\sqrt{\lambda _1}& u_{p2}\sqrt{\lambda _2}& \cdots& u_{pm}\sqrt{\lambda _m}\\ \end{matrix} \right) \Rightarrow \text{变量之间的关系} F=u11λ1 u21λ1 up1λ1 u12λ2 u22λ2 up2λ2 u1mλm u2mλm upmλm 变量之间的关系

通常 m m m 取 2,

F = ( u 11 λ 1 u 12 λ 2 u 21 λ 1 u 22 λ 2 ⋮ ⋮ u p 1 λ 1 u p 2 λ 2 ) F=\left( \begin{matrix}{} u_{11}\sqrt{\lambda _1}& u_{12}\sqrt{\lambda _2}\\ u_{21}\sqrt{\lambda _1}& u_{22}\sqrt{\lambda _2}\\ \vdots& \vdots\\ u_{p1}\sqrt{\lambda _1}& u_{p2}\sqrt{\lambda _2}\\ \end{matrix} \right) F=u11λ1 u21λ1 up1λ1 u12λ2 u22λ2 up2λ2

对这里不熟悉的可以在回顾一下:因子分析

其中,因子载荷是列变量的某分类在某个因子上的载荷,反映了它们之间的相关关系。

在这里插入图片描述

与因子分析类似,

  • 可通过变量(列变量某分类)的共同度测度其方差的解释程度和信息的丢失程度;
  • 可通过因子的方差贡献测度因子的重要程度。

3.3.2 对行样本实施分类降维( Q Q Q 型因子分析)

对于 变量的协方差矩阵 A = Z T Z A=Z^TZ A=ZTZ与样本的协方差矩阵 B = Z Z T B=ZZ^T B=ZZT

矩阵 A A A B B B 具有完全相同的非零特征根,即矩阵 B B B 的特征根也为 λ 1 ≥ λ 2 ≥ ⋯ ≥ λ p \lambda _1\ge \lambda _2\ge \cdots \ge \lambda _p λ1λ2λp

其特征向量为 V i = Z U i V_i=ZU_i Vi=ZUi

计算出相应的 Q Q Q 型因子载荷矩阵 G G G,即
G = ( v 11 λ 1 v 12 λ 2 ⋯ v 1 m λ m v 21 λ 1 v 22 λ 2 ⋯ v 2 m λ m ⋮ ⋮ ⋮ v n 1 λ 1 v n 2 λ 2 ⋯ v n m λ m ) ⇒ 样本之间的关系 G=\left( \begin{matrix} v_{11}\sqrt{\lambda _1}& v_{12}\sqrt{\lambda _2}& \cdots& v_{1m}\sqrt{\lambda _m}\\ v_{21}\sqrt{\lambda _1}& v_{22}\sqrt{\lambda _2}& \cdots& v_{2m}\sqrt{\lambda _m}\\ \vdots& \vdots& & \vdots\\ v_{n1}\sqrt{\lambda _1}& v_{n2}\sqrt{\lambda _2}& \cdots& v_{nm}\sqrt{\lambda _m}\\ \end{matrix} \right) \Rightarrow \text{样本之间的关系} G=v11λ1 v21λ1 vn1λ1 v12λ2 v22λ2 vn2λ2 v1mλm v2mλm vnmλm 样本之间的关系

通常 m m m 取 2,

G = ( v 11 λ 1 v 12 λ 2 v 21 λ 1 v 22 λ 2 ⋮ ⋮ v n 1 λ 1 v n 2 λ 2 ) G=\left( \begin{matrix}{} v_{11}\sqrt{\lambda _1}& v_{12}\sqrt{\lambda _2}\\ v_{21}\sqrt{\lambda _1}& v_{22}\sqrt{\lambda _2}\\ \vdots& \vdots\\ v_{n1}\sqrt{\lambda _1}& v_{n2}\sqrt{\lambda _2}\\ \end{matrix} \right) G=v11λ1 v21λ1 vn1λ1 v12λ2 v22λ2 vn2λ2

3.4 绘制行列变量分类的对应分布图

因为矩阵 A A A B B B 具有完全相同的非零特征根,而这些特征根又正是各公因子的方差,因此,可用同一因子轴同时表示变量点和样本点

另外

对于 R R R 型因子载荷 F F F Q Q Q 型因子载荷 G G G 中元素,

F = ( u 11 λ 1 u 12 λ 2 u 21 λ 1 u 22 λ 2 ⋮ ⋮ u p 1 λ 1 u p 2 λ 2 )        G = ( v 11 λ 1 v 12 λ 2 v 21 λ 1 v 22 λ 2 ⋮ ⋮ v n 1 λ 1 v n 2 λ 2 ) F=\left( \begin{matrix} u_{11}\sqrt{\lambda _1}& u_{12}\sqrt{\lambda _2}\\ u_{21}\sqrt{\lambda _1}& u_{22}\sqrt{\lambda _2}\\ \vdots& \vdots\\ u_{p1}\sqrt{\lambda _1}& u_{p2}\sqrt{\lambda _2}\\ \end{matrix} \right) \ \ \ \ \ \ G=\left( \begin{matrix} v_{11}\sqrt{\lambda _1}& v_{12}\sqrt{\lambda _2}\\ v_{21}\sqrt{\lambda _1}& v_{22}\sqrt{\lambda _2}\\ \vdots& \vdots\\ v_{n1}\sqrt{\lambda _1}& v_{n2}\sqrt{\lambda _2}\\ \end{matrix} \right) F=u11λ1 u21λ1 up1λ1 u12λ2 u22λ2 up2λ2       G=v11λ1 v21λ1 vn1λ1 v12λ2 v22λ2 vn2λ2

取值范围是相同的,且元素数量大小的含义也类似

因此

可将 F F F G G G 分别看成 p p p 个二维点和 n n n 个二维点绘制在一个共同的坐标平面中,形成对应分布图,各点的坐标即为相应的因子载荷

至此

通过以上步骤,实现了对行列变量多类别的降维,并以因子载荷为坐标,将行列变量的多个分类点直观地表示在对应分布图中,实现了品质变量各类别间差异的量化。通过观察对应分布图中各数据点的远近就能够判断各类别之间的联系

3.5 对应分析流程图

引用参考[2]的流程图,可以把整个过程串起来
在这里插入图片描述

4 对应分析的适用条件以及注意事项

运用对应分析法处理问题有这样的要求:

  • 变量是名义变量或定序变量
  • 行变量的类别取值与列变量相互独立
    在对数据作对应分析之前,需要先了解因素间是否独立。如果因素之间相互独立,则没有必要进行对应分析,当因素间在统计学上具有显著的关联性时,在此基础上使用对应分析方法,其分析结果才具有意义。
  • 行列变量构成的交叉频数表中不能出现小于等于零的情况

需要注意一下几点:

  • 对应分析不能应用在相关关系的假设检验中,无法解释两个变量间存在的联系显著与否。因此,在应用对应分析时,需要事先做的工作是检验两个变量之间的相关性,能够通过卡方统计量检验进行。

  • 对应分析也是一种降维方法,因此在将行列信息投射到低纬空间时也可能会有信息的损失。

  • 对应分析可以省去因子旋转和因子选择等复杂中间过程,降低数学运算难度,且从因子载荷图上可以直接对行因素和列因素进行分类。

  • 对应分析对异常点或者极端值敏感

  • 研究对象要有可比性

  • 不同标准化分析的结果不同

  • 定性变量划分的类别越多,对应分析方法的优越性越明显


参考文章:

[1] 于秀林.多元统计分析与程序[M].北京:中国统计出版社,1993.1-45.
[2] 刘冬梅. 对应分析在航空安全事件研究中的应用[D].中国民航大学,2016.
[3] 尚佳. 基于对应分析法的综合保税区与自由贸易园区的差别化研究[D].上海交通大学,2012.
[4] 百度文库—对应分析
[5] 百度文库—SPSS数据的对应分析资料
[6] 对应分析

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐