基于Python的岭回归模型

article/2025/9/13 0:33:48
本文是使用Python进行岭回归模型分析,消除多重共线性

一、岭回归原理

自变量之间存在多重共线性,当时,加上一个正的常数矩阵(K>0),岭回归估计定义公式:

(k为岭参数)

的奇异程度比奇异程度小,其实就是减少了自变量之间的影响,消除多重共线性。其中X是标准化后的矩阵。

由于k是不确定的值,所以就会取一定k值范围,画岭迹图观察最佳的k值。

二、岭迹法

就是画出岭迹图,然后通过观察每个变量的岭迹变化趋势,剔除变化趋势大的自变量,使的岭回归估计变得平稳,由于这种观察具有较强的主观性,因此算是岭回归的一个不足,但是可以根据这个点进行一些其他的定性或者定量的分析。

三、多重共线性的判断

可以阅读这篇文章😘

https://blog.csdn.net/DL11007/article/details/129196843

四、代码实现

from sklearn.datasets import make_regression
from sklearn.linear_model import Ridge
from sklearn.metrics import mean_squared_error
import pandas as pd#读取数据
df = pd.read_csv('文件路径')  #这里数据以含有四个自变量为例#建模
result = smf.ols('y~x1+x2+x3+x4',data = df).fit()# 计算方差扩大因子(多重共线性判断)
VIFlist = []
for i in range(1, 3, 1):vif = variance_inflation_factor(result.model.exog, i)VIFlist.append(vif)
print(pd.Series(VIFlist))#岭回归处理(即原理部分)
eps = list(np.random.randn(25))  # 误差项,个数是由数据的条数决定
y = -1.1584 + 0.0547 * df['x1'] + 0.1341 * df['x2'] -0.0548 * df['x3']-0.0320* df['x4'] + eps
df['y'] = y  #覆盖原来的y值#岭回归模型
dfnorm = (df - df.mean()) / df.std() #标准化自变量矩阵
# 切片将x和y分开
Xnorm = dfnorm.iloc[:, 1:]
ynorm = df.iloc[:, 0]clf = Ridge()  #岭回归函数
coefs = []   #存放岭回归估计值
errors = []  #存放残差alphas = np.linspace(0.1, 30, 2000)  #步长为0.1, 取30个alpha值#遍历每个alpha值,计算出一系列的岭回归估计值
for a in alphas:clf.set_params(alpha=a)clf.fit(dfnorm, ynorm)coefs.append(clf.coef_)#画岭回归图
plt.subplot(111)  #创建一个画布
ax = plt.gca()   #gca()一个坐标轴的设置函数
ax.plot(alphas, coefs, label=list(Xnorm.keys()))   #画图
ax.legend(list(Xnorm.keys()), loc='best')  #设置图例
plt.xlabel('alpha')
plt.ylabel('weights')
plt.title('Ridge coefficients as a function of the regularization')
plt.axis('tight')
plt.show()#下面就是删除调变化趋势大的自变量,重复上面的所有的操作,直到一个最优的结果,然后确定k值

总结:

以上就是本次的内容,有疑问和错误的望指出,一起学习和进步!😘


http://chatgpt.dhexx.cn/article/1td9tcad.shtml

相关文章

用SPSS进行岭回归分析

打开SPSS将数据输入到SPSS中。 点击左上角文件->新建->语法 输入 * Encoding: UTF-8. INCLUDE D:\Program Files\IBM\SPSS\Statistics\27\Samples\Simplified Chinese\Ridge regression.sps. ridgereg enter x1 x2 x3 x4 x5 x6 x7 x8 x9 x10/depy.include内容需要自己寻找…

R语言与岭回归

岭参数的一般选择原则 选择k(或lambda)值,使得:各回归系数的岭估计基本稳定用最小二乘估计时符号不合理的回归系数,其岭回归的符号变得合理回归系数没有不合乎实际意义的绝对值残差平方和增大的不多 用R语言进行岭回归…

岭回归(Ridge Regression)及实现

岭回归(Ridge Regression)及实现 https://blog.csdn.net/google19890102/article/details/27228279 一、一般线性回归遇到的问题 在处理复杂的数据的回归问题时,普通的线性回归会遇到一些问题,主要表现在: 在处理复杂的数据的回归问题时&…

岭回归(R语言)

代码实现如下&#xff1a; data3.3<-read.csv("C:/Users/Administrator/Desktop/data3.3.csv",headTRUE) datas<-data.frame(scale(data3.3[,1:6])) # 对样本数据进行标准化处理并转换为数据框的存储格式 library(MASS) ridge3.3<-lm.ridge(y~.-1,datas,l…

多元线性回归-岭回归

目录 1.精确相关关系 2.高度相关关系 3.多重共线性与相关性 4.岭回归 5.linear_model.Ridge 5.1.案例1&#xff1a;加利福尼亚房屋价值数据 5.2.案例2:波士顿房价数据集 6.选取最佳正则化参数取值 1.精确相关关系 精确相关关系&#xff0c;即完全相关。如矩阵A并不是满…

回归——岭回归

1、作用 岭回归是一种专用于共线性数据分析的有偏估计回归方法&#xff0c;实质上是一种改良的最小二乘估计法&#xff0c;通过放弃最小二乘法的无偏性&#xff0c;以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法&#xff0c;对病态数据的拟合要强…

【机器学习04】岭回归

