1
模式识别与智能计算的MATLAB实现
1.16.6.2 14.6.2 Q型和R型因子分析
14.6.2 Q型和R型因子分析

因子分析的起点是协方差或相关矩阵。对Q、R型因子分析,由于研究的目的有别,采用的协方差阵也所差别。

CQ=XTX (p×p维)

CR=XXT (n×n维)

若采用相关矩阵,则

RQ=(XVQT(XVQ

RR=(VRX)(VRX)T

这里

alt

R型因子分析用于通过n次观察研究P个特征间的关系;而Q型因子分析则是通过P个特征来研究n个样本间的关系。这两者虽然输入矩阵不一,但因子分析的算法基本一致。

例14.7 为了检测某工厂的大气质量情况,在8个取样点进行取样并进行分析,得到如表14.2所列的分析结果。试对其进行R型因子分析。

表14.2 大气环境质量检测结果 µg/ml

alt

alt

alt

从分析结果不难看出:第一主因子主要由氯、硫化氢、环氧氯丙烷和环己烷等构成,而第二主因子由二氧化硫、碳4气体和环己烷等构成,两个主因子体现的污染源不一样。另外从图14.4中也可以看出各个样本的主要污染物种类。

alt

图14.4 各因子得分图

alt

例14.8 对例14.7的数据进行Q型因子分析。

:设有n个样品,每个样品测定p个变量的数值,样品之间有相关关系,Q型因子分析就是从样品的相似系数阵出发,找出控制所有样品的几个主要因素(主因素),通过对主因素的分析计算,对样品进行分类,并找出每类的典型代表。

所谓相似系数,实际是把第i指标与第j指标的两个观察n次观察值,看成是n维空间中的两个点,坐标原点到此两个点的两个n维空间向量间的夹角的余弦值即为相似系数,其计算公式如下:

alt

Q型因子分析除了输入矩阵不同于R型因子分析处,其他运算过程完全一样。

alt

例14.9 无论是R型还是Q型因子分析,都未能很好地揭示变量和样品间的双重关系,并且当样品量n较大时,进行Q型因子分析时比较耗机时。

为了解决上述问题,可以采用对应因子分析方法。此方法是对原始数据进行适当标度,把R型和Q型因子分析结合起来,同时得到两个方面的结果——在同一因子平面上对变量和样品一起进行分类,从而揭示所研究的样品和变量间的内在联系。

对例14.7的数据进行对应因子分析。

alt

取第一主因子的载荷为横坐标,第二主因子的载荷为纵坐标,将8个取样点和6个变量点的第一、第二主因子载荷在同一因子平面上作图(见图14.5)。由图可看出,全部变量(污染气体)和取样点可分为三类,每一类聚合了一部分变量和样品。第Ⅰ类包含了第1、2、3、5、7五个取样点及第1、2、3、4四种污染气体,这表明这五个取样点属于同一类污染地区,该地区污染的主要气体是氯、硫化氢、二氧化硫和碳4气体这四种。第Ⅱ类地区包含第4、8两个取样点,污染气体是环氧氯丙烷,第Ⅲ类地区只有第6号取样点,污染气体是环己烷。

alt

图14.5 对应分析结果图

例14.10 在MATLAB中因子分析的极大似然估计函数为factoran,其调用格式为

alt

其中,X是观察向量;M是公共因子的数目;alt、val1等是可选的控制模型和输出的名称及相应的数值;PSI返回的是特殊因子负荷矩阵的估计值;T返回的是因子负荷旋转矩阵;STATS是一个数据结构,包含了与假设统计检验有关的信息。详细调用格式见该函数的help。

为了监测湖泊水质,设15个监测点,每个监测点监测指标为5项(见表14.3),用factoran函数确定它最佳的布设点。

alt

表14.3 水质监测数据表

alt

利用结果可分别作图14.6和图14.7,从图中可看出,2、3、5指标与因子1有关,1、4指标与因子2有关。15个观察点被分成六类:(3,4,5,6,7,9,10,11,12)、(8,14)、(1)、(2)、(13)、(15)。而这六类在二维平面图上是按照一定的方向和顺序邻次排列的,自右到左,污染程度逐渐增加。不同的污染类别,实质上是客观地反映了沿岸工业、人口分布对水环境的影响,两相邻类在污染类型上具有一定的相似性,而在污染程度上具有显著的差异性。

alt

图14.6 因子图

alt

图14.7 因子得分图

从分类结果看,尚需进一步优选的类别有(3,4,5,6,7,9,10,11,12)和(8,14)两类,可根据类间点位的载荷分值相差最大的原则选择,参考得分值,明显最佳点为(10)和(14)。至此,15个观察点经优选后的最佳点位为(1,2,10,13,14,15)。