如何对一个变量数据进行正则判定_生存分析数据中的BuckleyJamesMultipleRegression Model...

一、模型简介

目前,生存分析领域,最常用的是Cox比例风险回归模型,该模型具有良好的特性,不仅可以分析各种自变量对生存时间的影响,而且对基准风险分布不作任何要求(半参数模型)。Cox模型使用时要满足一定的条件,其中最为大家熟知的“PH比例风险”假定,专业点讲,就是在时间t,协变量x作用下,个性风险率相对于基准风险率之比与时间无关,不随时间t的变化而变化;通俗点说,就是生存曲线要平行不能交叉。如果违反“PH假定”Cox模型不再适用,需要其他方法替代。本文介绍一种替代模型Buckley-James模型。该模型是由Buckley 和 James于1979年提出,该模型具有线性回归模型的特点,其参数估计方法是最小二乘法的一种校正,通用引用一个伪随机变量,使其满足一般的正则条件下,能够用于具有右删失数据的分析。而且,在1993年,Hillis等人证明Buckly-James模型的参数估计要比其他模型的参数估计优越。

二、 模型适用条件

因BJ模型是线性回归模型的改进,故其需满足线性回归模型的适用条件(1)线性;

(2)方差齐。

检验是否满足上述条件的方法:

(1)修正残差图判定法;

(2)样条函数判定法。

三、模型原理

该模型假定生存时间T,或者其简单变换与协变量x之间呈线性关系。即:

 60b17b669c729fe0cd049f93a6ce623f.png

由于生存时间存在右删失,所以数据中只能观测到删失时间,因此上式不再适用,通常的最小二乘也无法估计出模型的参数,为此,Buckly-James引入了一个伪随机变量:

 af3c8b830edd0a8039b5ec55ce3c8869.png

这里ab9338040a948dafca83eb09c76dbdea.png是指示变量。同时也证明了如下线性关系:

edbca45279964b58fd8c2d45554bb658.png 

所以BJ模型实际是一种将因变量Y改进后(考虑删失情况)的线性回归模型,该模型对生存时间分布不作任何要求。线性回归系数估计用到了高斯的最小二乘法,BJ模型系数估计用到的是校正后的最小二乘法。

有研究显示,连续性自变量对BJ模型估计值的影响可以忽略,而当自变量为分类变量时,BJ估计值的偏倚是比较大的。提示在实际应用时,尤其是单个自变量的情形下,要谨慎考虑分类自变量估计值的准确性,为此可以考虑用Bootstrap法估计参数值并得到可信区间。

四、模型应用案例基于R软件

这里以一份口咽癌数据为例:

ec769e72f8371f2a08d72fc200ad4451.png

 数据包含195条观测13个变量,涉及研究对象性别,年龄、分期等临床指标和患者生存时间和生存状态;

03e01b2c86bab2435eaf2e8fa51683e9.png

(1)先读入并打包数据

1b4e8e6e27618c16fe72fb2ee172094d.png

(2)建立BJ模型:

2384db2cef3f2fbd2aae317821f0dc5f.png

BJ模型的建立和cox模型非常像,也会报告模型各指标系数及是否有意义的变量。

b73c6b6eee37f34b84b5851de9946674.png

与线性回归分析一样,对建立的模型做模型是否有意义的假设检验,假设检验会给出ANOVA分析结果,从上述的结果可见模型中只有T分期有意义,年龄和性别无意义。

e9bdbec3c4f3f08751bd9e8b9e324aca.png

做模型的summary(f1),可以发现年龄AGE、T分期和生存时间成反比

5772261fca4c4e91f1da540fc1ccefb2.png

利用BJ模型结果做出的Nomogram结果与Summary表型出一致的结果。

五、总结

BJ模型作为回归模型的一种,自然也有回归模型的基本功能,如因素筛选、预测等等。

在应用时除了要求线性和方程齐(本篇未展示检验过程)要求外,还需考虑一定的删失比。

与COX模型相比,选择方案如下:

4e3e719e4293857888b3b7df967b8c83.png

当数据不满足COX回归的PH假定(生存曲线相交),BJ模型是Cox模型很好的补充。




本公众号部分精彩历史文章:

