原标题:手把手教你做倾向评分匹配 -PSM

本文首发于“百味科研芝士”微信公众号,转载请注明:百味科研芝士,Focus科研人的百味需求。

各位科研芝士的朋友大家好,今天和大家分享一下新的知识点—PSM,或许大家早已听过这个名词了,或许你对它还是半知半解,不过没关系,希望可以通过今天的帖子帮助你对该名词有一定的理解。

PSM

PSM英文全称为Propensity Score Matching,意思是倾向匹配得分,炸一听?多么有学术气息呀

那么如何通俗的理解PSM模型呢?

举个例子,假设一列病人样本,一组服用了药物A,我们想要知道,如果病人服用了药物A,那么他生活质量是否提高了?他的生存时间是否提高了?

但我们首先面临一个问题,究竟是因为药物A的影响,所以生活质量和生存时间均提高了,还是由于患者本身所产生的差异。

此时可以通过寻找另一列病人样本,服用的则是安慰剂对照。也就是说当我们想研究药物A是否对生活质量和生存时间产生影响时,首先需要找两列在其他各方向均差不多的病人,如果此时二者在生活质量和生存时间上依然产生了差别,那么可以认为这种差异是由是否服用药物A这个因素造成的。这样的方法有一个专业的名词,即PSM。

官方的话语则是:为了探讨某因素(暴露或干预,下面统称处理因素)与结局的关系,需要设立对照组进行比较,其目地是控制非处理因素的干扰,突显处理因素的的效应。

但是在观察性研究中(如队列研究),研究对象是非随机分配的,这就会使混杂因素在两组中分配不均匀,导致处理因素和结局的关系受到混杂因素的干扰。

近几年在国外研究中用的比较广泛的控制混杂因素的方法—倾向性评分匹配(propensity score matching, PSM)。

之前我们平台推出了基于SPSS计算PSM,那我们今天采用R语言计算PSM,测试数据在后台回复PSM提供。

今天PSM推荐的包为MatchIt,一听名字就是做匹配用的。

下面进入正题,今天我们看看如何用MatchIt,进行PSM分析:

1. 安装并加载包,关于包的安装,已经讲过多次,直接上代码:

2.数据读取:

数据如下:该数据包括四列信息,分别是年龄,性别,样本类型和病人的ID

接着我们查看样本组成

我们发现该数据集中case样本包括250个,control样本包括1000个,接着我们需要对这两类样本进行匹配,匹配的协变量主要是性别因素和年龄因素。

3. 数据匹配,采用matchit函数,首先要定义一个逻辑变量,这一点非常重要:

生存好逻辑变量之后,接着我们需要进行匹配

Matchit函数的第一个对象为一个表达式,因为进行了逻辑变量分组,接着把需要考虑的协变量放进去,这里主要是性别和年龄,method部分是我们要采取哪种方法进行匹配,一般默认为nearest,表示采取最近邻匹配法,该方法是PSM中最常见也最基本的方法,该方法是将处理组和对照组倾向性评分中最接近的个体进行匹配,当处理组个体全部匹配后,匹配结束,ratio代表匹配比例,当ratio=1,代表进行1:1匹配。

匹配结果展示:

因为我们是250和1000进行匹配,可以看到在control 里面还有750个未匹配到。

5. 配对样本整理

我们按照组别排序,对配对样本整理,便看到左边三列是control组,右边三列是case组,

比如control4和case1进行了配对,则完成了样本之间的配对。

Ok,今天的推文就到这,我们分享了如何在基于R语言的PSM的计算,希望能对大家有所帮助,最后,欢迎大家多多交流。返回搜狐,查看更多

责任编辑:

