使用R对共线性检验
高维数据常会出现共线性 、变量选择等问题 。如何消除共线性确定最佳模型,是回归分析的一个重点。 传统的最小二乘估计在处理多重共线性问题上 往往有令人不太满意的地方, 主要有两点: 一是 预测准确性,二是模型可解释性。 目前处理严重共线性的常用方法有以下几种: 主成分回归、逐步回归、岭回归等, 这些方法有各自的优缺点 多重共线性的Lasso 方法兼有子集选择和岭估计的优点,同时进行变 量选择与未知参数估计。选择最佳模型的标准有 Cp、AIC、BIC准则,它们也有各自的适用范围。(Mallows Cp 统计量用来作为逐步回归的判停规则,对于一个好的模型,它的Cp统计量非常接近于模型的参数数目)
Robert
Tibshirani (就是R中MASS以及 The Elements of Statistical Learning的作者之一)于 1996
年提出了一种新的变 量选择技术Lasso,即 Least Absolute Shrinkage and Selection Operator
就是翻译过来颇显别扭的套索回归, lasso方法用模型系数的绝对值 函数作为惩罚来压缩模型系数,使一些回归系数变
小,甚至使一些绝对值较小的系数直接变为0 。
本文先从普通回归说起:
R语句如下
[plain] view plain copy
library(car)
D=read.csv("/Users/Documents/train_test_model/ridgereg1.csv",sep=",") # 加载数据
a=lm(y~., data=D);summary(a) # 定义模型,summary为输出汇总
vif(a) # 输出模型汇总
得到一下拟合检验参数
[plain] view plain copy
Call:
lm(formula = y ~ ., data = D)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 11.011694 1.718393 6.408 4.94e-06 ***
long 1.692736 0.369589 4.580 0.000232 ***
touwei -2.158831 0.535513 -4.031 0.000783 ***
weight 0.007472 0.001144 6.531 3.87e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.163 on 18 degrees of freedom
Multiple R-squared: 0.9754, Adjusted R-squared: 0.9713
F-statistic: 238.1 on 3 and 18 DF, p-value: 1.14e-14
long
200.013181140721
touwei
209.429825510575
weight
9.68788132590006
通过vif方差膨胀因子可以知道上面三个变量存在严重的共线性,有书中规定超过10就算存在严重共线性同时分析回归系数,婴儿的头围越大,年龄应该越大才对,不应该是负向预测关系,从这里也可以看出一些端倪以上是我们依据数据诊断出多元回归中自变量存在严重共线性,当然在spss中也是可以直接选择,杜宾-瓦特森检验,也是统计分析中常用的一种检验序列一阶自相关最常用的方法。所以不能直接使用常规ols方法。于是请看下面的解决办法。#我们进一步的对检测回归分析的另一个前提--即方差齐性
[plain] view plain copy
library(MASS)
install.packages("gvlma") #导入gvlma包
library(gvlma)
gvmodel <- gvlma(a)
summary(gvmodel)
得到如下参数
[plain] view plain copy
Call:
lm(formula = y ~ ., data = D)
Residuals:
Min 1Q Median 3Q Max
-1.87262 -0.69499 -0.09376 0.74618 2.80676
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 11.011694 1.718393 6.408 4.94e-06 ***
long 1.692736 0.369589 4.580 0.000232 ***
touwei -2.158831 0.535513 -4.031 0.000783 ***
weight 0.007472 0.001144 6.531 3.87e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Call:
gvlma(x = a)
Value p-value Decision
Global Stat 6.6421 0.15605 Assumptions acceptable.
Skewness 0.7794 0.37733 Assumptions acceptable.
Kurtosis 0.1147 0.73484 Assumptions acceptable.
Link Function 1.7108 0.19088 Assumptions acceptable.
Heteroscedasticity 4.0372 0.04451 Assumptions NOT satisfied!
可以得出,异方差性违反,也违反了普通最小二乘建模的前提。如果还是不死心,我们来看看残差分析吧。
#建模试试,看是否存在异常
[plain] view plain copy
lm.sol<-lm(y~.,data=D)
summary(lm.sol)
#可视化,残差与预测散点图
plot(fitted(lm.sol), resid(lm.sol),
cex=1.2, pch=21, col="red", bg="orange"
xlab="Fitted Value", ylab="Residuals")
当描绘的点围绕残差等于0的直线上下随机散布,说明回归直线对原观测值的拟合情况良好。否则,说明回归直线对原观测值的拟合不理想。
在标准化残差图中,大约有95.45%的残差在-2到+2之间 同时,也可以识别异常点,标准化残差小于-3或者大于+3时,就可以判断为异常值。
那么最后大概是可以相信这个模型用最小二乘法是并不合适。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
“最近复购率一直在下降,我们的营销力度不小啊,为什么用户还是走了?” “是不是广告投放的用户质量不高?还是我们的产品问题 ...
2025-02-21以下文章来源于数有道 ,作者数据星爷 SQL查询是数据分析工作的基础,也是CDA数据分析师一级的核心考点,人工智能时代,AI能为 ...
2025-02-19在当今这个数据驱动的时代,几乎每一个业务决策都离不开对数据的深入分析。而其中,指标波动归因分析更是至关重要的一环。无论是 ...
2025-02-18当数据开始说谎:那些年我们交过的学费 你有没有经历过这样的场景?熬了三个通宵做的数据分析报告,在会议上被老板一句"这数据靠 ...
2025-02-17数据分析作为一门跨学科领域,融合了统计学、编程、业务理解和可视化技术。无论是初学者还是有一定经验的从业者,系统化的学习路 ...
2025-02-17挖掘用户价值本质是让企业从‘赚今天的钱’升级为‘赚未来的钱’,同时让用户从‘被推销’变为‘被满足’。询问deepseek关于挖 ...
2025-02-17近来deepseek爆火,看看deepseek能否帮我们快速实现数据看板实时更新。 可以看出这对不知道怎么动手的小白来说是相当友好的, ...
2025-02-14一秒精通 Deepseek,不用找教程,不用买资料,更不用报一堆垃圾课程,所有这么去做的,都是舍近求远,因为你忽略了 deepseek 的 ...
2025-02-12自学 Python 的关键在于高效规划 + 实践驱动。以下是一份适合零基础快速入门的自学路径,结合资源推荐和实用技巧: 一、快速入 ...
2025-02-12“我们的利润率上升了,但销售额却没变,这是为什么?” “某个业务的市场份额在下滑,到底是什么原因?” “公司整体业绩 ...
2025-02-08活动介绍 为了助力大家在数据分析领域不断精进技能,我们特别举办本期打卡活动。在这里,你可以充分利用碎片化时间在线学习,让 ...
2025-02-071、闺女,醒醒,媒人把相亲的带来了。 我。。。。。。。 2、前年春节相亲相了40个, 去年春节相亲50个, 祖宗,今年你想相多少个 ...
2025-02-06在数据科学的广阔领域中,统计分析与数据挖掘占据了重要位置。尽管它们常常被视为有关联的领域,但两者在理论基础、目标、方法及 ...
2025-02-05在数据分析的世界里,“对比”是一种简单且有效的方法。这就像两个女孩子穿同一款式的衣服,效果不一样。 很多人都听过“货比三 ...
2025-02-05当我们只有非常少量的已标记数据,同时有大量未标记数据点时,可以使用半监督学习算法来处理。在sklearn中,基于图算法的半监督 ...
2025-02-05考虑一种棘手的情况:训练数据中大部分样本没有标签。此时,我们可以考虑使用半监督学习方法来处理。半监督学习能够利用这些额 ...
2025-02-04一、数学函数 1、取整 =INT(数字) 2、求余数 =MOD(除数,被除数) 3、四舍五入 =ROUND(数字,保留小数位数) 4、取绝对值 =AB ...
2025-02-03作者:CDA持证人 余治国 一般各平台出薪资报告,都会哀嚎遍野。举个例子,去年某招聘平台发布《中国女性职场现状调查报告》, ...
2025-02-02真正的数据分析大神是什么样的呢?有人认为他们能轻松驾驭各种分析工具,能够从海量数据中找到潜在关联,或者一眼识别报告中的数 ...
2025-02-01现今社会,“转行”似乎成无数职场人无法回避的话题。但行业就像座围城:外行人看光鲜,内行人看心酸。数据分析这个行业,近几年 ...
2025-01-31