r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现3

简介: 用SPSS Modeler的Web复杂网络对所有腧穴进行关联规则分析2

r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现2:https://developer.aliyun.com/article/1485110

泊松模型

Poisson回归用于在假设Poisson误差的情况下对计数数据进行建模,或者在均值和方差成比例的情况下使用非负数据进行建模。泊松也是指数分布族的成员。我们通常以对数建模:

给定观测值 的对数似然

和以前一样,我们优化了惩罚对数:

Glmnet使用外部牛顿循环和内部加权最小二乘循环(如逻辑回归)来优化此标准。

首先,我们加载一组泊松数据。

再次,绘制系数。

像以前一样,我们可以 分别使用coef 和 提取系数并在特定的λ处进行预测 predict

例如,我们可以

## 21 x 1 sparse Matrix of class "dgCMatrix"
##                    1
## (Intercept)  0.61123
## V1           0.45820
## V2          -0.77061
## V3           1.34015
## V4           0.04350
## V5          -0.20326
## V6           .      
## V7           .      
## V8           .      
## V9           .      
## V10          .      
## V11          .      
## V12          0.01816
## V13          .      
## V14          .      
## V15          .      
## V16          .      
## V17          .      
## V18          .      
## V19          .      
## V20          .
##            1       2
## \[1,\]  2.4944  4.4263
## \[2,\] 10.3513 11.0586
## \[3,\]  0.1180  0.1782
## \[4,\]  0.9713  1.6829
## \[5,\]  1.1133  1.9935

我们还可以使用交叉验证来找到最佳的λ,从而进行推断。

选项几乎与正态族相同,不同之处在于 type.measure,“ mse”代表均方误差,“ mae”代表均值绝对误差。

我们可以绘制 cv.glmnet 对象。

我们还可以显示最佳的λ和相应的系数。

## 21 x 2 sparse Matrix of class "dgCMatrix"
##                     1        2
## (Intercept)  0.031263  0.18570
## V1           0.619053  0.57537
## V2          -0.984550 -0.93212
## V3           1.525234  1.47057
## V4           0.231591  0.19692
## V5          -0.336659 -0.30469
## V6           0.001026  .      
## V7          -0.012830  .      
## V8           .         .      
## V9           .         .      
## V10          0.015983  .      
## V11          .         .      
## V12          0.030867  0.02585
## V13         -0.027971  .      
## V14          0.032750  .      
## V15         -0.005933  .      
## V16          0.017506  .      
## V17          .         .      
## V18          0.004026  .      
## V19         -0.033579  .      
## V20          0.012049  0.00993

Cox模型

Cox比例风险模型通常用于研究预测变量与生存时间之间的关系。

Cox比例风险回归模型,它不是直接考察 与X的关系,而是用 作为因变量,模型的基本形式为:

式中, 为自变量的偏回归系数,它是须从样本数据作出估计的参数; 是当X向量为0时, 的基准危险率,它是有待于从样本数据作出估计的量。简称为Cox回归模型

由于Cox回归模型对 未作任何假定,因此Cox回归模型在处理问题时具有较大的灵活性;另一方面,在许多情况下,我们只需估计出参数 (如因素分析等),即使在 未知的情况下,仍可估计出参数 。这就是说,Cox回归模型由于含有 ,因此它不是完全的参数模型,但仍可根据公式(1)作出参数 的估计,故Cox回归模型属于半参数模型

公式可以转化为:

我们使用一组预先生成的样本数据。用户可以加载自己的数据并遵循类似的过程。在这种情况下,x必须是协变量值的n×p矩阵-每行对应一个患者,每列对应一个协变量。y是一个n×2矩阵。

##         time status
## \[1,\] 1.76878      1
## \[2,\] 0.54528      1
## \[3,\] 0.04486      0
## \[4,\] 0.85032      0
## \[5,\] 0.61488      1

Surv 包中的 函数 survival 可以创建这样的矩阵。

我们计算默认设置下的求解路径。

绘制系数。

提取特定值λ处的系数。

## 30 x 1 sparse Matrix of class "dgCMatrix"
##            1
## V1   0.37694
## V2  -0.09548
## V3  -0.13596
## V4   0.09814
## V5  -0.11438
## V6  -0.38899
## V7   0.24291
## V8   0.03648
## V9   0.34740
## V10  0.03865
## V11  .      
## V12  .      
## V13  .      
## V14  .      
## V15  .      
## V16  .      
## V17  .      
## V18  .      
## V19  .      
## V20  .      
## V21  .      
## V22  .      
## V23  .      
## V24  .      
## V25  .      
## V26  .      
## V27  .      
## V28  .      
## V29  .      
## V30  .

函数 cv.glmnet 可用于计算Cox模型的k折交叉验证。

