龙空技术网

Python 数据分析——数据主成分分析

昌华量化 844

前言:

现时看官们对“python进行主成分分析居民消费”大约比较讲究,看官们都需要学习一些“python进行主成分分析居民消费”的相关内容。那么小编同时在网络上搜集了一些关于“python进行主成分分析居民消费””的相关文章,希望咱们能喜欢,你们一起来了解一下吧!

在实际问题中,我们经常会遇到研究多个变量的问题,而且在多数情况下,多个变量之间常常存在一定的相关性。由于变量个数较多,再加上变量之间的相关性,势必增加了分析问题的复杂性。如何把多个变量综合为少数几个代表性变量,既能够代表原始变量的绝大多数信息,又互不相关,并且在新的综合变量的基础上可以进一步统计分析,就需要进行主成分分析。

一、主成分分析的原理及模型1.主成分分析的原理

主成分分析是采取一种数学降维的方法找出几个综合变量来代替原来众多的变量,使这些综合变量能尽可能地代表原来变量的信息量,而且彼此之间互不相关。这种把多个变量化为少数几个互相无关的综合变量的统计分析方法就叫作主成分分析或主分量分析。

主成分分析所要做的就是:设法将原来众多的具有一定相关性的变量重新组合为一组新的、相互无关的综合变量。通常,数学上的处理方法是将原来的变量进行线性组合,作为新的综合变量,但若这种组合不加以限制,则会有很多,应该如何选择呢?如果将选取的第一个线性组合(第一个综合变量)记为F1,自然希望它尽可能多地反映原来变量的信息,这里“信息”用方差来测量,即希望Var(F1)越大,表示F1包含的信息越多。因此,在所有的线性组合中所选取的F1应该是方差最大的,故称F1为第一主成分。如果第一主成分不足以代表原来P个变量的信息,再考虑选取F2(第二个线性组合),为了有效地反映原来的信息,F1已有的信息就不需要再出现在F2中,用数学语言表达就是要求Cov(F1, F2)=0,称F2为第二主成分,以此类推,可以构造出第三、第四……第P个主成分。

2.主成分分析的数学模型

对于一个样本资料,观测p个变量x1,x2,…,xpn个样品的数据资料阵为:

其中,

主成分分析就是将p个观测变量综合成p个新的变量(综合变量),即:

简写为:

j=1,2,…,p

要求模型满足以下条件:

FiFj互不相关(iji,j =1,2,…,p)。

F1的方差大于F2的方差大于F3的方差。

k=1,2,…p

于是,称F1为第一主成分,F2为第二主成分,以此类推,有第p个主成分。主成分又叫主分量。这里aij称为主成分系数。

上述模型可用矩阵表示为:F=AX

其中:

A称为主成分系数矩阵。

二、数据主成分分析的几何解释

假设有n个样品,每个样品有两个变量,即在二维空间中讨论主成分的几何意义。设n个样品在二维空间中的分布大致为一个椭圆,如图1所示。

图1 主成分几何解释图

将坐标系正交旋转一个角度θ,使其在椭圆长轴方向取坐标y1,在椭圆短轴方向取坐标y2,旋转公式为:

写成矩阵形式为:

其中,U为坐标旋转变换矩阵,它是正交矩阵,即有U'=U-1,UU'=I,即满足sin2θ+cos2θ=1。

经过旋转变换后,得到图2所示的新坐标。

图2 新坐标

新坐标y1–y2有如下性质:

(1)n个点的坐标y1和y2的相关几乎为零。

(2)二维平面上的n个点的方差大部分都归结为y1轴上,而y2轴上的方差较小。

y1和y1称为原始变量x1和x2的综合变量。由于n个点在y1轴上的方差最大,因此将二维空间的点用在y1轴上的一维综合变量来代替所损失的信息量最小,由此称y1轴为第一主成分,y2轴与y1轴正交,有较小的方差,称它为第二主成分。

三、数据主成分的导出

根据主成分分析的数学模型的定义,要进行主成分分析,就需要根据原始数据以及模型的3个条件的要求,求出主成分系数,以便得到主成分模型。这就是导出主成分所要解决的问题。

