首页 > 其他分享 >R语言用非凸惩罚函数回归(SCAD、MCP)分析前列腺数据|附代码数据

R语言用非凸惩罚函数回归(SCAD、MCP)分析前列腺数据|附代码数据

时间:2023-06-26 23:02:26浏览次数:59  
标签:惩罚 用非 语言 回归 SCAD 广义 线性 模型 MCP

使用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,梯度增强,随机森林和深度学习模型分

标签:惩罚,用非,语言,回归,SCAD,广义,线性,模型,MCP
From: https://www.cnblogs.com/tecdat/p/17507373.html

相关文章

  • XAMPP使用非80端口的安装配置修改
    我电脑上由于有IIS,并且IIS使用了80端口,所以我需要把apache使用非80端口,修改的地方如下:我是把XAMPP安装在D:\xampp\目录下的D:\xampp\apache\conf\httpd.conf文件修改下面2个地方:Listen8081ServerNamelocalhost:8081另外,我们不需要SSL,所以也是这个文件中注释掉下面这一行:In......
  • 安全警告:使用非微软官方Windows镜像安装系统的公司或同学们请注意!
    杀毒软件公司DoctorWeb6月13发布公告:非官方发布的Windows系统安装镜像可能内置木ma,此木ma内置于系统的EFI分区,不容易被杀毒软件识别,专门用来盗取电脑使用者的加密钱包密码。公告链接:https://news.drweb.com/show/?i=14712在我所有视频课程中,我都强烈建议用到的软件尽量从官方下载......
  • 直流输电模型基于pscad仿真软件的3端直流输电模型。
    直流输电模型基于pscad仿真软件的3端直流输电模型。ID:6950595644203465......
  • FPGA verilog can mcp2515 altera xilinx工程 代码 程序 .
    FPGAverilogcanmcp2515alteraxilinx工程代码程序...altera、xilinx工程均提供...标准帧、扩展帧均提供...提供仿真激励文件testbench资料包清单:1.程序:altera/xilinx工程代码、Verilog/testbench均提供。代码均在电路板验证2.说明书3.quartusii13.0:软件安装包注1:工程均......
  • SCADA系统架构的类型
    在工业自动化中,当需要使用各种设备时,有必要了解其中设计的架构。设备以各种方式相互通信-通过硬件或通信在现场和控制室之间共享数据。哪个环节进入哪个连接,是定义和解决所必需的,一旦我们了解了架构,那么我们就可以轻松地在系统中工作。SCADA系统架构在设计SCADA系统时,了解其架构......
  • memcpy源码
    【调用栈】 【代码】 【glibc2.17和2.18性能的讨论】https://sourceware.org/bugzilla/show_bug.cgi?id=24872......
  • 什么是HMI和SCADA?两者有什么区别
    前言几十年来,工业控制系统在工业自动化中发挥了重要作用,它允许过程制造商从生产车间采集、分析、处理数据。在当今瞬息万变的工业环境中,制造商和公用事业公司必须采用现代HMI/SCADA和数字化转型,以跟上变化的步伐,应对不断增长的运营挑战并保持竞争力。HMI/SCADA软件在世界各地运行工......
  • 什么是HMI和SCADA?两者有什么区别
    前言几十年来,工业控制系统在工业自动化中发挥了重要作用,它允许过程制造商从生产车间采集、分析、处理数据。 在当今瞬息万变的工业环境中,制造商和公用事业公司必须采用现代HMI/SCADA和数字化转型,以跟上变化的步伐,应对不断增长的运营挑战并保持竞争力。HMI/SCADA软件在世界各......
  • PPT| 数字化工厂PLM-ERP-CAPP-MES-SCADA-LES介绍(可下载)
    PPT总共有24页,有需要PPT的同学可以关注:智能制造数字化咨询PPT总共有24页,有需要PPT的同学可以关注:智能制造数字化咨询......
  • ORACLE中Drop table cascade constraints
    当你要drop一个table时,如果删除table的动作会造成trigger或constraint产生矛盾,系统会出现错误警告的讯息而不会允许执行.。一个极简单的例子,例如你有一个员工基本资料表,上面可能有员工编号和员工姓名等字段,另外有一个员工销售表,上面有员工编号和员工销售额两个字段,员工薪资......