代码+视频R语言3组以上倾向评分逆概率加权(IPTW)

这篇具有很好参考价值的文章主要介绍了代码+视频R语言3组以上倾向评分逆概率加权(IPTW)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基于 PS (倾向评分)的IPTW 法首先由Rosenbaum作为一种以模型为基础的直接标准化法提出,属于边际结构模型。简单来说,就是把许多协变量和混杂因素打包成一个概率并进行加权,这样的话,我只用计算它的权重就可以了,方便了许多。那么,如何将多个协变量的影响用一个倾向评分值来表示呢? 即如何估计倾向评分值呢? 根据 Rosen-baum 和 Rubin 的定义:倾向评分值为在给定一组协变量(X i )条件下,研究对象 i(i =1,2,…N)被分配到某处理组或接受某暴露因素(Z i =1)的条件概率。理论上,所有可计算得到该条件概率的方法均可用于估计倾向评分值。

代码+视频R语言3组以上倾向评分逆概率加权(IPTW),代码+视频系列,R语言,r语言,开发语言
采用 logistic 回归模型估计倾向评分值具有模型
简单、容易实现、可直接得到倾向评分值、结果易于解释等显著优势。
我们拿logistic 回归做例子:
logistic 回归是最早提出的估计倾向评分值的方法,由于其原理为人们所熟悉且容易实现,也是目前最常用的估计方法。logistic 回归模型如下:

代码+视频R语言3组以上倾向评分逆概率加权(IPTW),代码+视频系列,R语言,r语言,开发语言
假设为二元logistic 回归,右边一系列混杂因素的方程会生成一个0-1之间的目标事件时间发生的概率,概率越大代表事件发生的可能性越大,这样就等于把多个混杂因素做成了一个综合评分来表示。用1除以这个概率就会得到一个权重,所以就叫做逆概率加权,逆概率加权(IPTW)是利用倾向性评分的倒数来处理数据间混杂的一种方法。Robins等给出的加权系数(形)计算方法是:处理组观察单位的权数Wt=1/PS,对照组观察单位的权数Wc=1/(1一PS)。PS为观察单位的倾向评分值。但此方法得到的人群往往与原来人群的数量不同,因此虚拟人群各变量的方差大小可有变化,而且有较低 PS 的处理组对象与有较高 PS 的非处理组对象将会获得很大的权重。由于非常大的权重会诱导不稳定性。Heman等人对计算方法进行调整,将整个研究人群的处理率和非处理率加入公式调整后得到稳定权数(stabilized weights)。具方法是:处理组观察单位的权数Wt=Pt/PS,对照组观察单位的权数Wc=(1–Pt)/(1–PS)。 目前蛮多文章使用稳定权重。
综上所述:倾向评分加权法首先将多个主要混杂变量的信息综合为一个变量倾向评分 ,然后将倾向评分作为需要平衡的混杂因素 ,通过标准化法的原理加权,使各对比组中倾向评分分布一致 ,则达到使各混杂因素在各比较组分布一致的目的。
下图所示,经过处理后,各项数据的分布基本上被配平了,更有利于做时候比较分析,有点起到RCT的效果。

代码+视频R语言3组以上倾向评分逆概率加权(IPTW),代码+视频系列,R语言,r语言,开发语言
代码+视频R语言3组以上倾向评分逆概率加权(IPTW),代码+视频系列,R语言,r语言,开发语言
既往我们已经演示了R语言进行倾向评分逆概率加权(IPTW)。后台有粉丝问,怎么使用R进行3组以上的倾向评分逆概率加权(IPTW),看了上面内容我们就明白,只要知道每组数据的倾向评分(也就是概率),根据公式转成权重数就可以了,和做两组的步骤基本一样,今日咱们来演示一下语言3组以上倾向评分逆概率加权(IPTW)。

R语言3组以上倾向评分逆概率加权(IPTW)

代码:文章来源地址https://www.toymoban.com/news/detail-801518.html

#导入数据
bc<-read.csv("E:/r/test/zaochan.csv",sep=',',header=TRUE)
bc <- na.omit(bc)

# 这是一个关于早产低体重儿的数据(公众号回复:早产数据,可以获得该数据),低于2500g被认为是低体重儿。
# 数据解释如下:low 是否是小于2500g早产儿,age 母亲的年龄,lwt 末次月经体重,race 种族,
# smoke 孕期抽烟,ptl 早产史(计数),ht 有高血压病史,ui 子宫过敏,ftv 早孕时看医生的次数bwt:新生儿体重数值

#分类变量转成因子
bc$race<-ifelse(bc$race=="black",1,ifelse(bc$race=="white",2,3))
bc$smoke<-ifelse(bc$smoke=="nonsmoker",0,1)
bc$low<-factor(bc$low)
bc$race<-factor(bc$race)
bc$ht<-factor(bc$ht)
bc$ui<-factor(bc$ui)

# 假设我们想比较不同种族对生早产低体重儿有无影响,
# 我们先建立没有加权的模型看看,在这里设定种族中1是黑人,2是白人,3是其他人种。

