
用主成分法解决多重共线性问题
一、多重共线性的表现
线性回归模型中的解释变量之间由于存在精确相关关系或高度相关关系。看似相互独立的指标本质上是相同的,是可以相互代替的,但是完全共线性的情况并不多见,一般出现的是在一定程度上的共线性,即近似共线性。
二、多重共线性的后果
1.理论后果
多重共线性是因为变量之间的相关程度比较高。
按布兰查德认为, 在计量经济学中, 多重共线性实质上是一个“微数缺测性”问题,就是说多重共线性其实是由样本容量太小所造成,当样本容量越小,多重共线性越严重。
多重共线性的理论主要后果:
(1)完全共线性下参数估计量不存在;
(2)近似共线性下OLS估计量非有效;
(3)模型的预测功能失效;
(4)参数估计量经济含义不合理
2.现实后果
(1)各个解释变量对指标最后结论影响很难精确鉴别;
(2)置信区间比原本宽,使得接受假设的概率更大;
(3)统计量不显著;
(4)拟合优度的平方会很大;
(5)OLS估计量及其标准误对数据微小的变化也会很敏感。
三、多重共线性产生的原因
2. 由于研究的经济变量随时间往往有共同的变化趋势,他们之间存在着共性。例如当经济繁荣时,反映经济情况的指标有可能按着某种比例关系增长
3. 滞后变量。滞后变量的引入也会产生多重共线行,例如本期的消费水平除受本期的收入影响之外,还有可能受前期的收入影响,建立模型时,本期的收入水平就有可能和前期的收入水平存在着共线性。
四、多重共线性的识别
1.方差扩大因子法( VIF)
一般认为如果最大的VIF超过10,常常表示存在多重共线性。
2.容差容忍定法
如果容差(tolerance)<=0.1,常常表示存在多重共线性。
3. 条件索引
条件索引(condition index)>10,可以说明存在比较严重的共线性。
五、多重共线性的处理方法
处理方法有多重增加样本容量、剔除因子法、PLS(偏最小二乘法)、岭回归法、主成分法。
今天着重介绍——主成分法。
当自变量间有较强的线性相关性时,利用个p个变量的主成分,所具有的性质,如果他们是互不相关的,可由前m个主成z1、z2、zm来建立回归模型。
由原始变量的观测数据计算前个主成分的得分值,将其作为主成分的观测值,建立Y与主成分的回归模型即得回归方程。这时p元降为m元,这样既简化了回归方程的结构,且消除了变量间相关性带来的影响
六、实际的应用
我们以下这个模型分析主营业务利润的影响
Opinci,t=a0+a1*Intani,t+a2*Ppei,t+a3*Opinci,t-1+a4*Levi,t+a5*Asseti,t +ξi,t
1、回归分析
2、结果
对自变量主成分法从多重共线性的识别方法来看,此模型中存在共线性问题,Ppei,t是影响因子。
3、对自变量主成分法
由于spss没有独立的主成分分析模块,需要在因子分析里完成,因此需要特别注意。
在数据窗口下选择“分析”—“降维”—“因子分析。
3.1 结果
从KMO 和 Bartlett 的检验得知p<0.001,KMO检验通过,适合做主成分或因子分析,从解释的总方差表里初始特征值两个主成分(初始因子)贡献率已达86.89%,提取前两个主成分用于分析。
由成分矩阵和表解释的总方差可计算前两个特征向量,用成分矩阵前两列分别除以前两个特征值的平方根得前两个主成分表达式:
F1=0.4726Opinci,t-1+0.4854 Instani,t +0.5371Ppei,t+ 0.0534Levi,t+ 0.4995Asseti,t(式1)
F2=-0.1219Opinci,t-1-0.0510Instani,t -0.0497 Ppei,t+ 0.9837Levi,t+0.1131 Asseti,t(式2)
其中Opinci,t-1、 Instani,t 、Ppei,t、 Levi,t、 Asseti,t表示为标准化变量(这是因为在进行主成分分析时是以标准化变量进行分析的,是从相关阵出发分析的)
由于主成分互不相关,可以用提取的主成分代替自变量进行回归分析,因此需要计算主成分得分来代替自变量Opinci,t-1、 Instani,t 、Ppei,t、 Levi,t、 Asseti,t。
主成分的计算:依据式1和2中两个主成分的表达式,对各自变量标准化后带入就可以计算出每个样品的主成分得分。
但是在spss中,由因子分析提取时是用主成分法提取的,根据初始因子与主成分的关系,未旋转的初始因子等于主成分除以特征根的平方根,因此主成分得分等于因子得分乘以特征根的平方根,可以由因子得分计算主成分得分。
前面在因子分析选项中保存了因子得分(因子得分保存变量),因此计算两个主成分得分:点击“转换”—“计算变量”。
在弹出的窗口分别定义主成分
F1=第一因子得分*第一特征根的平方根
F2=第二因子得分*第二特征根的平方根
(3)主成分回归过程
要做主成分回归,需要用标准化的因变量(因为自变量经过标准化处理做主成分分析,因变量需要对应做标准化)与主成分做回归,对因变量Opinci,t做标准化处理。
点击“分析”-“描述统计”-“描述”,在弹出窗口中将Opinci,t调入变量,并选中“将标准化得分另存为变量”后确定完成Opinci,t的标准化。
点击“分析”-“回归”-“线性”在弹出窗口中将Z主营业务利润(y)调入因变量,F1和F2调入自变量,其他选项如前,然后点击“确定”运行主成分回归。
相关输出结果:
由表可知,标准化Opinci,t对两个主成分的线性回归p<0.001,通过显著性检验,没有多重共线性,回归系数合理。
Zscore:(Opinci,t) =0.475F1-0.117F2,将前面F1、F2的表达式(式1和2)带入可得标准化Opinci,t关于标准化自变量的回归方程:
Zscore:(Opinci,t)=
0.2388Opinci,t-1+0.2365Instani,t +0.2609Ppei,t-0.0897Levi,t+ 0.2240Asseti,t
求得最终回归结果。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在数据成为新时代“石油”的今天,几乎每个职场人都在焦虑: “为什么别人能用数据驱动决策、升职加薪,而我面对Excel表格却无从 ...
2025-10-18数据清洗是 “数据价值挖掘的前置关卡”—— 其核心目标是 “去除噪声、修正错误、规范格式”,但前提是不破坏数据的真实业务含 ...
2025-10-17在数据汇总分析中,透视表凭借灵活的字段重组能力成为核心工具,但原始透视表仅能呈现数值结果,缺乏对数据背景、异常原因或业务 ...
2025-10-17在企业管理中,“凭经验定策略” 的传统模式正逐渐失效 —— 金融机构靠 “研究员主观判断” 选股可能错失收益,电商靠 “运营拍 ...
2025-10-17在数据库日常操作中,INSERT INTO SELECT是实现 “批量数据迁移” 的核心 SQL 语句 —— 它能直接将一个表(或查询结果集)的数 ...
2025-10-16在机器学习建模中,“参数” 是决定模型效果的关键变量 —— 无论是线性回归的系数、随机森林的树深度,还是神经网络的权重,这 ...
2025-10-16在数字化浪潮中,“数据” 已从 “辅助决策的工具” 升级为 “驱动业务的核心资产”—— 电商平台靠用户行为数据优化推荐算法, ...
2025-10-16在大模型从实验室走向生产环境的过程中,“稳定性” 是决定其能否实用的关键 —— 一个在单轮测试中表现优异的模型,若在高并发 ...
2025-10-15在机器学习入门领域,“鸢尾花数据集(Iris Dataset)” 是理解 “特征值” 与 “目标值” 的最佳案例 —— 它结构清晰、维度适 ...
2025-10-15在数据驱动的业务场景中,零散的指标(如 “GMV”“复购率”)就像 “散落的零件”,无法支撑系统性决策;而科学的指标体系,则 ...
2025-10-15在神经网络模型设计中,“隐藏层层数” 是决定模型能力与效率的核心参数之一 —— 层数过少,模型可能 “欠拟合”(无法捕捉数据 ...
2025-10-14在数字化浪潮中,数据分析师已成为企业 “从数据中挖掘价值” 的核心角色 —— 他们既要能从海量数据中提取有效信息,又要能将分 ...
2025-10-14在企业数据驱动的实践中,“指标混乱” 是最常见的痛点:运营部门说 “复购率 15%”,产品部门说 “复购率 8%”,实则是两者对 ...
2025-10-14在手游行业,“次日留存率” 是衡量一款游戏生死的 “第一道关卡”—— 它不仅反映了玩家对游戏的初始接受度,更直接决定了后续 ...
2025-10-13分库分表,为何而生? 在信息技术发展的早期阶段,数据量相对较小,业务逻辑也较为简单,单库单表的数据库架构就能够满足大多数 ...
2025-10-13在企业数字化转型过程中,“数据孤岛” 是普遍面临的痛点:用户数据散落在 APP 日志、注册系统、客服记录中,订单数据分散在交易 ...
2025-10-13在数字化时代,用户的每一次行为 —— 从电商平台的 “浏览→加购→购买”,到视频 APP 的 “打开→搜索→观看→收藏”,再到银 ...
2025-10-11在机器学习建模流程中,“特征重要性分析” 是连接 “数据” 与 “业务” 的关键桥梁 —— 它不仅能帮我们筛选冗余特征、提升模 ...
2025-10-11在企业的数据体系中,未经分类的数据如同 “杂乱无章的仓库”—— 用户行为日志、订单记录、商品信息混杂存储,CDA(Certified D ...
2025-10-11在 SQL Server 数据库操作中,“数据类型转换” 是高频需求 —— 无论是将字符串格式的日期转为datetime用于筛选,还是将数值转 ...
2025-10-10