本發(fā)明涉及數(shù)據(jù)預(yù)測分析領(lǐng)域,具體涉及一種基于COX模型和隨機(jī)生存森林的數(shù)據(jù)預(yù)測分析方法。
背景技術(shù):
現(xiàn)在的社會(huì)是一個(gè)高速發(fā)展的社會(huì),信息流通,科技發(fā)達(dá),人們之間的交流越來越密切,生活也越來越方便,大量的數(shù)據(jù)就是這個(gè)高科技時(shí)代的產(chǎn)物。如何利用好這些數(shù)據(jù),從數(shù)據(jù)中挖掘有價(jià)值的信息,是企業(yè)贏得競爭的關(guān)鍵。隨機(jī)森林法是目前常用的處理高維數(shù)據(jù)的機(jī)器學(xué)習(xí)法之一。該方法無需事先指定參數(shù)的分布特征,并且可以評價(jià)每個(gè)預(yù)測變量對結(jié)局的預(yù)測能力;同時(shí)利用內(nèi)部交叉驗(yàn)證評價(jià)其預(yù)測錯(cuò)誤率并能夠保證有較高的準(zhǔn)確性。因其表現(xiàn)突出,不斷地被應(yīng)用于高維數(shù)據(jù)的研究分析中。隨機(jī)生存森林是隨機(jī)森林的發(fā)展,適用于右截尾的生存資料,適合生存分析的應(yīng)用。
但是,很多的分析工作中的數(shù)據(jù)都特別多,如果直接導(dǎo)入會(huì)使R軟件運(yùn)行崩潰,而且有過多無關(guān)變量會(huì)影響到預(yù)測效果。
鑒于上述缺陷,本發(fā)明創(chuàng)作者經(jīng)過長時(shí)間的研究和實(shí)踐終于獲得了本發(fā)明。
技術(shù)實(shí)現(xiàn)要素:
為解決上述技術(shù)缺陷,本發(fā)明采用的技術(shù)方案在于,提供一種基于COX模型和隨機(jī)生存森林的數(shù)據(jù)預(yù)測分析方法,該方法包括以下步驟:
步驟S1,對數(shù)據(jù)集中的觀測值作KM曲線圖,從所述KM曲線圖中得出隨著時(shí)間增長的生存函數(shù)變化趨勢;
步驟S2,對所述數(shù)據(jù)集中的變量作COX模型并進(jìn)行篩選;
步驟S3,對所述數(shù)據(jù)集中的觀測值按75%比例隨機(jī)分成測試集和訓(xùn)練集;
步驟S4,對所述訓(xùn)練集進(jìn)行隨機(jī)生存森林回歸,得到隨機(jī)生存森林模型;
步驟S5,用所述隨機(jī)生存森林模型對所述測試集進(jìn)行效果評估。
較佳的,所述COX模型形式為:
h(t/X)=h0(t)exp(β1X1+β2X2+……+βpXp)
其中,h0(t)表示基準(zhǔn)風(fēng)險(xiǎn)函數(shù),即所有變量取零時(shí)的t時(shí)刻的風(fēng)險(xiǎn)函數(shù);X1,X2,……Xp表示影響因素變量;β1、β2……βp表示回歸系數(shù)。
較佳的,所述步驟S4包括以下步驟:
步驟S41,確定決策樹的規(guī)模;
步驟S42,選擇重要性變量;
步驟S43,對所述重要性變量重新進(jìn)行隨機(jī)生存森林模型擬合。
較佳的,所述確定決策樹的規(guī)模具體為:選擇規(guī)模最小的決策樹。
較佳的,所述步驟S42具體為:對所有變量進(jìn)行隨機(jī)生存森林模型擬合,作出重要性排名圖,根據(jù)重要性排名,從重要性最大的變量開始,逐一加入模型進(jìn)行擬合,直至所有變量均在模型中,并且算出每一次擬合的預(yù)測誤差率,選擇預(yù)測誤差率最小的對應(yīng)的變量作為最重要性變量。
較佳的,所述步驟S5具體為:用得到的隨機(jī)生存森林模型對測試集進(jìn)行預(yù)測,計(jì)算出預(yù)測誤差率和作出ROC曲線,判斷模型的擬合效果和預(yù)測效果。
現(xiàn)有技術(shù)比較本發(fā)明的有益效果在于:本發(fā)明提供的一種基于COX模型和隨機(jī)生存森林的數(shù)據(jù)預(yù)測分析方法,先使用COX模型進(jìn)行變量篩選,能大大的減少入模變量的個(gè)數(shù),最后把篩選的變量以隨機(jī)生存森林模型的方法對數(shù)據(jù)進(jìn)行擬合和預(yù)測,并根據(jù)ROC圖判斷模型的擬合和預(yù)測效果。這種COX模型和隨機(jī)生存森林模型相結(jié)合的預(yù)測方法在針對特點(diǎn)為樣本量多、變量特別多、且個(gè)別變量間存在高度相關(guān)性的數(shù)據(jù)集,能大大的加快軟件運(yùn)行速度,大幅提高模型預(yù)測效果。
附圖說明
為了更清楚地說明本發(fā)明各實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹。
圖1為本發(fā)明提供的一種基于COX模型和隨機(jī)生存森林的數(shù)據(jù)預(yù)測分析方法的流程圖。
具體實(shí)施方式
以下結(jié)合附圖,對本發(fā)明上述的和另外的技術(shù)特征和優(yōu)點(diǎn)作更詳細(xì)的說明。
如圖1所示,為本發(fā)明的一種基于COX模型和隨機(jī)生存森林的數(shù)據(jù)預(yù)測分析方法的流程圖,該分析方法包括以下步驟:
步驟S1,對數(shù)據(jù)集中的觀測值作KM曲線圖,從KM曲線圖中得出隨著時(shí)間增長的生存函數(shù)變化趨勢。
數(shù)據(jù)集包括觀測值和變量,數(shù)據(jù)集的特點(diǎn)為樣本量多,變量特別多、且個(gè)別變量間存在高度相關(guān)性。
步驟S2,對數(shù)據(jù)集中的變量作COX模型并進(jìn)行篩選。
COX比例風(fēng)險(xiǎn)回歸模型(Cox’s proportional hazards regression model),簡稱COX回歸模型。模型基本形式為:
h(t/X)=h0(t)exp(β1X1+β2X2+……+βpXp)
其中,h0(t)表示基準(zhǔn)風(fēng)險(xiǎn)函數(shù),即所有變量取零時(shí)的t時(shí)刻的風(fēng)險(xiǎn)函數(shù);X1,X2,……Xp表示影響因素變量;β1、β2……βp表示回歸系數(shù)。通過系數(shù)的顯著性檢驗(yàn)的p值進(jìn)行變量的篩選,當(dāng)p>0.05時(shí),剔除該變量,p<0.05的變量進(jìn)入下一步的建模。通過篩選可以大大減少計(jì)算量和排除無關(guān)變量。
步驟S3,對數(shù)據(jù)集中的觀測值按75%比例隨機(jī)分成測試集和訓(xùn)練集。
步驟S4,對訓(xùn)練集進(jìn)行隨機(jī)生存森林回歸,得到隨機(jī)生存森林模型。
隨機(jī)森林算法是通過訓(xùn)練多個(gè)決策樹,生成模型,然后綜合利用多個(gè)決策樹進(jìn)行分類。隨機(jī)森林算法只需要兩個(gè)參數(shù):構(gòu)建的決策樹的個(gè)數(shù)t;在決策樹的每個(gè)節(jié)點(diǎn)進(jìn)行分裂時(shí)需要考慮的輸入特征的個(gè)數(shù)m。
單棵決策樹的構(gòu)建:(1)令N為訓(xùn)練樣例的個(gè)數(shù),則單棵決策樹的輸入樣例的個(gè)數(shù)為N個(gè)從訓(xùn)練集中有放回的隨機(jī)抽取N個(gè)訓(xùn)練樣例。(2)令訓(xùn)練樣例的輸入特征的個(gè)數(shù)為M,且m遠(yuǎn)遠(yuǎn)小于M,則我們在每棵決策樹的每個(gè)節(jié)點(diǎn)上進(jìn)行分裂時(shí),從M個(gè)輸入特征里隨機(jī)選擇m個(gè)輸入特征,然后從這m個(gè)輸入特征里選擇一個(gè)最好的進(jìn)行分裂。m在構(gòu)建決策樹的過程中不會(huì)改變。(3)每棵樹都一直這樣分裂下去,直到該節(jié)點(diǎn)的所有訓(xùn)練樣例都屬于同一類。不需要剪枝。
隨機(jī)森林的分類結(jié)果:按照上述單棵決策樹生成方法生成t個(gè)決策樹之后,對于每個(gè)新的測試樣例,綜合多個(gè)決策樹的分類結(jié)果來作為隨機(jī)森林的分類結(jié)果。(1)目標(biāo)特征為數(shù)字類型:取t個(gè)決策樹的平均值作為分類結(jié)果。(2)目標(biāo)特征為類別類型:少數(shù)服從多數(shù),取單棵樹分類結(jié)果最多的那個(gè)類別作為整個(gè)隨機(jī)森林的分類結(jié)果。
該步驟包括以下步驟:
步驟S41,確定決策樹的規(guī)模。
確定決策樹的規(guī)模具體為:選擇規(guī)模最小的決策樹。所謂規(guī)模最小的決策樹,是指當(dāng)繼續(xù)增大決策樹的規(guī)模,其錯(cuò)誤率沒有太大浮動(dòng),基本保持在差不多的水平時(shí),我們確定此時(shí)決策樹的規(guī)模。
步驟S42,選擇重要性變量。
對所有變量進(jìn)行隨機(jī)生存森林模型擬合,作出重要性排名圖,根據(jù)重要性排名,從重要性最大的變量開始,逐一加入模型進(jìn)行擬合,直至所有變量均在模型中,并且算出每一次擬合的預(yù)測誤差率,選擇預(yù)測誤差率最小的對應(yīng)的變量作為最重要性變量。
步驟S43,對重要性變量重新進(jìn)行隨機(jī)生存森林模型擬合。
步驟S5,用隨機(jī)生存森林模型對測試集進(jìn)行效果評估。
用新得到的隨機(jī)生存森林模型對測試集進(jìn)行預(yù)測,計(jì)算出預(yù)測誤差率和作出ROC曲線,判斷模型的擬合效果和預(yù)測效果。
下面通過基因數(shù)據(jù)的分析對乳腺癌轉(zhuǎn)移風(fēng)險(xiǎn)進(jìn)行預(yù)測為例闡述本發(fā)明的方法:該數(shù)據(jù)集含有298個(gè)觀測值及個(gè)22285個(gè)變量(包括生存時(shí)間、事件狀態(tài)以等),數(shù)據(jù)集特點(diǎn)為樣本量多、變量特別多、且個(gè)別變量間存在高度相關(guān)性。
Step1,對觀測值作KM曲線
從KM曲線圖中得出乳腺癌轉(zhuǎn)移風(fēng)險(xiǎn)隨著時(shí)間增長的生存函數(shù)變化趨勢。
Step2,對變量作COX模型進(jìn)行篩選
運(yùn)用COX建模的方法,在R軟件中運(yùn)行,我們把原始的22285個(gè)基因變量篩選剩下368個(gè)變量,大大減少了計(jì)算量和排除了無關(guān)變量。再將298個(gè)觀測值按75%的比例隨機(jī)分成測試集和訓(xùn)練集。
Step3,對訓(xùn)練集數(shù)據(jù)進(jìn)行隨機(jī)生存森林回歸
首先,為節(jié)約R軟件運(yùn)行時(shí)間,在保證預(yù)測錯(cuò)誤率的情況下,選擇規(guī)模最小的樹。即當(dāng)繼續(xù)增大樹的規(guī)模,其錯(cuò)誤率沒有太大浮動(dòng),基本保持在差不多的水平時(shí),我們確定此時(shí)決策樹的規(guī)模。
確定樹的規(guī)模之后,對所有變量進(jìn)行隨機(jī)生存森林?jǐn)M合,并作出重要性排名前50的變量的重要性排名圖。接下來,根據(jù)重要性排名,從重要性最大的變量開始,逐一加入模型進(jìn)行擬合,直至所有變量均在模型中,并且算出每一次擬合的預(yù)測誤差率,選擇預(yù)測誤差率最小的模型對應(yīng)的變量作為我們選出來的重要性變量。最終,我們選入35個(gè)重要性變量。對選入模型的35個(gè)變量重新進(jìn)行隨機(jī)生存森林模型擬合。
Step4,模型效果評估
用新得到的模型對測試集進(jìn)行預(yù)測,預(yù)測誤差率為26.22%,對訓(xùn)練集進(jìn)行預(yù)測,預(yù)測誤差率為1.83%。并分別對測試集和訓(xùn)練集作ROC圖,根據(jù)ROC圖判斷模型的擬合效果和預(yù)測效果。
本發(fā)明提供的一種基于COX模型和隨機(jī)生存森林的數(shù)據(jù)預(yù)測分析方法,先使用COX模型進(jìn)行變量篩選,能大大的減少入模變量的個(gè)數(shù),最后把篩選的變量以隨機(jī)生存森林模型的方法對數(shù)據(jù)進(jìn)行擬合和預(yù)測,并根據(jù)ROC圖判斷模型的擬合和預(yù)測效果。這種COX模型和隨機(jī)生存森林模型相結(jié)合的預(yù)測方法在針對特點(diǎn)為樣本量多、變量特別多、且個(gè)別變量間存在高度相關(guān)性的數(shù)據(jù)集,能大大的加快軟件運(yùn)行速度,大幅提高模型預(yù)測效果。
以上所述僅為本發(fā)明的較佳實(shí)施例,對本發(fā)明而言僅僅是說明性的,而非限制性的。本專業(yè)技術(shù)人員理解,在本發(fā)明權(quán)利要求所限定的精神和范圍內(nèi)可對其進(jìn)行許多改變,修改,甚至等效,但都將落入本發(fā)明的保護(hù)范圍內(nèi)。