什么是主成分分析法
主成分分析法: 英文全名 Principal Component Analysis 简称 PCA ,由名字就可以看出来,这是一个挑重点分析的方法。主成分分析 法是通过 恰当 的数学变换 ,使新变量—— 主成分成为原变量 的线性 组合 ,并选 取少数 几个在变差总信息量中 比例较 大的主成分来分析 事物 的一种方法 。 主成分在变差信息量中的比例越大 , 它在综合评价 中的作用就越大
思想: 整体思想就是化繁为简,抓住问题关键,也就是降维思想。当然,既然是抓住关键,那么自然就是以牺牲精度为代价。
解决问题: 因为每个变量都在不同程度上反映了所研究问题的某些信息,并且指标之间彼此有一定的相关性,因而所得的统计数据反映的信息在一定程度上有重叠。 在用统计方法研究多变量问题时,变量太多会增加计算量和分析问题的复杂性。
人们希望在进行定量分析过程中,涉及的变量较少,得到的信息量较多。为了尽可能的减少冗余和噪音,一般情况可以从相关变量中选择一个,或者把几个相关变量综合为一个变量作为代表,用少数变量来代表所有变量。
原理: 因为评估所涉及的众多变量之间既然有一定的相关性,就必然存在着起支配作用的因素。根据这一点,通过对原始变量和相关矩阵的内部结构的关系研究 ,找出影响目标变量某一要素的几个综合指标,使综合指标为原来变量的线性拟合。 这样,综合指标不仅保留了原始变量的主要信息,且彼此间不相关,又比原始变量具有某些更优越的性质,使得我们在研究复杂目标变量评估问题时,容易抓住主要矛盾。
形象理解
比如,某学籍数据,有两列 M 和 F ,其中M 列的取值是如果学生为男性,则取值为 1 如果为女性,则取值为 0 。F 列,如果为男性则取值为 0 否则取值为一。 由这两种关系可以知道,这两列数据是强相关的。只要保留一列,就能够完全还原另外一列。 当然,不要局限于数据删除,还有数据转换,删除可以理解为在此方法中的一种方式。
当然,上述情况在真实数据中是不可能出现的。这里只是借此介绍一下这种思维。真实情况中, 我们需要考虑删除哪一列信息可以使得损失最小?或者是通过变换数据就能使得损失信息更小?又如何度量信息的丢失量?原始数据的处理降维有哪些步骤?
坐标示例:
我们来看下面这张图,这是一个椭圆的点阵。椭圆上面有一个长轴和一个短轴。现在我们要表示点阵的主要变化趋势,就可以以长短轴(或者平行于长短轴)构建新的坐标系。在极端的情况下,短轴变成了一个点,那么长轴就能代表这个点阵的趋势和特点。这样,一个二维数据,就变成了一维。
基础知识储备
内积与投影:
内积运算,将两个向量映射为一个实数。其几何意义就是 向量 A ,在向量 B 的投影长度。(下图是以二维向量为例,多维空间依然是如此。)
上式中,B 为单位向量
基 :
同样以上图 B为例,B向量为(3,2)其表示的其实为在 X 轴的投影值为3 ,在Y轴的投影值 为 2 。这其实加入了一个隐含信息,就是本坐标轴 分别是以 X Y轴为方向的单位向量。这里的 X Y 轴其实就是我们所提到的 基。只不过一般默认为 (1,0)和(0,1)
所以呢,要描述一组向量,首先是要确定一组基。然后求这个向量在这组基中的投影即可。对基的要求是线性无关,并不一定非要正交。但是因为正交基有较好的性质,所以一般情况我们都是用正交基。
基变换
上面我们了解了基的原理。如果同样把(3,2)放到新基里面描述,那就是把向量和新基相乘即可。
如果是在描述中,有多个基呢?那就是与基阵相乘。
如何实现降维
上面的思路,我们都清楚了。那么我们如何通过基变换来降维呢?这里我们来举个例子。假设我们有一个矩阵如下。
为了处理方面,我们现在把每个字段都减去字段平均值,那么就变成了如下所示
表示在坐标上如下图
那么,我们现在想用一维坐标来表示,而且要求尽可能的保留原来的信息,我们需要如何选择方向(基)呢?(二维降一维)
思路就是,希望投影后的值尽可能的分散,避免重合。
协方差:
在概率论与统计学中,协方差用于衡量两个随机变量的联合变化程度。而方差则是协方差的一种特殊情况,即变量与自身的协方差。
期望:在概率论和统计学中,一个离散性随机变量的期望值(或数学期望,亦简称期望,物理学中称为期待值)是试验中每次可能的结果乘以其结果概率的总和。比如骰子的期望值为 1 1/6 +21/6 + …+ 61/6 = 35
协方差公式为:
其中,E(X) = u E(Y) = v
协方差表示的是两个变量的总体的误差 ,这与只表示一个变量误差的方差不同。 如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值,另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值。 如果两个变量的变化趋势相反,即其中一个大于自身的期望值,另外一个却小于自身的期望值,那么两个变量之间的协方差就是负值。如果X 与Y 是统计独立的,那么二者之间的协方差就是0
流程和步骤
第一步:标准化
把输入数据集变量的范围标准化,以使它们中的每一个均可以大致成比例的分析。简单说,就是要把存在较大差异的数据转变为可比较的数据。比如把 0-100 的变量转化为 0-1 的变量。这一步一般可以通过减去平均值,再除以每个变量值的标准差来完成。标准差公式如下
那么常用的标准化指标变量公式可为
第二步:协方差矩阵计算
这一步的目的是:了解输入数据集的变量是如何相对于平均值变化的。或者换句话说,是为了查看它们之间是否存在任何关系。因为有时候,变量间高度相关是因为它们包含大量的信息。因此,为了识别这些相关性,我们进行协方差矩阵计算。
协方差矩阵是p×p对称矩阵(其中p是维数),其所有可能的初始变量与相关联的协方差作为条目。
好了,现在我们知道协方差矩阵只不过是一个表,汇总了所有可能配对的变量间相关性。下面就是计算协方差矩阵的特征向量和特征值,以筛选主要成分。
第三步:计算协方差矩阵的特征向量和特征值,用以识别主成分
特征向量和特征值都是线性代数概念,需要从协方差矩阵计算得出,以便确定数据的主成分。开始解释这些概念之前,让我们首先理解主成分的含义
主成分是由初始变量的线性组合或混合构成的新变量。该组合中新变量(如主成分)之间彼此不相关,且大部分初始变量都被压缩进首个成分中。所以,10维数据会显示10个主成分,但是PCA试图在第一个成分中得到尽可能多的信息,然后在第二个成分中得到尽可能多的剩余信息,以此类推。
例如,假设你有一个10维数据,你最终将得到的内容如下面的屏幕图所示,其中第一个主成分包含原始数据集的大部分信息,而最后一个主成分只包含其中的很少部分。因此,以这种方式组织信息,可以在不丢失太多信息的情况下减少维度,而这需要丢弃携带较少信息的成分。
在这里,方差和信息间的关系是,线所承载的方差越大,数据点沿着它的分散也越大,沿着线的散点越多,它所携带的信息也越多。简单地说,只要把主成分看作是提供最佳角度来观察和评估数据的新轴,这样观测结果之间的差异就会更明显。
协方差矩阵的特征向量实际上是方差最多的轴的方向(或最多的信息),我们称之为主成分。通过特征值的顺序对特征向量进行排序,从最高到最低,你就得到了按重要性排序的主成分。
第四步:特征向量
正如我们在上一步中所看到的,计算特征向量并按其特征值依降序排列,使我们能够按重要性顺序找到主成分。在这个步骤中我们要做的,是选择保留所有成分还是丢弃那些重要性较低的成分(低特征值),并与其他成分形成一个向量矩阵,我们称之为特征向量。
因此,特征向量只是一个矩阵,其中包含我们决定保留的成分的特征向量作为列。这是降维的第一步,因为如果我们选择只保留n个特征向量(分量)中的p个,则最终数据集将只有p维。
第五步:沿主成分轴重新绘制数据
在前面的步骤中,除了标准化之外,你不需要更改任何数据,只需选择主成分,形成特征向量,但输入数据集时要始终与原始轴统一(即初始变量)。
这一步,也是最后一步,目标是使用协方差矩阵的特征向量去形成新特征向量,将数据从原始轴重新定位到由主成分轴中(因此称为主成分分析)。这可以通过将原始数据集的转置乘以特征向量的转置来完成。
优缺点
优点:化繁为简,降低了计算量。
缺点:一定程度上损失了精度。并且只能处理“线性问题”,这是一种线性降维技术、
总结
假设我们拿到了一份数据集,有m个样本,每个样本由n个特征(变量)来描述,那么我们可以按照以下的步骤进行降维:
1、将数据集中的每个样本作为列向量,按列排列构成一个n行m列的矩阵;
2、将矩阵的每一个行向量(每个变量)都减去该行向量的均值,从而使得新行向量的均值为0,得到新的数据集矩阵X;
3、求X的协方差矩阵,并求出协方差矩阵的特征值λ和单位特征向量e;
4、按照特征值从大到小的顺序,将单位特征向量排列成矩阵,得到转换矩阵P,并按PX计算出主成分矩阵;
5、用特征值计算方差贡献率和方差累计贡献率,取方差累计贡献率超过85%的前k个主成分,或者想降至特定的k维,直接取前k个主成分。
参考文章: https://blogcsdnnet/Murray_/article/details/79945148
参考文章: https://wwwcnblogscom/Luv-GEM/p/10765574html
参考文章: https://wwwssffxcom/wangzhanjianshe/40715html
先在spss中准备好要处理的数据,然后在菜单栏上执行:analyse--dimension reduction--factor analyse。打开因素分析对话框
2
我们看到下图就是因素分析的对话框,将要分析的变量都放入variables窗口中
3
点击descriptives按钮,进入次级对话框,这个对话框可以输出我们想要看到的描述统计量因为做主成分分析需要我们看一下各个变量之间的相关,对变量间的关系有一个了解,所以需要输出相关,勾选coefficience,点击continue,返回主对话框,回到主对话框,点击ok,开始输出数据处理结果,你看到的这第一个表格就是相关矩阵,现实的是各个变量之间的相关系数,通过相关系数,你可以看到各个变量之间的相关,进而了解各个变量之间的关系,第二个表格显示的主成分分析的过程,我们看到eigenvalues下面的total栏,他的意思就是特征根,他的意义是主成分影响力度的指标,一般以1为标准,如果特征根小于1,说明这个主因素的影响力度还不如一个基本的变量。所以我们只提取特征根大于1的主成分。如图所示,前三个主成分就是大于1的,所以我们只能说有三个主成分。另外,我们看到第一个主成分方差占所有主成分方差的469%,第二个占275%,第三个占150%。这三个累计达到了895%。
消去c得:
6a²+a+b²-16b-2=0
6a²+a+(b-8)²=66
∵6a²+a≤66
∴a≤3
∴a=1,2,3
逐一试验可知
a=3,b-8=±3
即a=3,b=11,c=8b-3a²=61
或a=3,b=5,c=13
∴abc的最大值是3×11×61=2013
旋转矩阵里的因子载荷和每个成分的方差贡献率算出每个成分的得分了,公式为:
每一主成分得分=(标准化后指标的数据旋转矩阵里的因子载荷)的累加 / 根号下(主成分的方差贡献率)
综合成分F得分=(每个主成分的得分方差贡献率)累加
扩展资料:
成分旋转这后各成分的方差贡献率将重新分配,此时就不可再称之为“主成分”而仅仅是“成分”。旋转又可分为正交旋转和斜交旋转。正交旋转的流行方法是方差最大化,需要在principal中增加rotate='varimax'参数加以实现。也有观点认为主成分分析一般不需要进行旋转。
在计算出主成分得分之后,还可以将其进行回归等做进一步分析处理。但注意如果输入数据不是原始数据时,则无法计算主成分得分。我们需要在principal中增加score=T的参数设置,结果将存放在结果的score元素中。
-成分矩阵
按照常理,距离断层的距离越远,滑坡越少,为什么这里的系数为(0812),同样,对于加速度(PGA,-0851),为什么是负数,负数的意思是不是表示:加速度越大,滑坡越不容易。这样理解和常识不符,但是荷载举证的系数是负值。
因子得分系数矩阵可以直接的出来的,在得分(score)那个选项里面有显示因子得分系数矩阵那一项。matlab使用主成分分析的话,主要考虑特征值占比近85的几个特征值,它们对应的也就是前几列得分系数。
扩展资料:
在因子分析中,通常只选其中m个(m<p)主因子,即根据变量的相关选出第一主因子ƒ1,使其在各变量的公共因子方差中所占的方差贡献为最大,然后消去这个因子的影响,而从剩余的相关中,选出与之不相关的因子,使其在各个变量的剩余因子方差贡献中为最大,如此往复,直到各个变量公共因子方差被分解完毕为止。
-因子载荷
主成分分析不是一个独立的统计阶段,而是一个初步结果,其应用有两个方面:
一是主成分评价,另一个是主成分回归。这里,我只给您介绍主成分评价。
主成分评价的步骤:
第一步,对原始数据进行无量纲化处理,公式是减均值比上标准差。
如果用统计软件SPSS操作,则点击菜单“分析---描述统计---描述”,把全部变量选进变量框,勾选“将标准化得分另存为变量”,然后点确定,
第二步, 计算特征根、方差贡献率、累计方差贡献率以及主成分载荷矩阵
在SPSS点击菜单“分析--降维--因子分析”,把标准化后的所有变量调入变量框,确定。得表1和表2。表1给出了两个主成分的特征根,分别是5624和1997(例)。
表1 方差分析表
表2(例) 主成分矩阵
第三步,提取主成分
由表1可知,提取了两个主成分,这两个主成分的累计方差贡献率高达95261%,表明提取前两个主成分可以基本反映全部8个指标所具有的信息。
第四步,计量特征向量
特征向量等于主成分矩阵(表2)除以特征值的平方根。表3即计算出的两个特征向量:
表3 特征向量表
第五步, 计算主成分得分
利用这两个公式可以求出两个主成分F1和F2的得分。
第六步,计算综合得分
表9从略。
主成分分析不需要旋转,因子分析才需要。
希望能帮上您!刘得意统计服务
用SPSS做主成分分析时,因为软件只有因子分析,所以对求出来的因子系数矩阵要进行计算得到相应的主成分系数。具体步骤是用每一列的因子除以相对应的特征值的开方(在spss下的transform—compute
variable进行计算就可以)。
求出主成分系数后,乘以标准化后的原始数据(spss中的描述性统计分析就可以做到),得到的就是主成分矩阵。至于你问的综合主成分计算,是最后一步了,用主成分矩阵乘以相应方差贡献率就是综合主成分值了。
你可能是把主成分分析和因子分析混淆了,因为只有因子分析才涉及到因子得分系数矩阵,不过其实很多人都会混了,因为两种方法实在是太像了,主成分可能用SPSS计算相对麻烦,因子分析还好。不过具体问题具体分析。如果你会SAS那就方便多了,编程自己需要的程序,但是需要一定基础。
欢迎分享,转载请注明来源:品搜搜测评网