CN110119540B - 一种用于生存风险分析的多输出梯度提升树建模方法 - Google Patents
一种用于生存风险分析的多输出梯度提升树建模方法 Download PDFInfo
- Publication number
- CN110119540B CN110119540B CN201910315829.3A CN201910315829A CN110119540B CN 110119540 B CN110119540 B CN 110119540B CN 201910315829 A CN201910315829 A CN 201910315829A CN 110119540 B CN110119540 B CN 110119540B
- Authority
- CN
- China
- Prior art keywords
- survival
- loss function
- gradient
- expression
- order gradient
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000004083 survival effect Effects 0.000 title claims abstract description 186
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012502 risk assessment Methods 0.000 title claims abstract description 21
- 238000012549 training Methods 0.000 claims abstract description 55
- 230000014509 gene expression Effects 0.000 claims abstract description 53
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 48
- 239000000126 substance Substances 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 4
- 238000004140 cleaning Methods 0.000 claims description 2
- 238000002790 cross-validation Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 77
- 230000008569 process Effects 0.000 description 6
- 238000011160 research Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000004393 prognosis Methods 0.000 description 3
- 238000003066 decision tree Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 201000010099 disease Diseases 0.000 description 2
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 108090000623 proteins and genes Proteins 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 206010028980 Neoplasm Diseases 0.000 description 1
- 201000011510 cancer Diseases 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0635—Risk analysis of enterprise or organisation activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Educational Administration (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种用于生存风险分析的多输出梯度提升树建模方法,该方法包括:首先在最优梯度提升树(XGBoost)的模型算法框架下,构建用于建立金融、保险、医疗、交通或工业目标行业生存预测模型的生存数据的表达式;然后定义并计算所述生存数据对应的损失函数;随后定义并计算所述损失函数对应的一阶梯度和二阶梯度;最后将计算出的损失函数值以及损失函数的一阶梯度和二阶梯度值同时输入XGBoos模型算法框架,自动训练生成所述目标行业的生存预测模型。本发明的建模方法能更好地表示模型协变量与风险预测值之间的关系;提高模型的预测性能以及泛化能力;有更好的预测性能和风险区分度;并且适用场景广泛。
Description
技术领域
本发明涉及计算机生存分析和机器学习领域,尤其涉及一种用于生存风险分析的多输出梯度提升树建模方法。
背景技术
生存风险分析,在很多领域都有着广泛的应用,如金融,保险,医疗,交通,工业等。生存风险分析(简称生存分析)主要是研究在观测时间点发生某个特定事件的概率,进而估计随时间变化的风险曲线和生存曲线。与普通的分类和回归问题不同的是,生存风险分析的研究目标是在某个时间点发生特定事件的概率,而不仅仅只是一个目标变量,这使得其与一般研究的分类与回归问题有着较大不同。传统的生存风险分析方法通常以个体风险函数为主要研究对象,并对其做出某种假设,从而预测在不同时间点发生特定事件的概率;生存风险分析中另外一种是研究事件首次命中时间的预测模型。这两种传统的生存风险分析方法都对个体风险函数做出了某种形式的假设,并且设置模型参数与个体协变量之间为线性关系。在未知情况下,一旦个体风险函数违背模型的假设,那么由上述方法构建的生存预测模型的预测性能将会大大降低。
用于建立生存预测模型的生存风险分析方法总体可分为以下几种:
(1)Cox比例风险方法。Cox比例风险方法假设观测对象的风险函数与人
群的基准风险函数之比是一个时不变量,且观测对象的复发风险与协变量之间是线性函数关系,以优化生存数据对应偏似然函数为目标,可以得到易于解释的线性生存预测模型,但是该方法很大程度上限制了生存预测模型的表达能力,无法表示复发风险与协变量之间的非线性关系。
(2)随机生存森林方法。随机生存森林方法来源于随机森林,它主要用于
预测观测对象的生存状态,完全基于生存风险分析中生存函数和风险函数的无参数估计方法,而不再局限于Cox比例风险方法的假设。该方法和众多的无参数估计方法一样,需要大量的数据作为支撑,且容易出现过拟合的现象。
(3)梯度提升树方法。它是一个前向加法模型,其核心思想是每轮迭代生
成新的决策树来学习上一轮模型预测的“残差”,最终预测结果由每一轮经过拟合的决策树的预测结果相加得到。用于生存风险分析的梯度提升方法通常仍然假设观测对象的风险函数与人群的基准风险函数之比是一个时不变量,但是观测对象的复发风险与协变量之间不再局限于线性函数关系,以生存数据对应偏似然函数作为损失函数,以损失函数对上一轮模型预测值的负梯度作为“残差”的近似值。常用的GBM梯度提升树模型,在学习过程中,对上一轮模型预测值的“残差”的近似不够精确。而最优梯度提升树(XGBoost)梯度提升树模型虽然采用二阶近似的方法更加精确地给出了上一轮模型预测值的“残差”,但是其损失函数对于实际的生存数据来说,偏似然函数的近似不够精确。
实现基于深度学习方法的生存预测模型往往需要大量训练样本,并且需要仔细调节生存预测模型的模型参数,并训练该生存预测模型,这会耗费大量时间。同时,复杂的生存预测模型是一个黑盒子,对临床特征的解释性不够,无法用于发现与疾病相关的重要因子,而临床特征解释性在实际疾病预后研究中通常是被要求的,比如无法准确评估癌症相关的基因属于危险因子还是保护因子,这在一定程度上限制了它们在预后研究中的应用。另外,也无法准确描述设备的损坏时间与不同维修方式的关系等。
此外,比如在工业生产新设备投放后,设备故障发生时间的预判并配套维修很重要,这不仅可以节约资金和人力成本,还可以提前更换零部件,保障设备的正常生存经营活动,大大减少因停转带来的各种损失。但设备故障会受到原始零配件和材料的影响,因此构建智能的生存预测模型来评估设备的故障发生时间和概率,找到发生的内在原因非常重要。
发明内容
本发明提出了一种用于生存风险分析的多输出梯度提升树建模方法,该方法是基于多输出梯度提升树建立的,用于利用随访跟踪得到的生存数据建立生存预测模型,称之为增强命中算法(即HitBoost算法),其利用最优梯度提升树(XGBoost梯度提升树)模型更加精确地近似残差以及加入正则化措施的优势,同时为XGBoost梯度提升树的模型算法重新定义更加精确的损失函数,且推导该损失函数对应的一阶梯度和二阶梯度,将该损失函数以及该损失函数对应的一阶梯度和二阶梯度同时输入XGBoost梯度提升树的模型算法框架中以建立生存预测模型。
本发明建立了有效的生存预测模型,并提升生存预测模型的准确性,改善了生存预测模型对潜在随机过程(即个体的风险函数)的假设带来的约束性所造成的不足,解决了基于深度学习方法的生存预测模型在实际应用中解释性不够的问题。
本发明提出的一种用于生存风险分析的多输出梯度提升树建模方法,该方法包括如下步骤:
S1)在最优梯度提升树(XGBoost)的模型算法框架下,首先构建用于建立目标行业生存预测模型的生存数据的表达式;
S2)定义所述目标行业生存预测模型的生存数据对应的损失函数表达式;
S3)计算所述损失函数;
S4)推导所述损失函数对应的一阶梯度和二阶梯度表达式;
S5)计算所述损失函数对应的一阶梯度和二阶梯度;
S6)将计算出的所述损失函数值以及所述损失函数对应的一阶梯度和二阶梯度值同时输入最优梯度提升树(XGBoost)的模型算法框架中,由最优梯度提升树(XGBoost)的模型算法框架自动训练生成所述目标行业的生存预测模型;
所述目标行业为金融、保险、医疗、交通和工业中的任意一种。
本发明充分运用了最优梯度提升树(XGBoost)的模型算法框架的优势,使用了更精确的损失函数,并且推导了该损失函数对应的一阶梯度和二阶梯度,将它们同时输入最优梯度提升树(XGBoost)的模型算法框架来训练所述目标行业的生存预测模型。本发明具有以下优势:
(1)基于梯度提升树算法。梯度提升树算法是机器学习中一种非常突出且被广泛使用的建模方法,它能够很好地表示协变量与风险预测值之间的关系;
(2)基于最优梯度提升树(XGBoost)的模型算法框架。最优梯度提升树(XGBoost)算法作为梯度提升树算法的变体,它更加精确地近似了模型需要拟合的“残差”以及加入正则化措施的优势,这进一步提高了所述目标行业的生存预测模型的预测性能以及模型的泛化能力;
(3)精确的损失函数。在首次命中时间(First Hitting Time,FHT)模型损失函数的基础上,添加了一致性指数的凸性近似函数,使得多输出的梯度提升树模型隐式地学习协变量与潜在随机过程之间的关系。重要性相比传统的生存分析方法具有更好的预测性能和风险区分度,它可以作为一种有效的生存分析方法用于建立生存预测模型和发现与生存相关的重要因子。
另外,本发明有较广泛的适用场景。
附图说明
图1为本发明的基本思路流程图
图2为本发明的具体实施过程
具体实施方式
为使本发明目的,实施方式,技术方案及优点更加清楚明白,以下结合附图及具体实施方式,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅以用以解释本发明,并不用于限定本发明。
本发明提出的一种用于生存风险分析的多输出梯度提升树建模方法,该方法包括如下步骤:
S1:构建生存数据的表达式
用于建立目标行业生存预测模型的生存数据由若干个观测对象的生存数据组成,其中,任意一个观测对象i的生存数据可以表示为{(xi,Ti,δi)|i=1,2,…,n},i表示第i个观测对象,n为观测对象的总个数,另外,表示第i个观测对象的协变量,表示第i个观测对象的末次观测时间,δi∈{0,1}表示在Ti时刻是否观测到第i个观测对象发生特定事件(即第i个观测对象在末次观测时间的生存状态),其中,δi=0表示在Ti时刻未观测到第i个观测对象发生特定事件;δi=1表示在Ti时刻观测到第i个观测对象发生特定事件。
S2:定义损失函数的表达式
S201:为将步骤S1中的每个观测对象的生存数据输入最优梯度提升树(XGBoost)的模型算法框架中,需要为最优梯度提升树(XGBoost)的模型算法框架定义损失函数,所述损失函数的表达式如下:
L=L1+θ·L2
其中,L1为所述损失函数的第一部分(即图1中的首次命中时间(First HittingTime,FHT)损失函数),L2为所述损失函数的第二部分(即图1中的一致性指数(concordancein dex,CI)损失函数),θ为所述损失函数的第二部分L2的系数,其也是所述目标行业生存预测模型中需要调整的参数,且0≤θ≤1。
S202:定义L1的表达式:
定义步骤S201中的L1的表达式为似然函数负对数形式,其表示为:
S203:定义L2的表达式:
定义步骤S201中的L2的表达式为:
首先获得集合Ω:对于任意一个观测对象j,j=1,2,…,n,其末次观测时间为Tj,如果特定事件发生,则将末次观测时间小于Tj的其他观测对象i取出,并以(i,j)数对的形式存放在集合Ω;
S3:计算损失函数L
S301:将满足步骤S1)构建的生存数据表达式的生存数据训练集输入经过步骤S2定义了损失函数表达式后的最优梯度提升树(XGBoost)的模型算法框架中,所述经过步骤S2定义了损失函数表达式后的最优梯度提升树(XGBoost)的模型算法框架对所述生存数据训练集中的任意一个观测对象i的生存数据的预测值向量为 其中,是所述生存数据训练集中观测对象i的在离散时间点t的预测值,此时,该预测值等于步骤S202)中定义的预测概率的值。
S302:计算L1:
遍历所述生存数据训练集,对于任意一个观测对象i的生存数据,如果所述特定事件发生,则根据步骤S301得到的预测值向量计算观测对象i的生存数据在末次观测时间Ti的预测值的自然对数,即如果特定事件不发生,则根据步骤S301得到的预测值向量,用1减去观测对象i在其末次观测时间Ti和Ti之前累积的预测值的加和,并计算其自然对数,即将上述计算值代入步骤S202定义的L1表达式中,计算得到L1。
S303:计算L2:
遍历集合Ω中的所有数对,按照步骤S203定义的L2的表达式计算得到L2。
S304:计算损失函数L
将通过步骤S302和步骤S303计算得到的L1和L2代入步骤S201定义的损失函数L的表达式中,计算得到L。
本发明定义和计算损失函数L的具体实施方式如下:
a:采用算法1来定义并计算用于最优梯度提升树(XGBoost)的模型算法框架的损失函数L,其算法伪代码如下所示,
算法1:自定义损失函数计算
其具体执行过程如下:
a1:将生存数据训练集输入所述目标行业的生存预测模型,其中,任意一个观测对象i的生存数据为{(xi,Ti,δi)|i=1,2,…,n},所述生存预测模型对任意一个观测对象i的生存数据的预测值向量为其中,是观测对象i的在离散时间点t的预测值。初始化L1=0且L2=0,即初始化L=0。
a2:计算损失函数的第一部分L1:
遍历所述生存数据训练集,对于任意一个观测对象i的生存数据,如果特定事件发生,则计算观测对象i的生存数据在末次观测时间Ti的预测值的自然对数;如果特定事件不发生,则用1减去观测对象i在其末次观测时间Ti和Ti之前累积的预测值的加和,并计算其自然对数。将所述生存数据训练集中所有观测对象的生存数据的计算值相加,得到L1的表达式及计算值。
a3:计算损失函数的第二部分L2:
首先获得集合Ω,对于任意一个观测对象j,j=1,2,…,n,其末次观测时间为Tj,如果特定事件发生,则将末次观测时间小于Tj的其他观测对象i取出,并以(i,j)数对的形式存放在集合Ω,其中i≠j,i=1,2,…,n。然后遍历集合Ω中的所有数对,对于集合Ω中的任意一个数对(i,j),使用公式
a4:计算损失函数L
采用表达式L=L1+θ·L2,得到损失函数L的表达式和计算值。
S4:定义损失函数L的一阶梯度和二阶梯度的表达式
所述最优梯度提升树(XGBoost)的模型算法框架需要输入步骤S2定义的损失函数表达式相对于任意一个观测对象i在任意离散时间点t发生特定事件的预测概率的一阶梯度和二阶梯度才能运行,定义其中,α=∑(i,j)∈Ωwi,j,
S5:计算损失函数L的一阶梯度和二阶梯度
如果所述生存数据训练集中观测对象i发生了特定事件,则根据步骤S301得到的预测值向量计算L1的一阶梯度如果所述生存数据训练集中观测对象i没有发生特定事件,则根据步骤S301得到的预测值向量计算L1的一阶梯度
如果所述生存数据训练集中观测对象i发生了特定事件,则根据步骤S301得到的预测值向量计算其中,k表示所述生存数据训练集中任意一个观测对象,且i≠k,k=1,2,…,n,δk=1表示第k个观测对象发生特定事件,Tk表示第k个观测对象的末次观测时间,其中,Ω1={(i,k)|Ti<Tk},并且Ω2={(k,i)|δk=1,Tk<Ti},另外,α、β的值按照步骤S4)定义的表达式进行计算;
首先计算L1的二阶梯度如果所述生存数据训练集中观测对象i发生了特定事件,则根据步骤S301得到的预测值向量计算L1的二阶梯度如果所述生存数据训练集中观测对象i没有发生特定事件,则根据步骤S301得到的预测值向量计算L1的二阶梯度
计算L2的二阶梯度其中,α″=0。如果所述生存数据训练集中观测对象i发生了特定事件,则根据步骤S301得到的预测值向量计算反之另外,根据步骤S502)计算得到α′、β′,根据步骤S4)计算得到α、β,各个符号在前文已经提及。
本发明定义和计算损失函数L的一阶梯度和二阶梯度的具体实施方式如下:
b:采用算法2来定义并计算用于最优梯度提升树(XGBoost)的模型算法框架的损失函数L的一阶梯度和二阶梯度,其算法伪代码如下所示,
算法2:自定义损失函数的梯度计算
具体计算过程如下:
从Ω中获取Ω1和Ω2,使得Ω1={(i,k)|Ti<Tk},Ω2={(k,i)|δk=1,Tk<Ti},其中,k表示所述生存数据训练集中任意一个观测对象,且i≠k,k=1,2,…,n。
S6:实现最优梯度提升树(XGBoost)的模型算法框架接口及训练生存预测模型
将基于定义的损失函数表达式计算出的损失函数值和基于所述损失函数对应的梯度表达式计算得到的损失函数的一阶梯度以及二阶梯度计算值,同时输入最优梯度提升树(XGBoos t)的模型算法框架中。使用XGBoost库所提供的损失函数及其梯度的接口,按照步骤S2-S5的内容重新编程实现上述接口,由最优梯度提升树(XGBoost)的模型算法框架自动训练生成所述目标行业的生存预测模型。其实现过程如下:
S601:根据步骤S2和S3的描述,编程实现XGBoost库自定义损失函数的接口;并进一步根据步骤S4和S5的描述,编程实现XGBoost库自定义损失函数一阶梯度和二阶梯度的接口;
S602:设置最优梯度提升树(XGBoost)的模型的参数,采用所述生存数据训练集训练得到所述目标行业生存预测模型。
S7:预测应用
将待预测的观测对象的生存数据输入经过步骤S6训练完成的所述目标行业的生存预测模型,获得预后结果。所述待预测的观测对象的生存数据格式满足所述步骤S1)构建的观测对象生存数据表达式。
如图2所示,首先将满足步骤S1)构建的生存数据表达式的观测数据通过数据清洗和数据切分等数据预处理以7:3或8:2的概率随机切分成满足步骤S1)构建的生存数据表达式的生存数据训练集和满足步骤S1)构建的生存数据表达式的生存数据测试集;
然后采用所述生存数据训练集通过图1描述的增强命中算法(HitBoost算法)训练所述目标行业的生存预测模型,并采用所述生存数据测试集通过交叉验证调试所述目标行业的生存预测模型的参数θ、γ和η,优化所述目标行业的生存预测模型;
最后,获取新的生存数据,将其进行数据清洗后,依次输入优化后的所述目标行业的生存预测模型中,优化后的所述目标行业的生存预测模型依次输出所述新的生存数据的预测结果,所述新的生存数据格式满足所述步骤S1)构建的生存数据表达式。
如图1所示,采用增强命中算法(HitBoost算法)训练所述目标行业的生存预测模型,其将自定义损失函数以及自定义损失函数的一阶梯度和二阶梯度表达式同时输入最优梯度提升树(XGBoost)的模型算法框架,采用所述生存数据训练集通过梯度提升树算法得到训练好的所述目标行业的生存预测模型,其中,GBM表示梯度提升机;右删失表示截止观测时间点,特定事件还没有发生;然后将需要预测的生存数据依次输入训练好的所述目标行业的生存预测模型,训练好的所述目标行业的生存预测模型以归一化指数函数softmax依次输出所述需要预测的生存数据的预测值。
所述目标行业为金融、保险、医疗、交通、工业中的任意一种。
本发明充分运用最优梯度提升树(XGBoost)的模型算法框架的优势,使用了更精确的损失函数,并且推导了该损失函数对应的一阶梯度和二阶梯度,将它们计算出来并同时输入最优梯度提升树(XGBoost)的模型算法框架来训练生存预测模型,使得能更好地表示协变量与风险预测值之间的关系;进一步提高生存预测模型的预测性能以及模型的泛化能力;有更好的预测性能和风险区分度;并且适用场景广泛。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围。凡采用等同替换或等效替换,这些变化是显而易见,一切利用本发明构思的发明创造均在保护之列。
Claims (5)
1.一种用于生存风险分析的多输出梯度提升树建模方法,其特征在于:该方法包括如下步骤:
S1)在最优梯度提升树XGBoost的模型算法框架下,首先构建用于建立目标行业生存预测模型的生存数据的表达式;
S2)定义所述目标行业生存预测模型的生存数据对应的损失函数表达式;
S3)计算所述损失函数;
S4)推导所述损失函数对应的一阶梯度和二阶梯度表达式;
S5)计算所述损失函数对应的一阶梯度和二阶梯度;
S6)将计算出的所述损失函数以及所述损失函数对应的一阶梯度和二阶梯度同时输入最优梯度提升树XGBoost的模型算法框架中,由最优梯度提升树XGBoost的模型算法框架自动训练生成所述目标行业的生存预测模型;
所述目标行业为金融、保险、医疗、交通和工业中的任意一种;
其中,所述步骤S1)中构建用于建立目标行业生存预测模型的生存数据的表达式具体为:所述用于建立目标行业生存预测模型的生存数据由若干个观测对象的生存数据组成,其中,任意一个观测对象i的生存数据表示为{(xi,Ti,δi)|i=1,2,…,n},i表示第i个观测对象,n为观测对象的总个数,另外,表示第i个观测对象的协变量,表示第i个观测对象的末次观测时间,δi∈{0,1}表示在Ti时刻是否观测到第i个观测对象发生特定事件,其中,δi=0表示在Ti时刻未观测到第i个观测对象发生特定事件;δi=1表示在Ti时刻观测到第i个观测对象发生特定事件;
所述步骤S2)中定义所述目标行业生存预测模型的生存数据对应的损失函数表达式具体包括:
S201)根据步骤S1)构建的所述用于建立目标行业生存预测模型的生存数据的表达式为最优梯度提升树XGBoost的模型算法框架定义损失函数,所述损失函数的表达式如下:
L=L1+θ·L2
S202)定义L1的表达式:
定义步骤S201)中的L1的表达式为似然函数负对数形式,其表示为:
S203)定义L2的表达式:
定义步骤S201)中的L2的表达式为:
首先获得集合Ω:对于任意一个观测对象j,j=1,2,…,n,其末次观测时间为Tj,如果特定事件发生,则将末次观测时间小于Tj的其他观测对象i取出,并以(i,j)数对的形式存放在集合Ω,其中,i≠j,i,j=1,2,…,n;
所述步骤S3)中计算所述损失函数具体包括:
S301)将满足步骤S1)构建的生存数据表达式的生存数据训练集输入经过步骤S2)定义了损失函数表达式的最优梯度提升树XGBoost的模型算法框架中,所述经过步骤S2)定义了损失函数表达式的最优梯度提升树XGBoost的模型算法框架对所述生存数据训练集中的任意一个观测对象i的生存数据的预测值向量为其中,是所述生存数据训练集 中观测对象i的在任意离散时间点t的预测值,此时,该预测值等于步骤S202)中定义的预测概率的值;
S302)计算L1:
遍历所述生存数据训练集,对于任意一个观测对象i的生存数据,根据步骤S301)得到的预测值向量并采用步骤S202)定义的L1的表达式,计算得到L1;
S303)计算L2:
遍历所述集合Ω中的所有数对,根据步骤S301)得到的预测值向量并采用步骤S203)定义的L2的表达式,计算得到L2;
S304)计算损失函数L:
将通过步骤S302)和步骤S303)计算得到的L1和L2代入步骤S201)定义的损失函数L的表达式中,计算得到L;
所述步骤S4)中推导所述损失函数对应的一阶梯度和二阶梯度表达式具体包括:
所述步骤S5)中计算所述损失函数对应的一阶梯度和二阶梯度具体包括:
根据步骤S4)得到L2的一阶梯度表达式为如果所述生存数据训练集中的观测对象i发生了特定事件,则根据步骤S 301)得到的预测值向量计算其中,k表示所述生存数据训练集中任意一个观测对象,i≠k且k=1,2,…,n,δk=1表示第k个观测对象发生特定事件,Tk表示第k个观测对象的末次观测时间,其中,Ω1={(i,k)|Ti<Tk},并且Ω2={(k,i)|δk=1,Tk<Ti},另外,α、β的值按照步骤S4)定义的表达式进行计算;
如果所述生存数据训练集中的观测对象i发生了特定事件,则根据步骤S301)得到的预测值向量计算L1的二阶梯度如果所述生存数据训练集中的观测对象i没有发生特定事件,则根据步骤S301)得到的预测值向量计算L1的二阶梯度
L2的二阶梯度表达式为其中,α″=0,如果所述生存数据训练集中的观测对象i发生了特定事件,则根据步骤S301)得到的预测值向量计算另外,根据步骤S502)计算得到α′、β′,根据步骤S4)计算得到α、β;如果所述生存数据训练集中的观测对象i没有发生特定事件,则根据步骤S301)得到的预测值向量计算另外,根据步骤S502)计算得到α′、β′,根据步骤S4)计算得到α、β;
2.根据权利要求1所述的用于生存风险分析的多输出梯度提升树建模方法,其特征在于,所述步骤S6)中将计算出的所述损失函数以及所述损失函数对应的一阶梯度和二阶梯度同时输入最优梯度提升树XGBoost的模型算法框架中,由最优梯度提升树XGBoost的模型算法框架自动训练生成所述目标行业的生存预测模型具体包括:
S601)根据步骤S2)和S3)的描述,编程实现XGBoost库自定义损失函数的接口;并进一步根据步骤S4)和S5)的描述,编程实现XGBoost库自定义损失函数一阶梯度和二阶梯度的接口;
S602)设置最优梯度提升树XGBoost的模型的参数,采用所述生存数据训练集训练得到所述目标行业生存预测模型。
3.根据权利要求2任意一项所述的用于生存风险分析的多输出梯度提升树建模方法,其特征在于,在所述步骤S2)和S3)之间还包括:将满足步骤S1)构建的生存数据表达式的观测数据通过数据清洗和数据切分,以7:3或8:2的概率随机切分成满足步骤S1)构建的生存数据表达式的生存数据训练集和满足步骤S1)构建的生存数据表达式的生存数据测试集。
4.根据权利要求3所述的用于生存风险分析的多输出梯度提升树建模方法,其特征在于,在所述步骤S6)之后还包括:采用所述生存数据测试集通过交叉验证调试所述目标行业生存预测模型的参数θ、γ和η,优化所述目标行业生存预测模型。
5.根据权利要求4所述的用于生存风险分析的多输出梯度提升树建模方法,其特征在于,使用所述目标行业生存预测模型进行生存风险分析的方法为:将需要预测的满足所述步骤S1)构建的观测对象生存数据表达式的观测对象生存数据进行数据清洗后输入优化后的所述目标行业生存预测模型中,所述目标行业生存预测模型输出所述需要预测的观测对象生存数据的预测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910315829.3A CN110119540B (zh) | 2019-04-19 | 2019-04-19 | 一种用于生存风险分析的多输出梯度提升树建模方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910315829.3A CN110119540B (zh) | 2019-04-19 | 2019-04-19 | 一种用于生存风险分析的多输出梯度提升树建模方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110119540A CN110119540A (zh) | 2019-08-13 |
CN110119540B true CN110119540B (zh) | 2022-05-03 |
Family
ID=67521194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910315829.3A Expired - Fee Related CN110119540B (zh) | 2019-04-19 | 2019-04-19 | 一种用于生存风险分析的多输出梯度提升树建模方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110119540B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110738414B (zh) * | 2019-10-15 | 2022-07-15 | 北京明略软件***有限公司 | 一种风险预测方法和装置及计算机可读存储介质 |
CN111429970B (zh) * | 2019-12-24 | 2024-03-22 | 大连海事大学 | 基于极端梯度提升方法进行特征选择来获取多基因风险评分的方法及*** |
CN111310931A (zh) * | 2020-02-05 | 2020-06-19 | 北京三快在线科技有限公司 | 参数生成方法、装置、计算机设备及存储介质 |
CN111461350B (zh) * | 2020-04-08 | 2022-12-09 | 西安交通大学 | 一种基于非线性集成模型的预测数据错误风险方法 |
CN113095390B (zh) * | 2021-04-02 | 2024-06-04 | 东北大学 | 基于云数据库和改进集成学习的手杖运动分析方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180172667A1 (en) * | 2015-06-17 | 2018-06-21 | Uti Limited Partnership | Systems and methods for predicting cardiotoxicity of molecular parameters of a compound based on machine learning algorithms |
CN106682394A (zh) * | 2016-11-30 | 2017-05-17 | 北京拓明科技有限公司 | 一种生存风险的大数据分析方法及*** |
CN108536650B (zh) * | 2018-04-03 | 2022-04-26 | 北京京东尚科信息技术有限公司 | 生成梯度提升树模型的方法和装置 |
CN108896914B (zh) * | 2018-05-11 | 2020-08-04 | 浙江工业大学 | 一种锂电池健康状况的梯度提升树建模与预测方法 |
-
2019
- 2019-04-19 CN CN201910315829.3A patent/CN110119540B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN110119540A (zh) | 2019-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110119540B (zh) | 一种用于生存风险分析的多输出梯度提升树建模方法 | |
Xu et al. | A discrete consensus support model for multiple attribute group decision making | |
US11650968B2 (en) | Systems and methods for predictive early stopping in neural network training | |
Dong et al. | An integrated deep neural network approach for large-scale water quality time series prediction | |
CN109523021A (zh) | 一种基于长短时记忆网络的动态网络结构预测方法 | |
CN113128671B (zh) | 一种基于多模态机器学习的服务需求动态预测方法及*** | |
US20230401637A1 (en) | Deep learning approach for assessing credit risk | |
Li et al. | Multi-task spatio-temporal augmented net for industry equipment remaining useful life prediction | |
Hesamian et al. | Fuzzy quantile linear regression model adopted with a semi-parametric technique based on fuzzy predictors and fuzzy responses | |
CN114897277A (zh) | 一种基于lstm的突发型滑坡位移预测方法 | |
Guo et al. | Data mining and application of ship impact spectrum acceleration based on PNN neural network | |
CN116885697A (zh) | 一种基于聚类分析与智能算法组合的负荷预测方法 | |
Cottin et al. | IDNetwork: A deep illness‐death network based on multi‐state event history process for disease prognostication | |
CN115687882A (zh) | 一种输电断面极限传输容量概率分布估计方法及装置 | |
CN110110906B (zh) | 一种基于Efron近似优化的生存风险建模方法 | |
CN115565669A (zh) | 一种基于gan和多任务学习的癌症生存分析方法 | |
CN115829110A (zh) | 基于马尔可夫逻辑网预测用户行为的方法及装置 | |
CN112988186B (zh) | 异常检测***的更新方法及装置 | |
CN113656707A (zh) | 一种理财产品推荐方法、***、存储介质及设备 | |
CN113569993A (zh) | 一种聚合反应过程质量预测模型构建方法 | |
CN113159419A (zh) | 一种群体特征画像分析方法、装置、设备及可读存储介质 | |
CN116631641B (zh) | 一种集成自适应相似患者图的疾病预测装置 | |
Devianto et al. | Applied Mathematics and Nonlinear Sciences | |
Devianto et al. | An Improvement of Parameter Estimation Accuracy of Structural Equation Modeling using Hybridization of Artificial Neural Network in the Entrepreneurship Structural Model | |
Wijaya | Multi Level Dense Layer Neural Network Model for Housing Price Prediction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220503 |