使用LASSO进行子集选择涉及分类变量

问题描述 投票:2回答:1

我在具有多个分类变量的数据集上运行了LASSO算法。当我在自变量上使用model.matrix()函数时,它会自动为每个因子级别创建虚拟值。

例如,我有一个变量“worker_type”,它有三个值:FTE,contr,other。这里,参考是模态“FTE”。

其他一些分类变量具有更多或更少的因子水平。

当我从LASSO输出系数结果时,我注意到worker_typecontr和worker_typeother都有系数零。我该如何解释结果呢?在这种情况下,FTE的系数是多少?我应该从公式中取出这个变量吗?

r categorical-data lasso
1个回答
0
投票

也许这个问题更适合Cross Validated。

Ridge Regression和Lasso都是“收缩”方法,通常用于处理高维预测器空间。

事实上,你的Lasso回归将一些β系数降低到零,这表明Lasso正在做的正是它的设计目标!通过其数学定义,Lasso假设许多系数真正等于零。对零的系数的解释是这些预测因子不能解释响应与非零预测因子相比的任何变化。

为什么套索会将一些系数缩小到零?我们需要研究如何选择系数。套索本质上是一个多元线性回归问题,通过最小化剩余平方和加上一个特殊的L1惩罚项来解决,该系数将系数收缩为0.这是最小化的术语:

enter image description here

其中p是预测变量的数量,lambda是非负调整参数。当lambda = 0时,惩罚项会消失,并且您有一个多元线性回归。随着lambda变大,你的模型拟合将具有更小的偏差,但更高的方差(即 - 它将受到过度拟合)。

应该采用交叉验证方法来选择适当的调整参数lambda。获取lambda值的网格,并计算lambda的每个值的交叉验证错误,并选择交叉验证错误最低的调整参数值。

套索在某些情况下很有用,并且有助于生成简单的模型,但应特别考虑数据本身的性质,并且考虑到应该有多少预测因子,其他方法(例如岭回归或OLS回归)是否更合适与回应真正相关。

注意:请参阅“统计学习简介”中的第221页的公式6.7,您可以免费下载here

© www.soinside.com 2019 - 2024. All rights reserved.