R语言笔记之广义线性模型压缩方法2

本文介绍了R语言中广义线性模型的压缩方法,包括逻辑回归、收缩多项回归和泊松收缩回归。在面对变量数量大于观测值时,收缩方法能有效解决完全或准完全分离的问题。通过添加罚函数来收缩参数估计,以降低方差。文中展示了使用cv.glment()函数进行交互校验和模型拟合的过程,并以误判率和泊松离差为准则选择最优lambda值。
摘要由CSDN通过智能技术生成

逻辑回归

1.普通逻辑回归
在逻辑回归中,当变量个数相对观测较大时,很容易发生完全分离或者准完全分离的现象,这时候没有唯一的极大似然估计,因此参数估计的方差极大。

> dat=read.csv("https://raw.githubusercontent.com/happyrabbit/DataScientistR/master/Data/sim1_da1.csv")
> fit=glm(y~.,dat,family="binomial")
Warning messages:
1: glm.fit:算法没有聚合 
2: glm.fit:拟合機率算出来是数值零或一 
> 

如上,该算法没有聚合,就是完全分离了的情况,这时收缩方法可以解决这个问题。
2.收缩逻辑回归
在逻辑回归的似然函数后添加罚函数来收缩参数估计

> dat=read.csv("https://raw.githubusercontent.com/happyrabbit/DataScientistR/master/Data/sim1_da1.csv")
> trainx=dplyr::select(dat,-y)
> trainy=dat$y
> fit=glmnet(as.matrix(trainx),trainy,family="binomial")

如上,并没有错误信息。
我们绘制参数收缩的路径图,提取对应的参数估计,并进行预测。

> plot(fit,xvar="dev")
> 

这里写图片描述

> levels(as.factor(trainy))
[1] "0" "1"
> newdat=
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值