楼主: 未了的言辞
2767 2

[问答] R语言中因果推断中倾向得分的求解问题 [推广有奖]

  • 1关注
  • 0粉丝

已卖:3份资源

本科生

22%

还不是VIP/贵宾

-

威望
0
论坛币
84 个
通用积分
124.8525
学术水平
4 点
热心指数
4 点
信用等级
4 点
经验
1245 点
帖子
18
精华
0
在线时间
144 小时
注册时间
2017-12-1
最后登录
2025-12-8

楼主
未了的言辞 发表于 2020-10-7 23:59:14 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请教各位,现在我想尝试一个实例数据数据分析,数据是因果领域很出名的lalonde(DW-PSID)数据集,treat变量有185个取值1,另外2490个取值0。以treat变量为因变量对数据集中的10个协变量做logistic回归,会出现警告信息,代码和警告信息如下:
library(qte)
rm(list = ls())
data(lalonde)
myglm <- glm(treat~age+education+black+hispanic+ married+nodegree+re74+ re75+ u74+ u75, data = lalonde.psid, family = binomial("logit"))


##Warning message:
glm.fit:拟合機率算出来是数值零或一

请问这种logistic回归的警告如何消除? 看了一下博客和论坛里的logistic回归相关说明,有些人说是因为数据过于不平衡,treat取值中0太多,1太少导致,但是我看使用这个数据集的相关参考文献中他们就是对这种不平衡数据做了Logistic回归,为什么他们没有出现这种问题?  (我后来也试了类似于bayesglm这种修正的logistic回归函数,警告信息依然存在)
因为后续的方法需要用到倾向得分的估计,也就是这个logitic回归的拟合值,因此需要一个合适的求解方法,求大佬解惑,十分感谢!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:倾向得分 R语言 logistic回归 logistic Library

沙发
llb_321 在职认证  发表于 2020-10-8 21:25:04
报错是lalonde数据集本身的问题,不是treat取值不均衡,而是treat划分的太“标准”了,导致过拟合。有的观点说,过拟合的glm不可用,可以理解。
实际上,用lalonde.psid数据直接作logistic glm,初步结果可以发现education和re74两个变量不显著,另外black和espanic两个变量非此即彼其实用一个就可以啦,如果我们减少几个变量,再进logistic glm,报错就不会出现了。当然这种处理合不合适还需要验证,比如做个ROC看一下。
我个人认为,降维处理应该是可行的。
第二种处理方法是,采用MASS包的lda(),直接进行判别分析。基于原数据集过于“标准”的情况,我们采用判别分析是可行的。
第三种方法可以试试随即森林分析、lasso之类的,应该比glm效果好一些,再做一做交叉验证。

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
未了的言辞 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
未了的言辞 发表于 2020-10-12 12:21:20
llb_321 发表于 2020-10-8 21:25
报错是lalonde数据集本身的问题,不是treat取值不均衡,而是treat划分的太“标准”了,导致过拟合。有的观点 ...
好的,谢谢您的回复,我试一下

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 10:06