本文介绍具有分组惩罚的线性回归、GLM和Cox回归模型的正则化路径。
这包括组选择方法,如组lasso套索、组MCP和组SCAD,以及双级选择方法,如组指数lasso、组MCP。
结果是连续测量(bwt,以公斤为单位的出生体重),也可以是二分法(低),即新生儿出生体重低(低于2.5公斤)。
head(X)
原始设计矩阵由 8 个变量组成,此处已将其扩展为 16 个特征。例如,有多个种族指标函数(“其他”是参考组),并且已经使用多项式对比扩展了几个连续因素(例如年龄)(样条曲线会给出类似的结构)。因此,设计矩阵的列被 _分组_;这就是_组_的设计目的。分组信息编码如下:
group
在这里,组是作为一个因子给出的;唯一的整数代码(本质上是无标签的因子)和字符向量也是允许的(然而,字符向量确实有一些限制,因为组的顺序没有被指定)。要对这个数据拟合一个组套索lasso模型。
gLas(X, y,grup)
然后我们可以用以下方法绘制系数路径
plot
请注意,当一个组进入模型时(例如,绿色组),它的所有系数都变成非零;这就是组套索模型的情况。要想知道这些系数是什么,我们可以使用coef。
请注意,在λ=0.05时,医生的就诊次数不包括在模型中。
为了推断模型在各种 λ值下的预测准确性,进行交叉验证。
cv(X, y, grp)
可以通过coef
以下方式获得与最小化交叉验证误差的 λ 值对应的系数 :
coef(cvfit)
随时关注您喜欢的主题
预测值可以通过 获得 predict
,它有许多选项:
predict # 对新观察结果的预测
predicttype="ngroups" # 非零组的数量
# 非零组的身份
nvars # 非零系数的数量
predict(fit # 非零系数的身份
原始拟合(对完整数据集)返回为fit
; 其他几种惩罚是可用的,逻辑回归和 Cox 比例风险回归的方法也是如此。
可下载资源
关于作者
Kaizong Ye是拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。
本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。
非常感谢您阅读本文,如需帮助请联系我们!