fit<-glm(low ~ age + lwt + race + smoke + ptl + ht + ui + ftv,
         family = binomial("logit"),
         data = bc)
summary(fit)
exp(confint(fit))
exp(coef(fit))  #race2:0.2803461  白人

library(ipw)
# exposure这里放入结局变量,也就是你要分组的变量。
# 3分组的话对应的family是multinomial,如果二分组对应的family是binomial,
# 如果是连续数据对应的family是gaussian。Numerator这里填入权重的分子,
# 如果按照Robins的算法这里填入1,属于不稳定权重,denominator这里吧需要调整的变量填入就可以了。

w1 <- ipwpoint(
  exposure = race,
  family = "multinomial",
  numerator = ~ 1,
  denominator = ~age + lwt+ smoke + ptl + ht + ui + ftv,
  data = bc)



#生成权重后我们把它提到数据里
bc$w1<-w1$ipw.weights

fit1.IPTW<-glm(low ~ age + lwt + race + smoke + ptl + ht + ui + ftv,family = binomial("logit"),data = bc,weights = w1)
summary(fit1.IPTW)
exp(confint(fit1.IPTW))
exp(coef(fit1.IPTW))


到了这里,关于代码+视频R语言3组以上倾向评分逆概率加权(IPTW)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Axure视频教程】滑动评分条

    今天教大家在Axure里如何制作滑动评分条的原型模板,可以通过鼠标左右拖动滑块,也可以点击条形让滑块移动到指定位置,标签里会返回具体的分值,分值由滑块所在的位置动态计算而成,具体效果可以参考下方视频。该教程从0开始制作,手把手教学,无论是新手小白还是

    2024年02月09日
    浏览(36)
  • R语言使用surveyCV包对NHANES数据(复杂调查加权数据)进行10折交叉验证

    美国国家健康与营养调查( NHANES, National Health and Nutrition Examination Survey)是一项基于人群的横断面调查,旨在收集有关美国家庭人口健康和营养的信息。 地址为:https://wwwn.cdc.gov/nchs/nhanes/Default.aspx 既往咱们通过多篇文章对复杂加权数据的线性模型、逻辑回归模型、生存分析

    2024年02月06日
    浏览(32)
  • R语言地理加权回归、主成份分析、判别分析等空间异质性数据分析

    在自然和社会科学领域有大量与地理或空间有关的数据,这一类数据一般具有严重的空间异质性,而通常的统计学方法并不能处理空间异质性,因而对此类型的数据无能为力。以地理加权回归为基础的一系列方法:经典地理加权回归,半参数地理加权回归、多尺度地理加权回

    2024年02月14日
    浏览(29)
  • 【语音处理】基于加权压力匹配方法(WPMM)的私人声音系统研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🌈3 Matlab代码实现 🎉4 参考文献 在本文中

    2024年02月15日
    浏览(37)
  • 基于R语言的影视评分影响因素实证分析(一)

    电影票房 电影自从1895年在法国巴黎公开售票放映以来,至今已有百余年的历史。电影以其独特的艺术魅力和无与伦比的视听效果,深深地吸引了亿万观众。在各种文化娱乐、艺术样式中,电影是最受人民群众欢迎的。 近年来,我国的电影市场总的趋势是疲软的,虽然靠进口

    2024年04月10日
    浏览(29)
  • android 11及以上保存图片视频到相册

    Android 10之前版本主要步骤 请求读写权限 图片/视频下载到/storage/emulated/0/Android/data/包名/xxx 复制到系统相册目录下 扫描媒体库 Android 10及以上版本主要步骤 请求读写权限 图片/视频下载到/storage/emulated/0/Android/data/包名/xxx 创建ContentValues,写入要保存的信息 调用ContentResolver插入

    2024年02月11日
    浏览(31)
  • 【能量算子】评估 EEG 中的瞬时能量:非负、频率加权能量算子(Python&Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Python、Matlab代码实现

    2024年02月08日
    浏览(29)
  • 用于弥散加权MRI的关节各向异性维纳滤光片研究(Matlab代码实现)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 该模块

    2024年02月12日
    浏览(26)
  • 大语言模型无代码构建知识图谱+视频链接

            之前通过系列文章介绍了如何利用HugggingFists系统无代码构建知识图谱,这次给出视频,方便大家更直观的了解如何操作。视频链接如下:         《玩转数据之利用LLM构建知识图谱》         文章链接:         《大语言模型无代码构建知识图谱(1)--提示工

    2024年03月24日
    浏览(36)
  • C语言图形界面开发(演示视频、完整代码文件)

    C语言初学者开始都是在黑白控制台上开发一些小程序,实现一些小功能,因为基础的C语言可视化效果比较差,所展示的都是黑白的字符和数字,比较单调乏味。一些大学的计算机类专业学生,大一学习C语言,学习基础语法和算法,通过平台刷题提高自己编程能力,一般不专

    2024年02月04日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包