拟合后,我们可以查看最佳λ值和交叉验证的误差图,帮助评估我们的模型。

如前所述,图中的左垂直线向我们显示了CV误差曲线达到最小值的位置。右边的垂直线向我们展示了正则化的模型,其CV误差在最小值的1个标准偏差之内。我们还提取了最优λ。

cvfit$lambda.min
## \[1\] 0.01594
cvfit$lambda.1se
## \[1\] 0.04869

我们可以检查模型中的协变量并查看其系数。

index.min
##  \[1\]  0.491297 -0.174601 -0.218649  0.175112 -0.186673 -0.490250  0.335197
##  \[8\]  0.091587  0.450169  0.115922  0.017595 -0.018365 -0.002806 -0.001423
## \[15\] -0.023429  0.001688 -0.008236
coef.min
## 30 x 1 sparse Matrix of class "dgCMatrix"
##             1
## V1   0.491297
## V2  -0.174601
## V3  -0.218649
## V4   0.175112
## V5  -0.186673
## V6  -0.490250
## V7   0.335197
## V8   0.091587
## V9   0.450169
## V10  0.115922
## V11  .       
## V12  .       
## V13  0.017595
## V14  .       
## V15  .       
## V16  .       
## V17 -0.018365
## V18  .       
## V19  .       
## V20  .       
## V21 -0.002806
## V22 -0.001423
## V23  .       
## V24  .       
## V25 -0.023429
## V26  .       
## V27  0.001688
## V28  .       
## V29  .       
## V30 -0.008236

稀疏矩阵

我们的程序包支持稀疏的输入矩阵,该矩阵可以高效地存储和操作大型矩阵,但只有少数几个非零条目。

我们加载一组预先创建的样本数据。

加载100 * 20的稀疏矩阵和 y因向量。

## \[1\] "dgCMatrix"
## attr(,"package")
## \[1\] "Matrix"

我们可以像以前一样拟合模型。

fit = glmnet(x, y)

进行交叉验证并绘制结果对象。

预测新输入矩阵 。例如,

##            1
## \[1,\]  0.3826
## \[2,\] -0.2172
## \[3,\] -1.6622
## \[4,\] -0.4175
## \[5,\] -1.3941

参考文献

Jerome Friedman, Trevor Hastie and Rob Tibshirani. (2008).

Regularization Paths for Generalized Linear Models via Coordinate Descent


相关文章
|
6月前
|
网络协议 算法 Java
基于Reactor模型的高性能网络库之Tcpserver组件-上层调度器
TcpServer 是一个用于管理 TCP 连接的类,包含成员变量如事件循环(EventLoop)、连接池(ConnectionMap)和回调函数等。其主要功能包括监听新连接、设置线程池、启动服务器及处理连接事件。通过 Acceptor 接收新连接,并使用轮询算法将连接分配给子事件循环(subloop)进行读写操作。调用链从 start() 开始,经由线程池启动和 Acceptor 监听,最终由 TcpConnection 管理具体连接的事件处理。
242 2
|
6月前
基于Reactor模型的高性能网络库之Tcpconnection组件
TcpConnection 由 subLoop 管理 connfd,负责处理具体连接。它封装了连接套接字,通过 Channel 监听可读、可写、关闭、错误等
195 1
|
6月前
|
JSON 监控 网络协议
干货分享“对接的 API 总是不稳定,网络分层模型” 看电商 API 故障的本质
本文从 OSI 七层网络模型出发,深入剖析电商 API 不稳定的根本原因,涵盖物理层到应用层的典型故障与解决方案,结合阿里、京东等大厂架构,详解如何构建高稳定性的电商 API 通信体系。
|
3月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
4月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
328 2
|
4月前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
119 8
|
6月前
基于Reactor模型的高性能网络库之Poller(EpollPoller)组件
封装底层 I/O 多路复用机制(如 epoll)的抽象类 Poller,提供统一接口支持多种实现。Poller 是一个抽象基类,定义了 Channel 管理、事件收集等核心功能,并与 EventLoop 绑定。其子类 EPollPoller 实现了基于 epoll 的具体操作,包括事件等待、Channel 更新和删除等。通过工厂方法可创建默认的 Poller 实例,实现多态调用。
355 60
|
6月前
|
安全 调度
基于Reactor模型的高性能网络库之核心调度器:EventLoop组件
它负责:监听事件(如 I/O 可读写、定时器)、分发事件、执行回调、管理事件源 Channel 等。
372 57
|
6月前
基于Reactor模型的高性能网络库之时间篇
是一个用于表示时间戳(精确到微秒)**的简单封装类
241 57
|
5月前
|
算法 安全 网络安全
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
264 0