乘积极限法拟合样本的生存模型
^mVarS?t??rj????S?t???2?pj?1qjj?rj,
如果用
qj^ 代替
qj,
pj^ 代替
^pj,
S?t?^VarS?t??rj? 代替S(t),则得
mdj2??St??????rr?dj?1j?jj?,
j,rj?1?rj?dj,
如果不存在终止者(即完整数据的情况),则对于所有的显然
?rj?1?rm?1S?tm????????rr1j?1?j?,
^m此处r1?n 为初始样本,rm?1 为恰好在第m?1个死亡点之前的生存人数(或称为第m个死亡点之后的生存人数),的比例来确定。
2.1.4Nelson-Aalen法介绍
由累积危险函数定义?(t)???(y)dy??lnS(t)中定义S(t)?e??(t),其中
0tS?tm? 就由生存到那一时刻的生存人数与n
?(t)称为累积危险率函数。因此也可以通过首先估?(t)来估计S(t),定义
S(t)?e???(t)?
于是
?(t)??lnS(t)
??又S(tm)??(j?1^mrj?djrj)
将其带入?(t)??lnS(t) ,得
?m?rj?dj??t???ln??????j?1?rj^m??dj??ln(1?),tm?t?tm?1,m?1,2,?, ????rjj?1?????因为?ln(1?
djrj)?dj1dj?()2????,忽略二次项和更高次数的项,得 rj2rj4 / 14
乘积极限法拟合样本的生存模型
?ln(1?近似累积危险率估计量为
djrj)?djrj,
?(t)??j?1?mdjrj
于是,得到生存函数的近似
S(t)?e该近似量称作Nelson-Aalen估计量
???rjjj?1md
2.1.5软件知识
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强
5 / 14
乘积极限法拟合样本的生存模型
大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
2.2程序编写前分析
由题意可知10只实验鼠发生死亡的时间如下:2,3,4,5,7,8,8,9,9,12。则死亡时间点为:2,3,4,5,7,8,9,12。 则得到:
d1?0,d2?1,d3?1,d4?1,d5?1,d6?0,d7?1,d8?2,d9?2,d10?0,d11?0,d12?1.r1?10,rj?1?rj?dj,j?1,2,3,?,11qj?^
djrj又可以得到
??t???j?1^mdjrj
引入新参数令
bj?1?qj,j?1,2,3,...,12
注:为了利于循环程序的编写在没有死亡的时间点j上令dj?0
3 问题假设
1、实验鼠的健康状况正常且处于同一健康水平; 2、实验鼠所处的环境相同; 3、实验鼠的死亡时间记录准确无误; 4、实验鼠的死亡没有外力和人为干扰; 5、实验鼠相互之间没有影响。
4问题的求解
6 / 14
乘积极限法拟合样本的生存模型
4.1 乘积极限求解
运行成绩极限法求解源程序(源程序见附录)得到:
由运行结果只S?10??0.1000 其中bj?1?qj,j?1,2,3,...,12
4.2 Nelson-Aalen法求解
7 / 14
乘积极限法拟合样本的生存模型
运行Nelson-Aalen法求解源程序(源程序见附录)得到:
结果如图所示:
其中B的值即为??t? 的值
S?10??0.1804
8 / 14