微信公眾號:【數(shù)據(jù)分析學(xué)習(xí)與實踐】
4.1 項目簡介
在本章中,我們將介紹預(yù)測患者在被診斷為中期結(jié)腸癌(B/C)后的剩余生存時間的模型。建模過程中們使用了提升法和一些可解釋方法见秤,如特征重要性置济、其他因素(Ceteris Paribus)和局部依賴性、分解圖和LIME。
我們將使用R中survival包中“B/C期結(jié)腸癌化療”的數(shù)據(jù)拧揽。文件鏈接("https://stat.ethz.ch/R-manual/R-devel/library/survival/html/colon.html" )积蔚,該包可以在R控制臺用install.packages("survival")命令安裝。安裝完成后,可以通過survival::colon命令訪問數(shù)據(jù)集。
4.1.1 什么是提升模型捆交?
機(jī)器學(xué)習(xí)中的經(jīng)典算法認(rèn)為:預(yù)測事件的因果影響是很難的胃惜,因為它們更適合于預(yù)測行動后的結(jié)果堡僻。在特定情況下,如營銷活動或醫(yī)療役电,因果影響可能是極其重要的。所以酥夭,因果關(guān)系在機(jī)器學(xué)習(xí)能力和業(yè)務(wù)具體需求之間的矛盾下待错,可以通過另一種方式解決适瓦,即上升模型可以使用兩個訓(xùn)練集(治療組和控制組)的情況下,這個問題得到了根本解決。
提升模型是機(jī)器學(xué)習(xí)的一個技術(shù)或分支盯质,它試圖預(yù)測接觸某種行動或治療的群體與對照組(沒有這種行動或治療)之間的類別概率差異晋辆。
這種技術(shù)也在“識別治療效果最明顯的病人”的預(yù)測中廣泛應(yīng)用霞溪,因此它不僅通常用于營銷活動或醫(yī)療,也用于其他客戶服務(wù)中捆。
參考文獻(xiàn):
Uplift modeling with survival data (Jaroszewicz and Rzepakowski 2014),Uplift modeling for clinical trial data (Jaskowski and Jaroszewicz 2012),Uplift Modeling for Multiple Treatments with Cost Optimization (Zhao and Harinen 2019),Linear regression for uplift modeling (Krzysztof and Jaroszewicz 2018),Ensemble methods for uplift modeling (So?tys, Jaroszewicz, and Rzepakowski 2015).
4.1.2 數(shù)據(jù)集描述
我們使用的數(shù)據(jù)來自最早的結(jié)腸癌輔助化療的成功試驗之一鸯匹。有兩種類型的治療。左旋咪唑是一種低毒性的化合物泄伪,以前用于治療動物的蟲害殴蓬,其對結(jié)腸癌的治療效果有一定的療效。5-氟尿嘧啶(FU)是一種中等毒性的化療劑蟋滴。相對來說是"最強(qiáng)"的治療方法染厅。在癌癥切除術(shù)后這兩種藥物開始進(jìn)行干預(yù),它是輔助性的化學(xué)治療脓杉,也成為"術(shù)后治療"糟秘。
每個人有兩個記錄,一條是復(fù)發(fā)記錄球散,一條是死亡記錄尿赚。數(shù)據(jù)集包含1858個觀察值和16個特征,在4.1表中有描述蕉堰。
表4.1: 在數(shù)據(jù)集中發(fā)現(xiàn)的變量描述與數(shù)據(jù)探索中的數(shù)值類型凌净。
通常情況下,生存數(shù)據(jù)包括兩個變量:觀察到的生存time(我們數(shù)據(jù)集中的時間變量)和一個二元狀態(tài)變量(我們數(shù)據(jù)集中的狀態(tài)變量)屋讶。狀態(tài)變量表示事件是否被觀察到(通常用 status=1表示‘是’)冰寻。然而,如果事件沒有被觀察到(status=0)皿渗,那么真實的生存時間就是刪失數(shù)據(jù)斩芭,可以邏輯上推理真實的生存時間大于等于time,也就是說沒有觀察到的數(shù)據(jù)乐疆,我們認(rèn)為在time時間點(diǎn)下划乖,病人依然存活。
重要說明請注意挤土,這個數(shù)據(jù)集包含刪失數(shù)據(jù)琴庵。這意味著時間變量并不提供關(guān)于生存時間的確切信息,而是提供生存時間的下限。因此迷殿,該問題應(yīng)轉(zhuǎn)化為一個分類分類儿礼,即某個病人是否超過了給定的時間而存活下來τ閾值,即建立模型 P(t≥τ)庆寺。然而蚊夫,我們在建模時不知道如何處理刪減數(shù)據(jù),我們堅持把它作為一個典型的回歸問題進(jìn)行建模止邮。
因此这橙,本章不應(yīng)被視為建模的例子,而應(yīng)被視為為提升+回歸問題創(chuàng)建解釋的特定例子导披。
4.1.3 構(gòu)思
可以使用這些數(shù)據(jù)在許多研究方向:
預(yù)測病人的預(yù)期壽命屈扎,包含是否接受治療兩種情況。
預(yù)測治療是否有效撩匕。
根據(jù)施用的藥物預(yù)測預(yù)期壽命鹰晨。
我們決定將重點(diǎn)放在提到第三個方向上。有兩種模型可以為這種方法建模止毕。其中一種是分類模蜡,即病人的壽命是否會超過給定的閾值,第二種是回歸扁凛,我們將重點(diǎn)關(guān)注忍疾,回歸的結(jié)果是治療對預(yù)期壽命的改變程度。
4.1.4 為什么值得費(fèi)心谨朝?
當(dāng)病人得知結(jié)腸癌疾病時卤妒,他們通常會問:"我還有多少時間,他還有多少時間字币?"则披。那現(xiàn)在怎么辦?有什么治療方法洗出?醫(yī)生可能會指出一些可能有效的治療方法士复,但仍然無法告訴病人還剩多少時間,或者病人的預(yù)期壽命是多少翩活。
這個模型的目的是幫助提供更準(zhǔn)確的數(shù)據(jù)來回答病人的問題阱洪,以及預(yù)測治療能延長他們的預(yù)期壽命多久。
4.2 數(shù)據(jù)預(yù)處理
我們刪除了列菠镇。
id,
study,
etype,
study - 回歸方法
數(shù)據(jù)集被劃分為澄峰。
x - 所有特征(不包括time和rx)
y - 目標(biāo)變量(time)
treatment - rx變量
變量rx的分布如4.2表所示。這一特征已被歸類辟犀。
表4.2:具有特定處理類型的觀察值數(shù)量
4.3 模型
為了預(yù)測模型,我們使用了Python3中causalml包的算法。為了優(yōu)化超參數(shù)堂竟,我們使用了同樣在Python3中的軟件包hyperopt的算法魂毁。
最終的模型是XGBTRegressor,參數(shù)總結(jié)在4.3表中出嘹。
結(jié)果得出了(Lev)平均治療效果74.38席楚,(Lev+5-FU)平均治療效果185.69
平均治療效果(ATE)是一種用于比較隨機(jī)實驗中的治療方法的衡量指標(biāo),是對醫(yī)療試驗的評估税稼。ATE衡量病人在治療情況下和對照情況之間的平均結(jié)果差異烦秩。在隨機(jī)試驗中,平均治療效果可以通過比較接受治療和未接受治療的病人的平均結(jié)果郎仆,從樣本中估計出來只祠。個人的治療效果i的治療效果由以下公式給出:
其中(4.1)式中的sum所有的N個體。
4.4 解釋
我們使用的模型為每種類型的治療創(chuàng)建了一個子模型扰肌。在我們的案例中抛寝,我們得到了兩個模型--一個用于Lev治療,另一個用于Lev+5FU治療曙旭。因此盗舰,我們正在用已知的方法構(gòu)建兩套獨(dú)立的解釋。此外桂躏,我們將嘗試解釋如何讓不同用戶所使用钻趋。
在本章開始時,我們選擇了特征重要性剂习,這似乎是一個自然的選擇--檢查哪些變量似乎對模型的預(yù)測貢獻(xiàn)最大蛮位。
4.4.1 特征重要性
圖4.1所示的特征重要性圖顯示了對給定變量進(jìn)行排列組合可能帶來的損失。這是已知變量的重要程度的指標(biāo)进倍,因為丟棄特征重要性高的變量的對模型的損失越大土至。損失是用均方根來衡量的。為了解釋其重要性猾昆,我們選擇了幾個主觀上認(rèn)為有趣的變量陶因。
圖4.1所示的兩個模型的共同特征“年齡”是相當(dāng)重要的變量。該圖顯示贴见,將年齡列進(jìn)行替換會產(chǎn)生很大的損失烘苹。這可以建議使用模型選擇最佳治療方法的時候,醫(yī)生在選擇治療方法時將病人的年齡考慮在內(nèi)片部。另一方面镣衡,開發(fā)癌癥治療藥物的公司可以研究年齡組,并致力于創(chuàng)造治療某個年齡組的藥物,因為該年齡組可能缺乏這種治療方法廊鸥,或者目前使用的治療方法無效望浩。
我們可以從這個圖中得到的第二個重要信息是node4的變量。根據(jù)我們的領(lǐng)域知識惰说,node4的數(shù)量對治療癌癥的手術(shù)后的存活率有積極的影響磨德。我們可以看到,在所有的變量中吆视,對于較強(qiáng)的治療方法(Lev+5FU)典挑,這個變量的損失率是最大的。這證明了關(guān)于病人病史的信息對于選擇正確的治療方法至關(guān)重要啦吧,因為nodes給了我們關(guān)于治療效率的信息您觉。
我們想做的最后一個觀察是,在描述左旋咪唑治療的模型中丰滑,drop-out率是如何提高的顾犹,3.5%很難解釋這種趨勢。我們得出的一個想法是褒墨,更強(qiáng)的治療方法總體上有更好的效果炫刷,因此它對特定變量的特征重要性最低。
4.4.2 因素不變 和 局部依賴
圖4.2顯示了我們兩個模型的因素不變的輪廓和平均局部依賴輪廓郁妈。我們可以看到浑玛,每個變量的子圖在大多數(shù)情況下都不會引起我們的興趣。這是由于數(shù)據(jù)集中有大量的二元變量噩咪」苏茫考慮到這一點(diǎn),我們決定把重點(diǎn)放在兩個變量上胃碾,這兩個變量乍看之下似乎有最有趣的圖畫涨享。這些變量是age和nodes。為了更清楚地了解所選變量的情況仆百,我們在圖4.3中只展示了它們的圖譜厕隧。
圖4.2:在代表不同處理的模型方面,數(shù)據(jù)集中每個變量的因素不變(Ceteris Paribus)和局部依賴(Partial Dependence Profiles)俄周。
在放大的圖4.3中吁讨,nodes變量的圖象與年齡相比顯得更加穩(wěn)定。對于這兩種處理類型峦朗,我們可以觀察到大的nodes值的平坦化建丧。這種平坦的現(xiàn)象很可能是由于節(jié)點(diǎn)數(shù)量太多造成的冗余。在預(yù)測值為10左右時波势,預(yù)測值有明顯的增加翎朱。這與我們的領(lǐng)域知識相一致橄维,即12個節(jié)點(diǎn)是真正合適的數(shù)量,可以增加成功治療的機(jī)會闭翩。因此挣郭,如果12個節(jié)點(diǎn)已經(jīng)足夠好,那么再多的節(jié)點(diǎn)也不會對生存能力和模型的預(yù)測做出貢獻(xiàn)疗韵。
對于年齡變量來說,尖峰趨勢似乎跨越了圖4.3中繪制的所有Ceteris Paribus曲線侄非。這可能是由于治療不依賴于病人的年齡蕉汪,或者年齡受其他變量的影響很大。從我們的分析來看逞怨,我們熱衷于做出假設(shè)者疤,即第一個判斷是為真〉猓考慮到這一點(diǎn)驹马,有兩個明顯的尖峰--一個大約是35歲,另一個是65歲除秀。這一觀察從不同的角度來看都很有趣糯累。
首先,從我們--數(shù)據(jù)分析師--的角度來看册踩。這些峰值可以表明泳姐,某些年齡組有更高的提升效應(yīng)。這對監(jiān)督病人的醫(yī)生來說是一個關(guān)鍵信息暂吉。如果病人的年齡屬于能很好地應(yīng)對其中一種治療方法的年齡組胖秒,那么它可以使選擇更容易。另一方面慕的,如果病人的年齡與峰值不重合阎肝,那么可能會建議尋找不同類型的治療方法,而不是我們這里提供的兩種肮街。最后风题,這些信息可以由藥房聯(lián)盟使用。很明顯低散,只有兩個年齡組的治療效果似乎比平均水平好俯邓。這可以給出一個明確的方向,在開發(fā)新藥和治療方法時熔号,選擇年齡組的治療應(yīng)該優(yōu)先被考慮稽鞭。
分組的部分依賴性概況
為了從醫(yī)生和資本家的角度進(jìn)行更詳細(xì)的分析,我們決定按extent變量對剖面進(jìn)行分組引镊。這個變量提供了關(guān)于病人的疾病進(jìn)展程度的信息朦蕴。
正如我們在圖4.4中看到的篮条,兩個變量的子圖的總體形狀在不同組之間沒有太大變化。這種趨勢在我們的兩個治療模型中都得到了保持吩抓。說到nodes變量涉茧,兩個treatment之間有一個相當(dāng)明顯的差異--就是第四組(XGBTRegressor Lev4和XGBTRegressor Lev+5FU4)。較強(qiáng)的處理方法(Lev+5FU)在其他組中并不突出疹娶,而較弱的處理方法則落后于其他組伴栓。這導(dǎo)致了以下結(jié)論:對于高度發(fā)展的癌癥和轉(zhuǎn)移的病人來說,較弱的治療方法簡單地說就是太弱了雨饺,不管病人有多少結(jié)節(jié)钳垮。用左旋咪唑治療這種晚期疾病是不夠的。這是醫(yī)生在做出最后的治療選擇之前希望看到的結(jié)論额港。如果沒有這個信息饺窿,所指定的治療可能沒有足夠的效果。
相反移斩,年齡變量并沒有顯示出如此單一的強(qiáng)烈趨勢肚医。然而,正如我們之前指出的向瓷,35歲和65歲有兩個峰值肠套。分組的PDP圖顯示,年齡=35的尖峰主要由extent=3的病人組成风罩,而年齡=65的尖峰似乎跨越了extent變量的所有水平糠排。這是平均部分依賴性曲線所不能提供的洞察力。從數(shù)據(jù)科學(xué)家的角度來看超升,這是一個重要的教訓(xùn)入宦,即變量之間的相關(guān)性確實會發(fā)生,應(yīng)該徹底檢查室琢。對于醫(yī)生來說乾闰,這些信息可以改變提供特定治療的決定。如果病人屬于年齡=35歲組盈滴,但沒有出現(xiàn)治療效果好的特定程度涯肩,那么可以建議轉(zhuǎn)向其他治療。另一方面巢钓,對于藥房來說病苗,這也是一個明確的信號,要分析“為什么給定的治療對這樣一個特定的群體有效”症汹。這項研究可用于開發(fā)新的治療方法和提高癌癥患者的預(yù)期壽命硫朦。
總的來說,局部依賴性剖析對整個數(shù)據(jù)集提供了有價值的洞察力背镇。我們認(rèn)為咬展,在這個特定的案例中泽裳,也就是衡量治療的回歸任務(wù)中,平均和分組的局部依賴性剖面都給出了關(guān)于治療方法對不同目標(biāo)群體的作用的寶貴信息破婆。在我們的案例中涮总,就結(jié)腸癌數(shù)據(jù)而言,最好的落地方案似乎是幫助醫(yī)生辦公室選擇正確的治療方法祷舀,以及藥品研發(fā)認(rèn)可的針對對治療沒有滿意效果的群體的研究瀑梗。
4.4.3 實例層面的解釋
對于實例級的解釋,我們決定把重點(diǎn)放在數(shù)量有限的觀察上裳扯。這些觀察結(jié)果來自于在數(shù)據(jù)探索過程中似乎提供了有趣的結(jié)果夺克。
兩位患者的癌癥嚴(yán)重程度相同嚎朽,都是由extent變量表示的。其中一位是女性柬帕,另一位是男性哟忍。年齡較大的患者(年齡=68)的癌癥與周圍的器官粘連,而另一位患者的癌癥沒有粘連--這是由differ變量表示的陷寝。最后锅很,最后一個差異是在差異變量中,即結(jié)腸細(xì)胞和癌細(xì)胞之間的差異凤跑。
總結(jié)一下爆安,我們有一位68歲的婦女,她的腫瘤粘附在周圍器官上仔引,但屬于中晚期扔仓,因為細(xì)胞分化很小,只發(fā)現(xiàn)了2個可檢測到癌癥的淋巴結(jié)咖耘。讓我們稱她為“病危夫人”翘簇。我們還有一位56歲的男子,他的癌癥是相當(dāng)晚期的儿倒,因為他有高度分化的癌細(xì)胞和大量的淋巴結(jié)版保。為了解釋和文章的目的,讓我們稱他為“病危先生“夫否。
解釋圖已經(jīng)為“病危夫人”和“病危先生“這兩個病人構(gòu)建彻犁。對每個病人都有兩個不同的圖。之所以有兩個不同的圖凰慈,是因為下面的XGBTRegressor模型為每一種治療方法創(chuàng)建了一個模型汞幢。因此,我們對每一種治療類型都有一個圖--在我們的例子中是左旋咪唑(Lev)和左旋咪唑+5-氟尿嘧啶(Lev+5FU)--如下圖所示溉瓶。
4.4.3.1 分解圖
分解圖顯示了變量的給定值對模型結(jié)果的影響急鳄,即哪個值對模型的影響是正面的(負(fù)面的)谤民,正面的(負(fù)面的)程度。這使我們能夠檢查特定的病人的哪些方面在特定治療中是關(guān)鍵的疾宏,或者哪些方面可能使他/她失去接受給定治療的資格张足。了解這些方面可能有助于為病人選擇治療方法的醫(yī)生,但也可能有助于概述病人所處的情況坎藐,使他有更多的知識和理解为牍。此外,在我們的案例中岩馍,我們看到了兩種類型的治療方法之間的比較碉咆,這也可以幫助治療的決策過程,它可以被制藥公司在向市場推出新藥時使用--通過比較 "舊"和 "新"藥物蛀恩。因此疫铜,讓先進(jìn)的治療方法可以應(yīng)用于更多病人。
在圖4.5中對于Lev的治療双谆,我們可以看到壳咕,年齡、性別和“病危夫人”的癌癥來到周圍器官的事實對預(yù)后有非常消極的影響顽馋。然而谓厘,少量的淋巴結(jié)可檢測到癌癥,以及“病危夫人”希望在手術(shù)后立即開始治療的事實就會有非常積極的作用寸谜。最后竟稳,我們可以看到,如果“病危夫人”決定治療利瓦米索熊痴,很不幸會對她造成傷害他爸,也許是因為藥性太弱,不會對癌癥造成傷害愁拭,而是對健康夫人的健康造成傷害讲逛。在圖4.5的右邊,我們有假設(shè)Lev+5FU治療的預(yù)測岭埠,在這里我們看到對結(jié)果有負(fù)面影響的變量還有age和與周圍器官是否粘連盏混,注意這里的性別和腫瘤分化對預(yù)測有積極影響。此外惜论,最終的結(jié)果Lev治療要高许赃。我們可以看到,在這里使用更強(qiáng)的藥物會有更好的效果馆类。這樣特定的情況可以幫助醫(yī)生決定選擇哪種藥物以及解釋為什么這樣選擇混聊。此外,在與病人的交談中乾巧,具體的數(shù)字句喜、數(shù)據(jù)和圖表會有鎮(zhèn)定的作用预愤,病人會感到更有信心,正如我們所知咳胃,心理健康與身體健康一樣重要植康。
在圖4.6中對Lev的治療,我們可以看到“病危先生”的病情非常嚴(yán)重展懈,因為除了腫瘤不與周圍器官粘連外销睁,所有的變量都導(dǎo)致了如此低的預(yù)測值。從對“病危先生”病情的一般描述中存崖,我們看不出他對治療的效果如此糟糕冻记。治療病人的醫(yī)生看到這樣的圖表,立即知道必須排除Lev的治療方案来惧。它提示如果醫(yī)生和病人決定Lev治療冗栗,它的預(yù)測結(jié)果非常差,超過1500天的drop-out」┎螅現(xiàn)在讓我們看看右邊的圖表贞瞒,它講述了“病危先生”屬性如何影響對他的病情是否會改善的預(yù)測〕寐看到這個預(yù)測,即超過800天的損失棕洋,我們知道這種治療也不值得為“病危先生”使用挡闰。讓我們仔細(xì)看一下這個圖表。與之前的治療不同掰盘,年齡的影響更加明顯摄悯,“病危先生”對強(qiáng)效治療的反應(yīng)比弱效治療差200多倍。彼得的腫瘤沒有擴(kuò)散到周圍的器官愧捕,這對兩種治療都有積極的影響奢驯。lev-u5治療的積極效果是,“病危先生”在手術(shù)后立即接受了治療次绘,并且在手術(shù)中至少切除了4個可檢測到癌細(xì)胞的淋巴結(jié)瘪阁。在“病危先生”的案例中,所建議的治療方法都不能令人滿意邮偎。
4.5 總結(jié)和結(jié)論
解釋方法不僅有助于了解數(shù)據(jù)分析師可以使用的模型的運(yùn)行情況(特征重要性管跺、PDP、Cateris Paribus)禾进,還可以指出哪些變量會影響結(jié)果以及它們?yōu)槭裁粗匾–ateris Paribus豁跑、Break Down)。第二個方面可用于指導(dǎo)病人治療的醫(yī)生泻云,也可用于向市場推出新藥的藥劑師艇拍,或臨床試驗的研究人員狐蜕。這些人都需要清晰透明的圖表來了解預(yù)測的本質(zhì)和特定變量對模型的影響。
在Uplifts問題上卸夕,模型架構(gòu)起著重要的作用层释。應(yīng)該記住,一個模型中有兩個預(yù)測娇哆,最后要相互減去湃累,才能知道如果我們使用某種藥物與不獲得任何藥物相比,我們的結(jié)果會提高多少碍讨。要顯示這樣一個模型的結(jié)果并不容易治力,而且有很多限制。例如勃黍,在這里使用LIME方法是不可取的宵统,因為這種方法不是加法的。減去LIME所返回的因素覆获,不會得到任何信息马澈。
使用任何解釋都是不夠的,你必須為問題選擇正確的方法弄息。在uplist中痊班,只有加法的方法才能帶來一些價值。在這一章中摹量,我們處理了一些選定的方法(FI, PDP, CP,BD)涤伐,但仍有許多方法可以研究,包括SHAP值
微信公眾號:【數(shù)據(jù)分析學(xué)習(xí)與實踐】