原文链接: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

该 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) 。


最受欢迎的见解

1.R语言多元Logistic逻辑回归 应用案例

2.面板平滑转移回归(PSTR)分析案例实现

3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.R语言泊松Poisson回归模型分析案例

5.R语言回归中的Hosmer-Lemeshow拟合优度检验

6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

7.在R语言中实现Logistic逻辑回归

8.python用线性回归预测股票价格

9.R语言如何在生存分析与Cox回归中计算IDI,NRI指标

拓端tecdat|R语言中使用非凸惩罚函数回归(SCAD、MCP)分析前列腺数据相关推荐

  1. R语言中使用非凸惩罚函数回归(SCAD、MCP)分析前列腺数据

    原文链接:http://tecdat.cn/?p=20828 本文使用lasso或非凸惩罚拟合线性回归,GLM和Cox回归模型的正则化,特别是_最小_最_大凹_度_惩罚_函数_(MCP)_和光滑切片绝 ...

  2. 拓端tecdat|R语言线性回归和时间序列分析北京房价影响因素可视化案例

    最近我们被客户要求撰写关于北京房价影响因素的研究报告,包括一些图形和统计输出. 目的 房价有关的数据可能反映了中国近年来的变化: 人们得到更多的资源(薪水),期望有更好的房子 人口众多 独生子女政策: ...

  3. 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险

    最近我们被客户要求撰写关于冠心病风险的研究报告,包括一些图形和统计输出. 相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠 ...

  4. 拓端tecdat|R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系

    最近我们被客户要求撰写关于向量误差修正模型的研究报告,包括一些图形和统计输出. 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以 ...

  5. 拓端tecdat|R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测

    最近我们被客户要求撰写关于LOESS(局部加权回归)的研究报告,包括一些图形和统计输出. 这篇文章描述了一种对涉及季节性和趋势成分的时间序列的中点进行建模的方法.我们将对一种叫做STL的算法进行研究, ...

  6. R语言使用dplyr包的full_join函数基于多个字段(数据列)全连接两个dataframe、按照多列对数据进行全连接

    R语言使用dplyr包的full_join函数基于多个字段(数据列)全连接两个dataframe.按照多列对数据进行全连接 目录

  7. R语言中如何编写自己的函数初步入门

    一.循环与控制 循环: for(i in 1:10) print("hello world") i<-10 while(i>0){ print(i); i<-i- ...

  8. R语言hdnom包进行高维惩罚 Cox 回归模型绘制列线图-校准曲线-时间依赖ROC-外部验证

    Hdnom包可以用于用于给高维数据构建Cox 模型.绘制列线图-校准曲线-时间依赖ROC-外部验证,而且Hdnom包简化了建模过程,带有自动选择变量功能,将用户从繁琐且容易出错的调参过程中解放出来. ...

  9. 在R语言中进行局部多项式回归拟合(LOESS)

    局部多项式回归拟合是对两维散点图进行平滑的常用方法,它结合了传统线性回归的简洁性和非线性回归的灵活性.当要估计某个响应变量值时,先从其预测变量附近取一个数据子集,然后对该子集进行线性回归或二次回归,回 ...

  10. 用r语言画出y = ax^2 + bx + c,R语言中如何使用最小二乘法

    这里只是介绍下R语言中如何使用最小二乘法解决一次函数的线性回归问题. 代码如下: > x > y > lsfit(x,y) 结果如下: $coefficients Intercept ...

最新文章

  1. 7.某计算机的控制器采用微程序控制方式,微指令中的操作控制字段的16位采用混合表示法,其中用11位采用直接表示法,另外5位分为3位和2位的编码表示法,则此格式的微指令最多可表示多少个微指令?
  2. ​每日一皮:​入职新公司第一周的感受...
  3. JAVAWEB 一一 SpringMVC(注解)
  4. 机器学习基础:最优化方法
  5. 【unity】与Android Activity交互并调用JAVA代码传递参数
  6. Java动态追踪技术--BTrace
  7. mysql timeout的单位_mysql的timeout-阿里云开发者社区
  8. STM32H743+CubeMX-两路FDCAN同时工作的终极方案(RTX5)
  9. PDE1 Introduction to PDE
  10. 卧槽!新来的妹纸rm -rf把公司整个数据库删没了,整个项目组慌了~
  11. Mac 安装 python brew
  12. 火山PC编辑框组件详解1
  13. 戴尔服务器硬件查看信息工具omreport
  14. HTTP协议中URI和URL的区别
  15. 定积分证明题例题_一个广义积分不等式证明(送给数学分析同学)
  16. cgcs2000大地坐标系地图_2000国家大地坐标系
  17. Mac 苹果电脑创建一个新的管理员账号
  18. 00_51入门知识积累__常用工具(二)
  19. 2022考研数学学习资源分享203G视频之汤家凤数学网盘
  20. java时间运算收藏

热门文章

  1. 整理 深入理解RunLoop
  2. Hadoop MapReduce篇
  3. IEnumerableIEnumerablestring结构解析通用解决方案(支持指定属性顺序)
  4. windows DNS服务器的配置
  5. Java I/O总结——OutputStream
  6. 安装Office SharePoint Server 2010实战
  7. HPC:鱼与熊掌可以兼得
  8. 教你如何做人的小故事
  9. 一、理解网络编程和套接字
  10. SGU 176 Flow construction(有上下限的最小流)