04:如何在R软件中求一致性指数(Harrell'concordance index:C-index)?

05:Nomogram 绘制原理及R&SAS实现.

06  :Lasso方法简要介绍及其在回归分析中的应用

07  : 最优模型选择中的交叉验证(Cross validation)方法

08  : 用R语言进行分位数回归(Quantile Regression)

09  : 样本数据中异常值(Outliers)检测方法及SPSS & R实现

10  : 原始数据中几类缺失值(Missing Data)的SPSS及R处理方法

11  :  [Survival analysis] Kaplan-Meier法之SPSS实现

12  :  [Survival analysis] COX比例风险回归模型在SPSS中的实现

13  :  用R绘制地图:以疾病流行趋势为例

14  :  数据挖掘方法:聚类分析简要介绍 及SPSS&R实现

15  :  医学研究中的Logistic回归分析及R实现

16  :  常用的非参数检验(Nonparametric Tests)总结

17  :  高中生都能看懂的最小二乘法原理

18  :  R语言中可实现的常用统计假设检验总结(侧重时间序列)

19  :  如何根据样本例数、均数、标准差进行T-Test和ANOVA

20  :  统计学中自由度的理解和应用

21  :  ROC和AUC介绍以及如何计算AUC

22  :  支持向量机SVM介绍及R实现

23  :  SPSS如何做主成分分析?

24  : Bootstrap再抽样方法简介

25  :  定量测量结果的一致性评价及 Bland-Altman 法的应用 

26  :  使用R绘制热图及网络图  

27  :  几种常用的双坐标轴图形绘制 

28  :  遗失的艺术—诺谟图(Nomogram) 

29  :  Nomogram 绘制原理及R&SAS实现(二) 

30  :  WOE:信用评分卡模型中的变量离散化方法 

31  :  结构方程模型(SEM)简介及教程下载  

32  :  重复测量的多因素方差分析SPSS实现操作过程 

回复文章前代码数字如“04”即可查看或直接查看历史文章。

公众号:survival-analysis QQ:8243033

邮箱:8243033 @ qq.com 欢迎关注!



1ceb6e87e9550e56ce60b1ee5c78405c.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/567277.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

格兰杰因果关系检验r语言_R语言系列第四期:R语言单样本双样本差异性检验

之前详细介绍了利用R语言进行统计描述,详情点击:R语言系列第三期:①R语言单组汇总及图形展示、R语言系列第三期:②R语言多组汇总及图形展示、R语言系列第三期:③R语言表格及其图形展示从这个部分我们就开始为大家介绍统…

python数据预测代码_手把手教你用Python玩转时序数据,从采样、预测到聚类丨代码...

原标题:手把手教你用Python玩转时序数据,从采样、预测到聚类丨代码原作 Arnaud Zinflou郭一璞 编译时序数据,也就是时间序列的数据。像股票价格、每日天气、体重变化这一类,都是时序数据,这类数据相当常见,…

java 配置jmstemplate_SpringBoot集成JmsTemplate(队列模式和主题模式)及xml和JavaConfig配置详解...

1.导入jar包:org.springframework.bootspring-boot-starter-activemqorg.apache.activemqactivemq-pool2.填写配置文件(application.properties)#设置JMS(AMQ)spring.activemq.broker-urltcp://localhost:61616spring.activemq.useradminspring.activemq.passwordad…

切面是异步还是同步操作‘_分布式中采用Logback的MDC机制与AOP切面结合串联日志...

导读:在实际开发中,打印日志是十分重要的。在生产环境中,如果日志打得好可以快速地排查问题,而在分布式的场景下,一个请求会跨越多个节点,既一个业务可能需要多个节点协调配合处理。那么日志将会分散&#…

java 图类_Java集合类,一张图说清楚!

作者:skywang12345https://www.cnblogs.com/skywa...2019-03-23 10:32:24Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.*,Java集合主要可以划分为4个部分…

python 取整_马克的Python学习笔记#数字,日期和时间

对数值进行调整在Python中对整数和浮点数进行数字计算是很容易的。但是,如果你需要对分数,数组或者日期和时间进行计算,这就会稍微复杂点。对于简单的取整操作,我们可以使用内建的round(value, ndigits)函数就可,举个例…

java 数据类型分为_JAVA中分为基本数据类型及引用数据类型

byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0i…

各路由协议的协议号_厂房转让协议

厂房转让协议转让方(甲方):________________受让方(乙方):________________甲乙双方本着平等互利的原则,经协商一致就甲方将其权属的工业用地、厂房等转让与乙方及有关事项达成如下协议:一、工业用地及厂房产权基本情况本协议转让的工业用地位…

java容器怎么封装的_docker怎么把容器打包成镜像

1.首先引用 maven docker插件,打开 java应用jar包,点击package按钮;2.新建一个docker文件夹,将导出的jar包放入到此文件夹中;3.新建一个Dockerfile文件,输入以下打包命令FROM frolvlad/alpine-oraclejdk8:s…

python 异常回溯_关于python:在循环中捕获异常回溯,然后在脚本末尾引发错误...

我正在尝试捕获所有异常错误,然后在脚本结尾处使其引发/显示所有回溯...我有一个主脚本,例如调用我的下标:errors open(MISC/ERROR(S).txt, a)try:execfile("SUBSCRIPTS/Test1.py", {})except Exception:## Spread over two calls…

java web开发常见问题_JavaWeb学习笔记(五)--Web开发其他常见问题

一、把web应用打成war包使用JDK自带jar命令,进入到web应用里面,执行命令:jar -cvf 包名.war . # .表示当前目录所有的文件 直接用jar可查看帮助执行完成后生成一个demo.war文件,把这个文件拷贝到Tomcat的webapps下,Tom…

mysql having in_MySQL中无GROUPBY直接HAVING的问题

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/having_without_groupby_in_mysql.html 今天有同学给我反应,有一张表,id是主键,这样的写法可…

python求线段长度_python微元法计算函数曲线长度的方法

计算曲线长度,根据线积分公式:,令积分函数f(x,y,z) 为1,即计算曲线的长度,将其微元化:其中根据此时便可在python编程实现,给出4个例子,代码中已有详细注释,不再赘述计算曲…

java if 顺序 括号_03-03 java 顺序语句结构,选择结构if语句

/*if语句的格式3:if(比较表达式1) {语句体1;}else if(比较表达式2) {语句体2;}else if(比较表达式3) {语句体3;}...else {语句体n1;}执行流程:首先计算比较表达式1看其返回值是true还是false,如果是true,就执行语句体1&#xff0c…

java 项目部署_java项目部署

本文章只为帮助大家学习项目的发布,为基础篇,在此给大家示范在window环境下的项目部署及运维。以下版本为讲解示例,可自行改至匹配版本。服务器:window service2008 R2 Standard(提前准备好服务器,可以在服务器商家租服…

电气专业学python吗_985大学毕业起薪最高的五个专业,计算机、金融、电气上榜!...

本科毕业生起薪是指本科毕业生第一份工作能够获得的薪资水平,大学毕业生的起薪一般会因为学校、专业、地区的不同而有所差异。一般来说,985大学毕业生的起薪要比普通大学毕业生的起薪高一点,那么,985大学中,哪些专业的…

python核心教程_python核心教程--第四章

第四章讲的是python对象。4.1 python对象所有的python对象都拥有三个特性:身份,类型和值身份:每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到。这个值可以被认为是该对象的内存地址。类型&#…

uwsgi怎么通过浏览器访问某个脚本_4个Shell小技巧帮你提高机器学习效率:写好脚本,事半功倍...

晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI在机器学习的实践过程中,用好Shell能帮你很多节省时间。最近,有位来自ETHZ的学生分享了一些Shell小技巧。对程序员来说,这些技巧更重要的是让你的思维从琐碎小事中解脱出来,大大提高…

java file 字符串_Java读取一个文本文件拼接成一个字符串(readFileToString)

import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import org.junit.Test;public class Demo {// 使用示例Testpublic void testName1() throws Exception {String filePath …

pythonselenium上传图片视频_如何用selenium、python上传文件(图片)

我添加了一个答案,任何人想使用处理恼人的msofiledialogs。这是对saravanan提出的解决方案的改进,但对Python来说更加充实。我也遇到过类似的问题,我正在为一家公司做脚本。我试图为一家公司的客户上传文件,但由于他们的网站工作方…