使用scitable包,两步生成逆概率删失权重(IPCW)

逆概率删失加权(Inverse Probability of Censoring Weighting, 简称 IPCW)是一种在统计学和流行病学中广泛使用的分析方法,IPCW 的核心思想是通过为样本赋予不同的权重来纠正由于数据删失或干预偏离带来的选择偏倚。具体而言,该方法会为那些具有与删失个体相似预后特征的"未删失个体"赋予额外的权重(即计算其被观测到概率的倒数)。通过这种加权,分析结果能够更准确地反映如果未发生删失或干预偏离时的真实情况,从而在满足关键假设的前提下获得无偏的估计量。

逆概率加权(IPW)和逆概率删失加权(IPCW)虽然名字相似,底层逻辑也一致,但它们解决的是两个完全不同的问题。简单来说,IPW 处理的是"谁接受了治疗",而 IPCW 处理的是"谁的数据被观测到了"。

想象你要调查"某种药物对血压的影响":

IPW 解决的问题:吃药的人和没吃药的人,本来年龄、体重、病情严重程度就不同。IPW 通过加权,让吃药组和没吃药组在基线特征上变得"可比",就像随机分组一样。

IPCW 解决的问题:在随访过程中,有些吃药的人因为副作用退出了研究,有些没吃药的人因为搬家失联了。如果只看剩下的人,结果会有偏差。IPCW 通过加权,让"坚持下来的人"能够代表"那些退出或失联的人",从而还原完整的随访轨迹。

因此在一些特定环境下,比如真实环境中不断有人退出研究,IPCW更加适合。使用使用scitable包,两步生成逆概率删失权重(IPCW),下面我来演示一下

第一步:导入数据

r 复制代码
setwd("E:/公众号文章2026年/逆概率删失加权")
dt<-read.csv("dt.csv",sep=',',header=TRUE)

我来解释一下数据timetoexposure,就是到暴露需要的时间,exposure就是咱们的研究变量,就是是否使用白蛋白,event是咱们的结局变量,timetoevent就是咱们的随访时间,cov1就是咱们的协变量。

第二步,生成权重

一句话代码,data放入数据,time_to_x就是暴露需要的时间,y就是结局变量,x是咱们的研究变量,time是随访时间,ced_window是咱们的宽限期窗口,要设置一个宽限期窗口,cov是协变量,

r 复制代码
library(scitable)

data <- sci_CCW(
  data = dt,
  id = 'id',
  y = 'event',
  time_to_x = 'timetoexposure',
  x = 'exposure',
  time = 'timetoevent',
  ced_window = 100,
  cov =c("cov1"),
  username = username, token = token
)

如上图所示红箭头的weight_cox就是咱们的逆概率删失权重了。

相关推荐
AllData公司负责人7 小时前
AI大模型数据开发底座系列说明书,AllData集成Chat2DB开源项目建设AI 数据库分析底座,涵盖AI 洞察/对话SQL/智能视图!
数据库·人工智能·sql·开源·ai 洞察·对话sql
xixingzhe27 小时前
数据库备份的分类与特点
数据库
时间的拾荒人10 小时前
Redis 主从复制详解:配置实操 + 原理机制
数据库·redis·面试
隔窗听雨眠11 小时前
MySQL三表JOIN执行内核与优化器决策机制
数据库·mysql·sql优化
Decay__12 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
笃行35013 小时前
【金仓数据库产品体验官】订单增量同步实战:MERGE、OUTPUT 与 IDENTITY 的兼容验证
数据库
星恒随风17 小时前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
无奈笑天下18 小时前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
xiaoye-duck19 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型
AllData公司负责人19 小时前
AI大模型数据开发底座系列说明书:AllData集成DB-GPT开源项目建设 AI 多模态分析底座,涵盖模态解析/智能大屏/MCP 扩展!
大数据·数据库·人工智能·gpt·数据采集·数据接入·模态解析