• 登录
Skip to content

一起大数据-技术文章心得

一起大数据网由数据爱好者发起并维护,专注数据分析、挖掘、大数据相关领域的技术分享、交流。不定期组织爱好者聚会,期待通过跨行业的交流和碰撞,更好的推进各领域数据的价值落地。

Menu
  • 首页
  • 大数据案例
  • 数据&电子书
  • 视频
    • Excel视频
    • VBA视频
    • Mysql视频
    • 统计学视频
    • SPSS视频
    • R视频
    • SAS视频
    • Python视频
    • 数据挖掘视频
    • 龙星计划-数据挖掘
    • 大数据视频
    • Machine Learning with Python
  • 理论
    • 统计学
    • 数据分析
    • 机器学习
    • 大数据
  • 软件
    • Excel
    • Modeler
    • Python
    • R
    • SAS
    • SPSS
    • SQL
    • PostgreSQL
    • KNIME
  • 技术教程
    • SQL教程
    • SPSS简明教程
    • SAS教程
    • The Little SAS Book
    • SAS EG教程
    • R语言教程
    • Python3教程
    • IT 技术速查手册
    • Data Mining With Python and R
    • SAS Enterprise Miner
  • 问答社区
  • 我要提问
Menu

线性回归中多重共线性处理——主成分分析法

Posted on 2023年3月26日

多重共线性

在进行多重线性回归时,有一个隐含假设为各个自变量之间相互独立;若自变量之间存在线性相关关系,则称存在多重共线性。

怎么判断自变量之间存在多重共线性?常用的评价指标有两个:容许度和膨胀因子(VIF)。容许度=1-Rj^2。其中的R是第j个自变量与其余变量进行回归时的判定系数。容许度越接近1,表示多重共线性越弱。膨胀因子:膨胀因子是容许度的倒数。膨胀因子越接近1(膨胀因子理论最小值是1),表示解释变量之间的多重共线性越弱,通常膨胀因子<10是弱多重共线性。若膨胀因子>=10,说明膨胀因子存在严重多重共线性。

在SPSS中可以通过在回归分析时勾选“统计”选项卡的“共线性诊断”自动计算容许度和膨胀因子,来判断自变量是否高度相关,是否存在多重共线性问题。

多重共线性的处理方法

若自变量之间存在多重共线性就需要对自变量进行处理后才能进行回归分析,处理方法为主成分分析(Principal Component Analysis,PCA)。

1 PCA

主成分分析法是运用降维的思想将一组高度相关的自变量转换为一组相互独立的、不存在线性关系的变量,转换后的变量称为主成分,主成分可反映原始数据的大部分信息。一般在自变量个数太多或者存在严重相关关系时使用主成分分析对自变量进行处理,主成分分析一般作为研究中的一个中间环节。

2 常用统计量

主成分分析中的几个统计量:

⑴特征根。主成分特征根的大小可反映该主成分的影响力度,表示该主成分可以解释平均多少个原始变量的信息。例如若特征根λi=3.998,表示该主成分可以解释平均3.998个原始变量。若特征根λi<1表示该主成分的解释力度还不如一个原始变量的解释力度大,因此常将特征根大于1作为引入某个主成分的标准。

⑵主成分Zi的方差贡献率。主成分的方差反映该主成分含原变量总信息量的百分。

⑶累积贡献率。将k个主成分的方差贡献率按照从大到小的顺序排列,累计贡献率指前k个主成分的方差贡献率之和,反映前k个主成分可提取百分之多少的原始变量的信息。在确定主成分个数时,一般选择累积贡献率达到70%-85%的前k个主成分。

3 PCA的用途

⑴主成分评价

在进行多指标综合评价时,可使用主成分分析对指标进行浓缩、确定权重。(即用于评价指标的研究)

⑵主成分回归

在进行回归分析时,若自变量之间存在高度相关性,则可使用PCA将自变量转换为相互独立的的新的自变量。

实例分析

第一步 数据标准化
(1)依次选择【分析】→【描述统计】→【描述】,将变量y,x1,x2,x3 选入“变量”对话框,勾选“将标准化得分另存为变量”,点击“确定”。

数据中增加了四列新的数据:ZY,ZX1,ZX2,ZX3,即标准化后的变量。

第二步 共线性诊断

选择【分析】→【回归计】→【线性】

将ZY放入因变量中,将ZX1,ZX2,ZX3放入自变量中

