文档介绍:-
. z.
因子分析︱使用Stata做主成分分析
文章来自计量经济学圈
主成分分析
在许多领域的研究与应用中,往往需要对反映事物的多个变量进展大量的观测,收集大量数据足够了,z’轴上的抖动很有可能是噪声,也就是说本来这组数据是有相关性的,噪声的引入,导致了数据不完全相关,但是,这些数据在z’轴上的分布与原点构成的夹角非常小,也就是说在z’轴上有很大的相关性,综合这些考虑,就可以认为数据在*’,y’ 轴上的投影构成了数据的主成分!
课堂上教师谈到的特征选择的问题,其实就是要剔除的特征主要是和类标签无关的特征。而这里的特征很多是和类标签有关的,但里面存在噪声或者冗余。在这种情况下,需要一种特征降维的方法来减少特征数,减少噪音和冗余,减少过度拟合的可能性。
PCA的思想是将n维特征映射到k维上〔k
-
. z.
二、PCA实例现在假设有一组数据如下:行代表了样例,列代表特征,这里有10个样例,每个样例两个特征。可以这样认为,有10篇文档,*是10篇文档中“learn〞出现的TF-IDF,y是10篇文档中“study〞出现的TF-IDF。
第一步,分别求*和y的平均值,然后对于所有的样例,都减去对应的均值。这里*,,则一个样例减去均值后即为〔,〕,得到第二步,求特征协方差矩阵,如果数据是3维,则协方差矩阵是 这里只有*和y,求解得对角线上分别是*和y的方差,非对角线上是协方差。协方差是衡量两个变量同时变化的变化程度。协方差大于0表示*和y假设一个增,另一个也增;小于0表示一个增,一个减。如果x和y是统计独立的,则二者之间的协方差就是0;但是协方差是0,并不能说明x和y是独立的。协方差绝对值越大,两者对彼此的影响越大,反之越小。协方差是没有单位的量,因此,如果同样的两个变量所采用的量纲发生变化,它们的协方差也会产生树枝上的变化。
第三步,求协方差的特征值和特征向量,得到上面是两个特征值,下面是对应的特征向量,,这里的特征向量都归一化为单位向量。
第四步,将特征值按照从大到小的顺序排序,选择其中最大的k个,然后将其对应的k个特征向量分别作为列向量组成特征向量矩阵。这里特征值只有两个,我们选择其中最大的那个,,对应的特征向量是(-, -)T。
-
. z.
第五步,将样本点投影到选取的特征向量上。假设样例数为m,特征数为n,减去均值后的样本矩阵为DataAdjust(m*n),协方差矩阵是n*n,选取的k个特征向量组成的矩阵为EigenVectors(n*k)。则投影后的数据FinalData为FinalData(10*1) = DataAdjust(10*2矩阵) * 特征向量(-, -)T
得到的结果是: 这样,就将原始样例的n维特征变成了k维,这k维就是原始特征在k维上的投影。
上面的数据可以认为是learn和study特征融合为一个新的特征叫做LS特征,该特征根本上代表了这两个特征。上述过程如下列图2描述:正号表示预处理后的样本点,斜着的两条线就分别是正交的特征向量〔由于协方差矩阵是对称的,因此其特征向量正交〕,最后一步的矩阵乘法就是将原始样本点分别往特征向量对应的轴上做投影。
整个PCA过程貌似及其简单,就是求协方差的特征值和特征向量,然后做数据转换。但是有没有觉得很神奇,.
三、PCA推导先看下面这幅图:在第一局部中,我们举了一个学生成绩的例子,里面的数据点是六维的,即每个观测值是6维空间中的一个点。我们希望将6维空间用低维空间表示。
-
. z.
先假定只有二维,即只有两个变量,它们由横坐标和纵坐标所代表;因此每个观测值都有相应于这两个坐标轴的两个坐标值;如果这些数据形成一个椭圆形状的点阵,则这个椭圆有一个长轴和一个短轴。在短轴方向上,数据变化很少;在极端的情况,短轴如果退化成一点,那只有在长轴的方向才能够解释这些点的变化了;这样,由二维到一维的降维就自然完成了。
上图中,u1就是主成分方向,然后在二维空间中取和u1方向正交的方向,就是u2的方向。则n个数据在u1轴的离散程度最大〔方差最大〕,数据在u1上的投影代表了原始数据的绝大局部信息,即使不