python倾向匹配得分_手把手教你做倾向评分匹配 -PSM相关推荐

  1. jsp mysql视频_手把手教你做jsp servlet mysql实现的图书管理系统附带视频开发教程和完整源码...

    上一个教程我们做的是对数据库框架底层原理的讲解,然后教大家做了一个自己的数据库框架,这次我们做的这个图书管理系统就是用我们上个教程自己写的数据库框架,整个项目做完框架运行的很稳定,没有出现任何问题.如 ...

  2. ppt怎么把图片做成翻书效果_手把手教你做图片翻书效果.ppt

    手把手教你做图片翻书效果 第六张幻灯片 (第2张翻第3张的动画过程) 第七张幻灯片 (右边超链接到自定义放映中的"第3张翻第4张" , 左边超链接到自定义放映中的"第3张 ...

  3. 怎么用python自制计算公式_手把手教你用python制作简易计算器,能够记录你使用的情况...

    话不多说,首先先看效果图,它能够记录你在使用过程中的历史,方便你查看是否有错: 接下来就仔细分析一下是如何制作的: 简易计算器 第一步:导入资源库 在过程中使用到了tkinter这个资源库,win+R ...

  4. python 靶心_手把手教你使用Python实战反欺诈模型|原理+代码

    原标题:手把手教你使用Python实战反欺诈模型|原理+代码 作者 | 萝卜 来源 | 早起Python(ID: zaoqi-python) 本文将基于不平衡数据,使用Python进行 反欺诈模型数据 ...

  5. 如何用python开发游戏_手把手教你用Python完成一个控制台小游戏-阿里云开发者社区...

    很多人想学Python程序设计或者已经了解过一点Python程序设计基础,却没办法开发出一个项目. 今天,通过演示一个简单的控制台小游戏制作,手把手教你如何用Python编写一个游戏程序,即便你是个新 ...

  6. 用python画皇冠_手把手教你用 Python 绘制酷炫的桑基图!

    原标题:手把手教你用 Python 绘制酷炫的桑基图! 作者 | 周志鹏 责编 | 郭 芮 最近,不止一次收到小伙伴的截图追问: "这个图叫什么???" "这个图真好看! ...

  7. 利用python编写祝福_手把手|教你用Python换个姿势,送狗年祝福语

    春节既是一个阖家团圆的节日,也是一个集中问候亲朋好友.了解近况的机会.但是也有很多人过年也不能聚在一起,所以就会会选择发短信这一方式来表达自己的祝福.其中大多人都是复制转发,让人一眼就看穿,显得自己在 ...

  8. python批量评论_手把手教你 Python挖掘用户评论典型意见并自动生产报告

    原标题:手把手教你 Python挖掘用户评论典型意见并自动生产报告 用户体验的工作可以说是用户需求和用户认知的分析.而消费者的声音是其中很重要的一环,它包含了用户对产品的评论,不管是好的坏的,都将对我 ...

  9. python广州地图_手把手教你用Python+可视化工具制作漂亮地图

    作者:J哥 这次呢,我想讲讲地图可视化的内容,以前我也写过用Python的内置库绘制地图,但总感觉不够美观.如何才能在短时间内制作漂亮的可视化地图呢,我觉得Python+可视化工具是不错的选择. 以下 ...

最新文章

  1. Makefile_02:程序的编译和链接
  2. debian 使用 systemctl 且自启frp
  3. vue 组件监听页面切换_vue项目如何监听窗口变化,达到页面自适应?
  4. SPOJ - GSS3 Can you answer these queries III(线段树+区间合并)
  5. retrofit2使用详解_秒懂Retrofit2之Converter
  6. 前端学习(2777):组件之间的通讯方式
  7. 简单 3 步实现高效编程
  8. 排查一个触摸屏驱动问题
  9. mysql event 变量_mysql 中event的用法
  10. CSS学习之外边距合并
  11. [转]网站嵌入天气预报
  12. 需要额外端口信息_二端口网络及算例
  13. matlab颜色识别提取,matlab实现图像颜色特征提取
  14. 二叉树非递归遍历思路总结
  15. 公网IP、私网IP、动态IP、静态IP
  16. 阿里云Landing Zone系列--1云治理中心使用
  17. 利用 whistle 进行混合开发调试
  18. 冒泡排序正序逆序例子
  19. AMD黑苹果 3A平台EFI分享给大家
  20. 网络管理员和网络工程师的区别

热门文章

  1. java是四川好还是广州好_成都和广州哪个好?成都和广州差距大吗?
  2. 硬盘格式化后数据恢复【图文教程】
  3. 计算机辅助教学具体学什么,计算机辅助教学 [对计算机辅助教学的几点认识]
  4. webAPI设计理念(转载)
  5. 用QT导出Excel表格
  6. java计算机毕业设计宠物店管理系统MyBatis+系统+LW文档+源码+调试部署
  7. ffmpeg mp3转aac
  8. 用node搭建短信服务平台
  9. 该毕业了,我这个大专生
  10. php一级标题红色字体,什么是一级标题