4 岭回归 4.1 简介 普通线性回归模型使用基于梯度下降的最小二乘法&#xff0c;在最小化损失函数的前提下&#xff0c;寻找最优模型参数&#xff0c;在此过程中&#xff0c;包括少数异常样本在内的全部训练数据都会对最终模型参数造成程度相等的影响&#xff0c;异常值对模型…

机器学习——岭回归

岭回归的简单介绍 什么是岭回归&#xff1f;什么时候要用到岭回归&#xff1f;岭回归是一种解决标准方程法不能求逆矩阵时的办法。我们都知道&#xff0c;用标准方程法最大的一个缺点就是当数据的特征多于数据的样本时&#xff0c;标准方程法是不能使用的&#xff0c;因为不能…

数学建模学习:岭回归和lasso回归

线性回归 在多元线性回归模型中&#xff0c;估计回归系数使用的是OLS&#xff0c;并在最后讨论异方差和多重共线性对模型的影响。事实上&#xff0c;回归中自变量的选择大有门道&#xff0c;变量过多可能会导致多重共线性问题导致回归系数不显著&#xff0c;甚至造成OLS估计失…

python机器学习| 岭回归介绍及实现

岭回归介绍及实现 1 岭回归的引入2 岭回归的原理2.1 原理介绍2.2 原理代码实现 3 API 实现 1 岭回归的引入 在线性回归-正规方程和梯度下降中&#xff0c;我们介绍了基于正规方程或者梯度下降的优化算法&#xff0c;来寻找最优解。 在正规方程解中&#xff0c;它是基于直接求导…

岭回归与lasso回归算法

模型压缩与正则化主要包含岭回归&#xff08;Ridge regression&#xff09;和Lasso两种方法&#xff0c;二者的主要原理是将系数往等于0的方向压缩。 岭回归 lasso 全称&#xff1a;Least absolute shrinkage and selection operator最小绝对缩减和选择算子 一、岭回归示…

岭回归-回归实操

python 岭回归算法之回归实操 基本概念 正则化 正则化是指对模型做显式约束&#xff0c;以避免过拟合。本文用到的岭回归就是L2正则化。&#xff08;从数学的观点来看&#xff0c;岭回归惩罚了系数的L2范数或w的欧式长度&#xff09; 正则化的具体原理就不在这里多叙述了&a…

线性回归与岭回归

目录 一、什么是线性回归 1.线性回归简述 2.数组和矩阵 3.线性回归的算法 二、权重的求解 1.正规方程 2.梯度下降 三、线性回归案例 1.案例概述 2.数据获取 3.数据分割 4.数据标准化 5.模型训练 6.回归性能评估 7.梯度下降与正规方程区别 四、岭回归Ridge 1.过拟…

什么是岭回归?

问题引出&#xff1a; 当使用最小二乘法解决一下线性回归&#xff1a; 假设:已知x1,x2与y的关系服从线性回归模型&#xff1a; y102x13x2c 当x1和x2存在线性相关性时&#xff0c;使用最小二乘法来预测回归模型&#xff0c;就变得困难起来&#xff0c;因此物品们必须使用逐步回…

岭回归总结

岭回归存在的目的&#xff1a; 解决多重共线性下&#xff0c;最小二乘估计失效的问题 岭回归的作用&#xff1a;(在引入变量太多&#xff0c;又存在多重共线性&#xff0c;难以抉择去留哪个变量时可以通过该方法筛选变量) 1.找出多重共线性的变量&#xff0c;并提剔除部分 2…

岭回归(ridge regression)

岭回归&#xff08;ridge regression&#xff09; 在处理回归问题时&#xff0c;常遇到的问题 在处理复杂的数据的回归问题时&#xff0c;普通的线性回归会遇到一些问题&#xff0c;主要表现在&#xff1a;   预测精度&#xff1a;这里要处理好这样一对为题&#xff0c;即样…

【回归分析】一文读懂岭回归,附案例教学

1、作用 岭回归是一种专用于共线性数据分析的有偏估计回归方法&#xff0c;实质上是一种改良的最小二乘估计法&#xff0c;通过放弃最小二乘法的无偏性&#xff0c;以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法&#xff0c;对病态数据的拟合要强…

人工智能——岭回归(Python)

目录 1 概述 1.1 线性回归 1.2 岭回归 1.3 过拟合 2 sklearn中的岭回归 3 案例 3.1 数据介绍&#xff1a; 3.2 实验目的&#xff1a; 3.3 数据特征如下&#xff1a; 4 Python实现 4.1 代码 4.2 结果 5 正则化 1 概述 1.1 线性回归 对于一般地线性回归问题&am…

岭回归(Ridge Regression)和Lasso回归

1、岭回归&#xff08;Ridge Regression&#xff09; 标准线性回归&#xff08;简单线性回归&#xff09;中&#xff1a; 如果想用这个式子得到回归系数&#xff0c;就要保证(X^TX)是一个可逆矩阵。 下面的情景&#xff1a;如果特征的数据比样本点还要多&#xff0c;数据特征…

岭回归详解 从零开始 从理论到实践

岭回归详解 从零开始 从理论到实践 一、岭回归的理解1.1、LinearRegression的回顾1.2、岭回归 - Ridge Regression 二、sklearn的使用2.1、方法、参数与属性2.1.1、特征标准化 - StandardScaler2.1.2、岭回归 - Ridge2.1.3、内置交叉验证岭回归 - RidgeCV 2.2、实例应用2.2、简…