(1)根据主成分数学模型的条件①要求主成分之间互不相关,主成分之间的协差阵应该是一个对角阵。即,对于主成分:

其协差阵应为:

Var(F)=Var(AX)=(AX)·(AX)'=AXXA

(2)设原始数据的协方差阵为V,若原始数据进行了标准化处理,则协方差阵等于相关矩阵,即有:

(3)再由主成分数学模型条件③和正交矩阵的性质,若能够满足条件③,则最好要求A为正交矩阵,即满足:

于是,将原始数据的协方差代入主成分的协差阵公式得:

Var(F)=AXXA'=ARA'=Λ

展开上式得:

展开等式两边,根据矩阵相等的性质,这里只根据第一列得出的方程为:

为了得到该齐次方程的解,要求其系数矩阵行列式为0,即:

显然,λ1是相关系数矩阵的特征值,是相应的特征向量。根据第二列、第三列等可以得到类似的方程,于是λi是特征方程的特征根,aj是其特征向量的分量。

四、证明主成分的方差是依次递减的

设相关系数矩阵Rp个特征根为λ1≥λ2≥…≥λp,相应的特征向量为aj

相对于F1的方差为:

同样有:Var(Fi)=i,即主成分的方差依次递减。并且协方差为:

综上所述,根据证明得知,主成分分析中的主成分协方差应该是对角矩阵,其对角线上的元素恰好是原始数据相关矩阵的特征值,而主成分系数矩阵A的元素则是原始数据相关矩阵特征值相应的特征向量。矩阵A是一个正交矩阵。

于是,变量

经过变换后得到新的综合变量:

新的随机变量彼此不相关,且方差依次递减。

五、数据主成分分析的计算

样本观测数据矩阵为:

(1)对原始数据进行标准化处理:

其中:

(2)计算样本相关系数矩阵:

为了方便,假定原始数据标准化后仍用X表示,则经标准化处理后的数据的相关系数为:

(3)用雅克比方法求相关系数矩阵R的特征值(λ1, λ2, …, λp)和相应的特征向量ai=(ai1,ai2,…,aip),i=1,2,…,p

(4)选择重要的主成分,并写出主成分表达式。

主成分分析可以得到p个主成分,但是,由于各个主成分的方差是递减的,包含的信息量也是递减的,因此在实际分析时,一般不选取p个主成分,而是根据各个主成分累计贡献率的大小选取前k个主成分。这里贡献率是指某个主成分的方差占全部方差的比重,实际上就是某个特征值占全部特征值合计的比重,即:

贡献率越大,说明该主成分所包含的原始变量的信息越强。主成分个数k的选取主要根据主成分的累积贡献率来决定,即一般要求累计贡献率达到85%以上,这样才能保证综合变量包括原始变量的绝大多数信息。

另外,在实际应用中,选择了重要的主成分后,还要注意主成分的实际含义解释。主成分分析中一个很关键的问题是如何给主成分赋予新的意义,给出合理的解释。一般而言,这个解释是根据主成分表达式的系数结合定性分析来进行的。主成分是原来变量的线性组合,在这个线性组合中,变量的系数有大有小,有正有负,有的大小相当,因而不能简单地认为这个主成分是某个原变量的属性的作用结果,线性组合中各变量系数的绝对值大者表明该主成分主要综合了绝对值大的变量,有几个变量系数大小相当时,应认为这一主成分是这几个变量的总和,这几个变量综合在一起应赋予怎样的实际意义,要结合实际问题和专业给出恰当的解释,进而达到深刻分析的目的。

(5)计算主成分得分。

根据标准化的原始数据,按照各个样品分别代入主成分表达式,就可以得到各主成分下的各个样品的新数据,即为主成分得分。具体形式如下:

(6)进一步的统计分析依据主成分得分的数据,可以进行进一步的统计分析。其中,常见的应用有主成分回归、变量子集合的选择、综合评价等。

标签: #python进行主成分分析居民消费 #python 主成分分析