① 如何应用spss对数据进行主成分分析
首先、在spss中准备好要处理的数据,然后在菜单栏上执行:analyse--dimension rection--factor analyse。打开因素分析对话框
接着、看到下图就是因素分析的对话框,将要分析的变量都放入variables窗口中
点击descriptives按钮,进入次级对话框,这个对话框可以输出我们想要看到的描述统计量
② 机器学习数据降维方法 PCA主成分分析
PCA在机器学习中很常用,是一种无参数的数据降维方法。PCA步骤:
将原始数据按列组成n行m列矩阵X将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值求出协方差矩阵求出协方差矩阵的特征值及对应的特征向量将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵PY=PX即为降维到k维后的数据1. PCA的推导
PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。
我们知道PCA是一种数据降维的方法,在降低维度的过程中,我们当然想要保留更多的特征,PCA就是经过数学推导,保留最多特征同时降维的方法。
在推导之前要先知道几个基础知识:
内积与投影
两个维数相同的向量的内积被定义为:
假设A和B是两个n维向量,我们知道n维向量可以等价表示为n维空间中的一条从原点发射的有向线段,为了简单起见我们假设A和B均为二维向量,则A=(x1,y1),B=(x2,y2)。则在二维平面上A和B可以用两条发自原点的有向线段表示,见下图:
现在我们从A点向B所在直线引一条垂线。我们知道垂线与B的交点叫做A在B上的投影,再设A与B的夹角是a,则投影的矢量长度为|A|cos(a),其中|A|是向量A的模,也就是A线段的标量长度。
到这里还是看不出内积和这东西有什么关系,不过如果我们将内积表示为另一种我们熟悉的形式:
现在事情似乎是有点眉目了:A与B的内积等于A到B的投影长度乘以B的模。再进一步,如果我们假设B的模为1,即让|B|=1,那么就变成了:
也就是说,设向量B的模为1,则A与B的内积值等于A向B所在直线投影的矢量长度!这就是内积的一种几何解释,也是我们得到的第一个重要结论。在后面的推导中,将反复使用这个结论。
基
下面我们继续在二维空间内讨论向量。上文说过,一个二维向量可以对应二维笛卡尔直角坐标系中从原点出发的一个有向线段。例如下面这个向量:
在代数表示方面,我们经常用线段终点的点坐标表示向量,例如上面的向量可以表示为(3,2),这是我们再熟悉不过的向量表示。
我们列举的例子中基是正交的(即内积为0,或直观说相互垂直),但可以成为一组基的唯一要求就是线性无关,非正交的基也是可以的。不过因为正交基有较好的性质,所以一般使用的基都是正交的。
3. 基变换的矩阵表示
一般的,如果我们有M个N维向量,想将其变换为由R个N维向量表示的新空间中,那么首先将R个基按行组成矩阵A,然后将向量按列组成矩阵B,那么两矩阵的乘积AB就是变换结果,其中AB的第m列为A中第m列变换后的结果。(新基按行,向量按列)
特别要注意的是,这里R可以小于N,而R决定了变换后数据的维数。也就是说,我们可以将一N维数据变换到更低维度的空间中去,变换后的维度取决于基的数量。因此这种矩阵相乘的表示也可以表示降维变换。
最后,上述分析同时给矩阵相乘找到了一种物理解释:两个矩阵相乘的意义是将右边矩阵中的每一列列向量变换到左边矩阵中每一行行向量为基所表示的空间中去。更抽象的说,一个矩阵可以表示一种线性变换。很多同学在学线性代数时对矩阵相乘的方法感到奇怪,但是如果明白了矩阵相乘的物理意义,其合理性就一目了然了。
4. 协方差矩阵与优化目标
我们从上面的矩阵乘法与基变换可以看出,当新基的维数小于原来的维数时可以做到数据的降维,但是究竟如何选择新基就是我们现在面临的问题,我们想要选择一个维数更小的新基,同时新基保留有更多的信息。我们知道矩阵向新基投影的形式,也就是PCA是将一组N维的特征投影到K维(K<n)同时保留更多的特征。 p=""></n)同时保留更多的特征。>
那么怎么衡量更多的特征,也就是投影后尽量少的重叠,投影值尽可能分散。
协方差
从二维到一维的降维,只需要找到一个一维基使得方差最大,但是三维降到二维呢?我们需要找到两个基让这个三维数据投影到两个基上,如果我们找方差最大的两个基,会发现他们完全一样或者线性相关,这和一个基没什么区别,不能表达更多的信息,所以我们需要添加限制条件,我们希望这两个基彼此线性无关,扩展到K个基也是一样。
当协方差为0时,表示两个字段完全独立。为了让协方差为0,我们选择第二个基时只能在与第一个基正交的方向上选择。因此最终选择的两个方向一定是正交的。
至此,我们得到了降维问题的优化目标:将一组N维向量降为K维(K大于0,小于N),其目标是选择K个单位(模为1)正交基,使得原始数据变换到这组基上后,各字段两两间协方差为0,而字段的方差则尽可能大(在正交的约束下,取最大的K个方差)。
关于PCA的贡献率与K的选择
在我的文章特征值和特征向量中说过,特征值反映了矩阵对于特征向量的拉伸程度,只有拉伸而没有旋转,也就是在特征向量方向上的作用程度,所以在PCA中我们选取前K个特征向量组成新基进行投影,就是因为原特征在前K个特征向量有最大的作用程度。
投影过后可以保留更多的信息,作用程度是用特征值表示的,所以我们可以使用下面的式子表示贡献率,贡献率是表示投影后信息的保留程度的变量,也就是特征值的总和比上前K个特征值,一般来说贡献率要大于85%。
③ 主成分分析原理
PCA(Principal Component Analysis)是一种常用的数据分析方法。
PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。
④ 主成分分析的主要步骤包括
主成分分析是指通过将一组可能存在相关性的变量转换城一组线性不相关的变量,转换后的这组变量叫主成分。
主成分分析步骤:1、对原始数据标准化,2、计算相关系数,3、计算特征,4、确定主成分,5、合成主成分。
主成分分析的原理是设法将原来变量重新组合成一组新的相互无关的几个综合变量,同时根据实际需要从中可以取出几个较少的总和变量尽可能多地反映原来变量的信息的统计方法叫做主成分分析或称主分量分析,也是数学上处理降维的一种方法。
主成分分析的主要作用
1.主成分分析能降低所研究的数据空间的维数。
2.有时可通过因子负荷aij的结论,弄清X变量间的某些关系。
3.多维数据的一种图形表示方法。
4.由主成分分析法构造回归模型。即把各主成分作为新自变量代替原来自变量x做回归分析。
5.用主成分分析筛选回归变量。
最经典的做法就是用F1(选取的第一个线性组合,即第一个综合指标)的方差来表达,即Va(rF1)越大,表示F1包含的信息越多。因此在所有的线性组合中选取的F1应该是方差最大的,故称F1为第一主成分。
⑤ 如何对导入的数据进行主成分分析
多元线性回归
1.打开数据,依次点击:analyse--regression,打开多元线性回归对话框。
2.将因变量和自变量放入格子的列表里,上面的是因变量,下面的是自变量。
3.设置回归方法,这里选择最简单的方法:enter,它指的是将所有的变量一次纳入到方程。其他方法都是逐步进入的方法。
4.等级资料,连续资料不需要设置虚拟变量。多分类变量需要设置虚拟变量。
5.选项里面至少选择95%CI。
点击ok。
因子分析
1输入数据。
2点Analyze 下拉菜单,选Data Rection 下的Factor 。
3打开Factor Analysis后,将数据变量逐个选中进入Variables 对话框中。
4单击主对话框中的Descriptive按扭,打开Factor Analysis: Descriptives子对话框,在Statistics栏中选择Univariate Descriptives项要求输出个变量的均值与标准差,在Correlation Matrix 栏内选择Coefficients项,要求计算相关系数矩阵,单击Continue按钮返回Factor Analysis主对话框。
5单击主对话框中的Extraction 按钮,打开如下图所示的Factor Analysis: Extraction 子对话框。在Method列表中选择默认因子抽取方法——Principal Components,在Analyze 栏中选择默认的Correlation Matrix 项要求从相关系数矩阵出发求解主成分,在Exact 栏中选择Number of Factors;6, 要求显示所有主成分的得分和所能解释的方差。单击Continue按钮返回Factor Analysis主对话框。
6单击主对话框中的OK 按钮,输出结果。
⑥ 主成分分析的基本步骤
主成分分析的基本步骤:
1、对原始数据标准化
2、计算相关系数
3、计算特征
4、确定主成分
5、合成主成分。