点击“统计”,勾选“共线性诊断”,点击“继续”、“确定”

结果解读:

决定系数R^2=0.992,说明由X1,X2,X3构成的回归模型可以解释99.2%的Y的信息,模型拟合程度高。

方差分析结果,F=285.61,P<0.05,说明构建的回归模型有意义,至少有一个自变量的系数不为0。

X1和X3的容许度远小于1,膨胀系数远大于10,说明X1和X3存在严重多重共线性。需要对自变量进行进一步处理才能进行回归分析。

第三步 主成分分析

SPSS没有专门的主成分分析模块,是通过因子分析模块来实现的。

【分析】→【降维】→【因子分析】

将ZX1,ZX2,ZX3放入变量中

描述选项卡

抽取选项卡

得分选项卡

结果解读

变量的相关系数矩阵,越接近1相关性越强。

“总计”即为前面讲到的特征根,“组件”即为主成分。可以看出前面两个主成分的特征根接近1,累积方差达到99.91%,即这两个主成分可以解释99.91%的原始变量的信息,因此我们可以选择提取两个主成分。

因为在上一步“抽取”选项卡中,我们选择的是按照特征根>1确定主成分个数,因此这个表只显示了一个主成分。因为现在确定抽取两个主成分,所以可以重新进行一次分析,将抽取方式改为固定数量2,如下所示。

新的成分矩阵,因此:

第四步 线性回归

计算新变量。【转换】→【计算变量】

使用新变量ZY,Z1,Z2进行回归分析。

结果解读

决定系数R^2=0.988,模型拟合程度高。方差分析显示模型有意义,至少有一个变量的偏回归系数不为0。容许度=1,膨胀系数VIF=1,不存在共线性。t检验显示,常量无统计学意义,Z1、Z2的p值<0.05,有统计学意义。

因此,回归模型为:ZY=0.690Z1+0.191Z2

(上面已计算出)

根据:

还原变量,最终得到y=-9.1057+0.0727X1+0.6091X2+0.1062X3

小结

进行回归分析时,若自变量之间存在多重共线性问题,可使用主成分分析予以处理。利用PCA生成新变量,使用新变量构建回归模型,再还原回去。

共线性判断方法

若容许度远离1、膨胀系数VIF大于10,则可视为存在共线性。

主成分分析要点

主成分个数确定方法:一般可选择特征向量大于1的主成分,但是也不一定,若某个主成分的特征值接近1则也可被抽取为一个主成分;或者选择累积方差贡献率达到70-85%的前p个主成分。

计算主成分的公式:

ZX是标准化后的变量,0.999等数字是成分矩阵中每个变量的系数,λ为每个主成分的特征根

 

from 线性回归中多重共线性处理——主成分分析法 – 知乎 (zhihu.com)

 

恭喜你,又看完一篇文章,扫码领个红包吧!图片

发表评论 取消回复

要发表评论,您必须先登录。

推荐访问

欢迎加入我们的付费交流社群,增长见识,互帮互助! 自2023-05-01起正式运营。
图片

数据分析交流:数据分析交流
Excel学习: Excel学习交流
Python交流:一起学习Python(数据分
SQL交流:一起学习SQL(数据分析
微博:一起大数据

最新提问

  • 统计方面的3个Python包
  • 更新R及Rstudio
  • TFP CausalImpact:一个Python包,用于估计设计干预对时间序列的因果效应
  • 根据公式的结构,写出计算的表达式,并结算结果
  • excel中提取超级链接公式中的链接地址
  • 用python解析公式并进行可视化
  • Python设置镜像源默认为清华的方法
  • VAR、VMA、VARMA 和 ARIMA
  • Python 的表达式解析库来解析公式
  • PandasAI:一个Python库,将生成式AI能力集成到Pandas中,允许进行高级数据分析任务,例如数据合成和增强

文章标签

AMOS CBC Excel GBDT KNN Modeler Mysql pandas PostgreSQL python python数据可视化 R SAS sklearn SPSS SQL SVM Tableau TensorFlow VBA 主成分分析 关联规则 决策树 协同过滤 可视化 因子分析 大数据 大数据分析 推荐系统 数据分析 数据可视化 数据挖掘 数据透视表 文本挖掘 时间序列 机器学习 深度学习 神经网络 结构方程 统计学 联合分析 聚类 聚类分析 逻辑回归 随机森林
©2023 一起大数据-技术文章心得 | Design: Newspaperly WordPress Theme