共计 2275 个字符,预计需要花费 6 分钟才能阅读完成。
全文下载链接:http://tecdat.cn/?p=20828
最近咱们被客户要求撰写对于非凸惩办函数回归的钻研报告,包含一些图形和统计输入。
在本文中,应用 lasso 或非凸惩办拟合线性回归,GLM 和 Cox 回归模型的正则化,特地是_最小_最_大凹_度_惩办_函数_(MCP)_和润滑切片相对偏差惩办(SCAD),以及其余 L2 惩办的选项(“弹性网络”)
还提供了用于执行穿插验证以及拟合后可视化,摘要,推断和预测的实用程序。
咱们钻研 前列腺数据,它具备 8 个变量和一个间断因变量,行将进行根治性前列腺切除术的男性的 PSA 程度(按对数尺度):
X <- data$X
y <- data$y
要将惩办回归模型拟合到此数据,执行以下操作:
reg(X, y)
此处的默认惩办是_最小_最_大凹_度_惩办_函数_(MCP)_,但也能够应用 SCAD 和 lasso 惩办。这将产生一个系数门路,咱们能够绘制
plot(fit)
留神,变量一次输出一个模型,并且在 λ 的任何给定值下,几个系数均为零。要查看系数是多少,咱们能够应用以下 coef
函数:
coef(fit, lambda=0.05)
# (Intercept) lcavol lweight age lbph svi
# 0.35121089 0.53178994 0.60389694 -0.01530917 0.08874563 0.67256096
# lcp gleason pgg45
# 0.00000000 0.00000000 0.00168038
点击题目查阅往期内容
r 语言中对 LASSO 回归,Ridge 岭回归和弹性网络 Elastic Net 模型实现
左右滑动查看更多
01
02
03
04
该 summary
办法可用于后_抉择推断_:
summary(fit
# MCP-penalized linear regression with n=97, p=8
# At lambda=0.0500:
# -------------------------------------------------
# Nonzero coefficients : 6
# Expected nonzero coefficients: 2.54
# Average mfdr (6 features) : 0.424
#
# Estimate z mfdr Selected
# lcavol 0.53179 8.880 < 1e-04 *
# svi 0.67256 3.945 0.010189 *
# lweight 0.60390 3.666 0.027894 *
# lbph 0.08875 1.928 0.773014 *
# age -0.01531 -1.788 0.815269 *
# pgg45 0.00168 1.160 0.917570 *
在这种状况下,即便调整了模型中的其余变量之后,lcavol
,svi
以及 lweight
显然与因变量关联,同时 lbph
,age
和 pgg45
可能只是_偶尔_包含。通常,为了评估模型在 λ 的各种值下的预测准确性,将执行穿插验证:
plot(cvfit)
使穿插验证误差最小的 λ 的值由 cvfit$lambda.min
给出,在这种状况下为 0.017。将coef
在 return 的输入 利用于 cv.ncvreg
λ 的值的系数:
coef
# (Intercept) lcavol lweight age lbph svi
# 0.494154801 0.569546027 0.614419811 -0.020913467 0.097352536 0.752397339
# lcp gleason pgg45
# -0.104959403 0.000000000 0.005324465
能够通过 predict
来取得预测值,该选项有多种抉择:
predict(cvfit
# 预测新观测后果的响应
# 1 2 3 4 5 6
# 0.8304040 0.7650906 0.4262072 0.6230117 1.7449492 0.8449595
# 非零系数的数量
# 0.01695
# 7
# 非零系数的个性
# lcavol lweight age lbph svi lcp pgg45
# 1 2 3 4 5 6 8
请留神,原始拟合(至残缺数据集)的后果为 cvfit$fit
;不用同时调用两者 ncvreg
和 cv.ncvreg
剖析数据集。
如,plot(cvfit$fit)
将产生与上述雷同的系数门路图 plot(fit)
。
本文摘选 《 R 语言中应用非凸惩办函数回归 (SCAD、MCP) 剖析前列腺数据 》,点击“ 浏览原文”获取全文残缺代码、数据资料。
点击题目查阅往期内容
Python 中的 Lasso 回归之最小角算法 LARS
r 语言中对 LASSO 回归,Ridge 岭回归和弹性网络 Elastic Net 模型实现
R 语言实现 LASSO 回归——本人编写 LASSO 回归算法
R 应用 LASSO 回归预测股票收益
R 语言如何和何时应用 glmnet 岭回归
R 语言中的岭回归、套索回归、主成分回归:线性模型抉择和正则化
R 语言狭义线性模型 GLM、多项式回归和狭义可加模型 GAM 预测泰坦尼克号幸存者
R 语言用 Rshiny 摸索 lme4 狭义线性混合模型(GLMM)和线性混合模型(LMM)
R 语言应用 bootstrap 和增量法计算狭义线性模型(GLM)预测置信区间
R 语言狭义线性模型 (GLMs) 算法和零收缩模型剖析
R 语言中狭义线性模型 (GLM) 中的散布和连贯函数剖析
R 语言中 GLM(狭义线性模型),非线性和异方差可视化剖析
R 语言中的狭义线性模型(GLM)和狭义相加模型(GAM):多元(平滑)回归剖析保险资金投资组合信用风险敞口
R 和 Python 机器学习: 狭义线性回归 glm,样条 glm,梯度加强,随机森林和深度学习模型分