回归模型-岭回归和lasso回归★★★

该博客为个人学习清风建模的学习笔记,部分课程可以在B站:【强烈推荐】清风:数学建模算法、编程和写作培训的视频课程以及Matlab等软件教学_哔哩哔哩_bilibili

目录

1古典回归模型 

1.1线性假定

​1.2严格外生性

​1.3无完全多重共线性

1.4球型扰动项 

2岭回归

2.1岭迹分析

2.2VIF法

2.3最小化均方预测误差

 3Lasso回归

4应用

4.1安装lassopack命令

4.2分析棉花产量例题

4.3代码 

5总结


 

名称重要性难度
岭回归和lasso回归★★★★★★★

 博主其他回归模型地址:回归模型-多元线性回归分析★★★★★-CSDN博客

        在第七讲时,我们介绍了多元线性回归模型,估计回归系数使用的是OLS,并在最后探讨了异方差和多重共线性对于模型的影响。事实上,回归中关于自变量的选择大有门道,变量过多时可能会导致多重共线性问题造成回归系数的不显著,甚至造成OLS 估计的失效。
        本节介绍到的岭回归和lasso 回归在 OLS 回归模型的损失函数上加上了不同的惩罚项,该惩罚项由回归系数的函数构成,一方面,加入的惩罚项能够识别出模型中不重要的变量,对模型起到简化作用,可以看作逐步回归法的升级版;另一方面,加入的惩罚项能够让模型变得可估计,即使之前的数据不满足列满秩,在稍后的原理推导中我们将更加详细的说明这一点。

1古典回归模型 

古典回归模型需要满足以下四点假定:

1.1线性假定

1.2严格外生性

保证估计出来的回归系数无偏且一致

 1.3无完全多重共线性

保证系数能够估计出来

1.4球型扰动项 

2岭回归

岭回归 (Ridge regression: Hoerl and Kennard, 1970)  的原理和 OLS  估计类似,但是对系数的大小设置了惩罚项。

如何选择\lambda?

2.1岭迹分析

使用少,主观性太强

2.2VIF法

2.3均方预测误差

 3Lasso回归

4应用

Stata  中,我们可以安装 lassopack 命令来实现 Lasso  回归,Lassopack 包含三个与 Lasso  相关的子命令(输入 help lassopack 可以查看详情): 子命令 lasso2  可进行 Lasso  估计 子命令 cvlasso 可进行 折交叉验证( k‐fold cross  validation ); 子命令 rlasso 可以估计惩罚项由数据决定或者高维情形(变量维度超过样本数)。
另外,大多数博客或讲义上都是使用Python 来做岭回归和 lasso 回归的,因此有 python 机器学习基础的同学可以自己查阅相关的调用代码。
另外, Stata 中对于岭回归的估计有点 bug ,因此我们下面只讲 Lasso 回归的估计,有兴趣的同学可以看这个文章:https://zhuanlan.zhihu.com/p/53905488

4.1安装lassopack命令

4.2分析棉花产量例题

 

4.3代码 

// 清空工作区数据
clear
// 安装lassopack命令,见课件
// findit lassopack   
// 导入数据,注意修改Excel文件的地址
import excel "C:\Users\hc_lzp\Desktop\数学建模视频录制\A01更新\岭回归和lasso回归\数据和拓展资料\棉花产量论文作业的数据.xlsx", sheet("data") firstrow
// 注意:这里自变量的量纲相同所以不用标准化,如果需要标准化,那么可以借助Matlab的zscore函数,或者直接使用SPSS(分析-描述统计-描述:在描述列表的方框左下角,看到“将标准化得分另存为变量(Z)之后点击打勾,然后确定。)
// Stata中也有相应的标准化变量的命令,不过一次只能标准化一个变量,例如: egen Y = std(单产)   这个代码就表示将单产标准化,得到的变量记为Y
cvlasso 单产 种子费 化肥费 农药费 机械费 灌溉费, lopt seed(520)

5总结

何时使用lasso回归?

我们首先使用最一般的 OLS 对数据进行回归,然后计算方差膨胀因子VIF,如果 VIF>10 则说明存在多重共线性的问题,此时我们需要对变量进行筛选。
在第七讲时我们提到可以使用逐步回归法来筛选自变量,让回归中仅留下显著的自变量来抵消多重共线性的影响,学完本讲后,大家完全可以把lasso 回归视为逐步回归法的进阶版,我们可以使用 lasso 回归来帮我们筛选出不重要的变量,步骤如下:
(1 )判断自变量的量纲是否一样,如果不一样则首先进行标准化的预处理;
(2 )对变量使用 lasso 回归,记录下lasso回归结果表中回归系数不为 0 的变量,这些变量就是最终我们要留下来的重要变量,其余未出现在表中的变量可视为引起多重共线性的不重要变量。
在得到了重要变量后,我们实际上就完成了变量筛选,此时我们只将这些重要变量视为自变量,然后进行回归,并分析回归结果即可。(注意:此时的变量可以是标准化前的,也可以是标准化后的,因为lasso 只起到变量筛选的目的)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值