【原创】R语言多元线性回归特征降维:主成分回归和偏最小二乘案例分析报告附代码数据 联系客服

发布时间 : 星期一 文章【原创】R语言多元线性回归特征降维:主成分回归和偏最小二乘案例分析报告附代码数据更新完毕开始阅读08cc0847f4335a8102d276a20029bd64793e6255

【原创】附代码数据

有问题到淘宝找“大数据部落”就可以了

主成分分析(Principal Component Analysis, PCA)

一个优秀的模型应该是用尽可能少的特征来涵盖尽可能多的信息。对于多元线性回归模型,除了对全部特征进行筛选和压缩——这些都是针对原特征本身,那么是否可以把多个特征组合成少数的几个新特征,使模型更加简洁?特别是多个特征之间往往还存在多重共线性关系。

主成分分析的核心思想就是降维,把高维空间上的多个特征组合成少数几个无关的主成分,同时包含原数据中大部分的变异信息。举个例子,在二维平面中,如果大部分的点都在一条直线附近,是不是就可以直接用这条直线当作一维坐标轴来反映原始数据?在三维空间中,如果大部分的点都在一个平面附近,是不是就可以直接用这个平面当作二维平面来反映原始数据?

以上概念中的变异信息就用方差来衡量,第一主成分是高维空间上的一个向量,所有的点沿着这条线波动最大,或者说所有的点到直线的距离的平方和最小。如下图所示,所有的点沿着绿色直线的波动最大,它就代表着第一主成分向量。

主成分分析几何意义

有了第一主成分,还可以依次往后选择主成分,各主成分之间是相互正交的向量。如下左图所示,右图是左图的旋转,以第一主成分作为x轴,第二主成分作为y轴与之垂直。

【原创】附代码数据

有问题到淘宝找“大数据部落”就可以了

第一主成分与第二主成分

以上是主成分的几何意义,那么它的数学意义是什么?如何去求解主成分向量? 首先,我们定义主成分是原特征的线性组合,即:

主成分定义

找到一组Φ(其平方和为1),使Z1的方差最大,它的优化问题变成:

主成分优化目标

第一主成分确定之后,如果是二维空间那么第二主成分就可以通过正交关系直接确定;对于高维空间,一个向量的正交向量可以有无数个,则在其正交向量中继续优化上式至最大值;之后的主成分依次类推。 以下以美国的犯罪记录数据为例,对特征进行PCA:

> library(ISLR) > apply(USArrests,2,mean) # 各变量均值差异很大 Murder Assault UrbanPop Rape 7.788 170.760 65.540 21.232 > apply(USArrests,2,var) # 各变量方差差异也很大 Murder Assault UrbanPop Rape 18.97047 6945.16571 209.51878 87.72916 > > ## 必须要对变量进行标准化,否则主成分就由Assault一个变量决定 > > pr.out = prcomp(USArrests,scale. = T) > names(pr.out) [1] \ \ \ \ \ > pr.out$center # 标准化之后的均值

【原创】附代码数据

有问题到淘宝找“大数据部落”就可以了 Murder Assault UrbanPop Rape 7.788 170.760 65.540 21.232 > pr.out$scale # 标准化之后的标准差 Murder Assault UrbanPop Rape 4.355510 83.337661 14.474763 9.366385 > > pr.out$rotation # 主成分负荷,这个矩阵列向量两两数量积都近似于0,可见主成分负荷向量的确是正交的 PC1 PC2 PC3 PC4 Murder -0.5358995 0.4181809 -0.3412327 0.64922780 Assault -0.5831836 0.1879856 -0.2681484 -0.74340748 UrbanPop -0.2781909 -0.8728062 -0.3780158 0.13387773 Rape -0.5434321 -0.1673186 0.8177779 0.08902432 > biplot(pr.out,scale = 0)

【原创】附代码数据

有问题到淘宝找“大数据部落”就可以了

主成分分析双坐标图

这张图是主成分分析的双坐标图,略复杂。这里解释一下:这个图是二维的,所以它只展示第一和第二主成分,PC1和PC2侧的坐标轴(即矩形下方和左方两个)映射的是主成分得分,而上侧和右侧的两个坐标轴(即刻度是红色的)映射的

主成分负荷。图中每一个黑色的单词代表一个观测数据,它的位置对应着该观测数据在第一和第二主成分上的得分或负荷。

红色的箭头是各个特征在第一和第二主成分上的负荷向量,该向量在右上侧的坐标系下的投影即为主成分负荷。 从这张图中能看出什么?

? ? ?

Assault、Murder、Rape这三个特征在第一主成分负荷向量上的权重大致相同,而UrbanPop的权重较小;UrbanPop在第二主成分负荷向量上的权重较大,而其他三个特征权重较小;

三个与犯罪相关的变量位置较近,相关性强;UrbanPop与其他三个变量相关性较弱。

接下来就看各个主成分所占方差比(即解释数据变异的程度),来确定选择几个主成分。

> pr.var = pr.out$sdev ^ 2 # 样本在四个主成分的方差 > pr.var