https://www.cnblogs.com/BinbinChen/p/3416972.html

生存分析,维基上的解释是: 生存分析(Survival analysis)是指根据试验或调查得到的数据对生物或人的生存时间进行分析和推断,研究生存时间和结局与众多影响因素间关系及其程度大小的方法,也称生存率分析存活率分析

生存分析的方法也可以用在其他的商业应用中,比如顾客流失,等模型。大概可以从两个方向上去考虑生存分析的研究对象

1. 估计(各期的)生存函数,某个人病人可以活多久(e.g. 5年)的概率。常用的是Kanplan-Meier 估计。

2. 研究影响生存期长短的因素及关系,这个关系有两种,

  a) 哪些素是最主要的因素,侧重qulitative,可以用决策树,随机森林等模型

  b)各因素的相关系的数量表示,侧重quantitative。可以用cox,等等模型。

一、关于删失数据(censored data)

删失数据是生存分析的一个最主要的特征。删失数据不是缺失数据,它是可以观察到的,但是数据常常由于各种原因而被截断。主要有三种

  • 右删失:这个是最常见的类型。比如,一项肺癌的研究,某些人活了6年之后,他移民了,那么这个数据就是删失的,信息是,这个人至少活了6年。
  • 左删失:
  • 区间删失:这个也比较常见。比如一项关于艾滋病的研究,某个患者是大概2012.6-2013.1得的艾滋病,因为他没半年会做一次检查。

由于删失数据的存在导致传统的一些方便需要作一些调整,比如后面给要提到的利用极大似然估计(MLE)去估计参数时,会稍有不同。

二、描述生存时间分布规律的函数

  • 生存率:又称为生存概率或生存函数,它表示一个病人的生存时间长于时间t的概率,用S(t) 表示:    s(t)=P(T³t)。生存率是一条下降的曲线。
  • 概率密度函数:它表示死亡速率的大小。如以t为横坐,f(t) 为纵坐标作出的曲线称为密度曲线,由曲线上可看出不同时间的死亡速率及死亡高峰时间。纵坐标越大,其死亡速率越高,如曲线呈现单调下降,则死亡速率越来越小,如呈现峰值,则为死亡高峰。
  • 危险函数:称为生存到时间t的病人在时间t的瞬时死亡率或条件死亡速率或年龄别死亡速率。当用t作横坐标,h(t)为纵坐标所绘的曲线,如递增,则表示条件死亡速率随时间而增加,如平行于横轴,则表示没有随时间而加速(或减少)死亡的情况。风险函数的不同情况:
    • 常数,    如:死于飞机失事。
    • 下降,    如:急性损伤。
    • 上升,    如:持续接触危险因素。
    • 澡盆样,如:人的一生。

二、非参数法估计生存函数

估计生存分析函数是生存分析一块很重要的部分,它可以给人一些基本的直观的信息。比如说,某个患者是采用化疗,还是手术会活的长久, 某个新药对治疗某种疾病是否有显著的效果。最常用的方法是Kanplan-Meier。非参数的方法的优势在于,只需要生存时间和数据是否是删失,就可以给人一个直观的图形,从图形也可以看到患者能活多久的概率是多少。一下是用R做的一个乳腺癌的案例:

生存模型(Survival Model)介绍的更多相关文章

  1. 生存分析(survival analysis)

    一.生存分析(survival analysis)的定义 生存分析:对一个或多个非负随机变量进行统计推断,研究生存现象和响应时间数据及其统计规律的一门学科. 生存分析:既考虑结果又考虑生存时间的一种统 ...

  2. ThinkPHP 的模型使用详细介绍--模型的核心(七)

    原文:ThinkPHP 的模型使用详细介绍--模型的核心(七) 注意:本节是ThinkPhp框架对数据操作的核心处理部分 大家还是在这里看清楚可以将其剪切放到代码编辑器中查看 本章节给大家着重介绍模型 ...

  3. Scikit-learn:模型评估Model evaluation

    http://blog.csdn.net/pipisorry/article/details/52250760 模型评估Model evaluation: quantifying the qualit ...

  4. 使用 Jackson 树模型(tree model) API 处理 JSON

    http://blog.csdn.net/gao1440156051/article/details/54091702 http://blog.csdn.net/u010003835/article/ ...

  5. Django模型(model)系统

    Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...

  6. C++11 并发指南七(C++11 内存模型一:介绍)

    第六章主要介绍了 C++11 中的原子类型及其相关的API,原子类型的大多数 API 都需要程序员提供一个 std::memory_order(可译为内存序,访存顺序) 的枚举类型值作为参数,比如:a ...

  7. thinkphp模型层Model、Logic、Service讲解

    thinkphp模型层Model.Logic.Service讲解 时间:2014-08-24 15:54:56   编辑:一切随缘   文章来源:php教程网 已阅读:771 次       js特效 ...

  8. 盒子模型(Box Model)

    盒子模型(Box Model) ■ 盒子模型——概念 在网页设计中常用的属性名:内容(content),填充(padding),边框(border),边界(margin),CSS 盒子模式都具备这些属 ...

  9. css盒模型(Box Model)

    所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用. CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和 ...

随机推荐

  1. geth工作运行程序转后台

    今天查看了一下运行程序怎么转后台,然后就发现了之前写的脚本一定要进行console控制台然后在解锁coinbase,然后才手动挖矿的操作真的是太笨了,后面研究了一下,发现是可以在运行语句上进行操作的: ...

  2. 初学Python——面向对象编程

    一.面向对象 or 面向过程? 编程范式: 编程是 程序 员 用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 , 一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所 ...

  3. 原生js 函数 callee属性

    一.在es5中,函数中有arguments参数,该参数是一个包含函数传入的参数的类数组. <script> function myArrgu(x){ console.log(argumen ...

  4. JavaScript模块化思想requireJS的使用

    1. 使用require.js的意义   (1)实现JS文件的异步加载,避免网页因为加载JS文件缓慢造成网页未响应 (2)管理模块之间的依赖性,便于代码的编写和维护.页面中只需要引入require.j ...

  5. python日志等级输出删选

    有时候我们会删选一下输出的信息 当做日志进行文件保存 但是我们程序中有可能有自己不想存到日志文件中的输出信息 我们要做一些的删选  然后进行保存 代码如下: #!/usr/bin/python # - ...

  6. object detection[YOLOv2]

    接着扯YOLO v2 相比较于YOLO v1,作者在之前模型上,先修修补补了一番,提出了YOLO v2模型.并基于imagenet的分类数据集和coco的对象检测数据集,提出了wordnet模型,并成 ...

  7. 关于 js tofixed()保留小数位数问题

    保留位数必须是数字 const num = parseFloat ('123456.33').tofixed(2); !!!! 注意 现在的的 num 是 字符串类型, 如果给它加数字的话,就会报错 ...

  8. C# System.Guid.NewGuid() 格式化

    概念 GUID: 即Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifier) . GUID是一个通过特定算 ...

  9. Fiddler抓包和修改WebSocket数据,支持wss

    记录一下用Fiddler对WebSocket收发的数据进行抓包分析和篡改数据,只找到这么一个方法,能用就行吧. 时间:2019-3-29 环境: win7 + Fiddler 5.0 Fiddler抓 ...

  10. Java基础之数据比较Integer、Short、int、short

    基础很重要,基础很重要,基础很重要.重要的事情说三遍,. 今天聊一聊Java的数据比较,这个范围比较大,基础类型的比较.引用类型的比较. 前提: 1.Java和c#都提供自动装箱和自动拆箱操作,何为自 ...