999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于super learner算法的集成學習及其在縱向刪失數據預測建模中的應用

2021-03-09 10:20:16楊崳惠王靜嫻李業棉陳方堯
中國醫院統計 2021年1期
關鍵詞:模型

楊?;?王靜嫻 趙 芃 李業棉 陳方堯

西安交通大學醫學部公共衛生學院流行病與衛生統計學系衛生統計學教研室,710061 陜西 西安

隊列研究是流行病學研究中一種重要的研究類型。在隊列研究中,研究人員常會對大量對象進行長期隨訪,來收集與研究目的相關的信息、記錄特定終點事件的發生情況及發生時間[1]。然而,在研究中通常只有一部分個體在隨訪中發生終點事件,另一部分個體在隨訪期內并未觀測到終點事件的發生,這樣的數據稱為縱向刪失數據(censored data)[2]。而基于刪失數據的預測模型,一直是研究人員感興趣的熱點。本文探討基于super learner算法的集成學習在縱向刪失數據預測建模中的應用,為刪失數據預測提供參考。

1 數據預測建模中的集成學習

目前,基于機器學習(machine learning)的統計分析技術已廣泛應用于生物醫學數據的預測建模分析中[3],它是進行自動或半自動信息(知識)獲取的有力工具,且利用機器學習算法及相關技術對高維數據進行處理,可對傳統的統計分析起到輔助作用。目前,在生物醫學高維數據預測建模分析中,應用較多的機器學習算法包括回歸學習(regression learning)、正則化算法(regularization)、決策樹算法(decision tree)、貝葉斯方法(bayesian method)、核方法(kernel method)、無監督學習(unsupervised learning)和有監督學習(supervised learning)等。

機器學習算法的應用為生物醫學數據的處理和分析提供了新的、有利的工具,然而機器學習算法在實踐中存在以下2個方面的問題。

(1)不同算法在處理同一個數據時得到的結果不完全一樣,即不同算法的預測結果之間存在差異;這時就需要進行算法或模型的選擇(selection),但基于不同的選擇標準,依舊會導致選出的算法或模型不同,進而影響預測結果的穩健性。

(2)即使是同一個算法,如人工神經網絡,在初值設置不同的情況下,最終的預測結果也不盡相同;同時,機器學習算法還容易導致過擬合的問題,使得預測結果的外推性變差。

為了解決上述問題,研究人員提出了集成學習(ensemble learning)方法[4]。相關研究指出,當樣本量足夠大的時候,集成學習可以整合多個機器學習算法,先獨立地基于同一個樣本進行訓練,然后再把各個算法所得的結果整合起來,最終得到整體的預測結果,這改善了預測結果的穩健性和外推性[4-5]。一個較為典型的集成學習方法的實例,就是隨機森林(random forest),它通過將不同的決策樹模型進行整合,構成一個“森林”,最終實現分類預測的目的,其預測準確度較決策樹模型有較大的提升[6]。

1.1 super learner算法

2006年Van der Laan等提出了一種基于損失函數的集成學習算法super learner[7]。該算法含有一個算法箱,其中包含了回歸學習、決策樹等多種機器學習算法。該算法將多種適用于不同情況的算法集合起來,并賦予不同的權重,在交叉驗證(cross-validation)的框架下,找到使得損失函數最小的一套權重,以及在該權重下的算法組合。基本步驟如下。

Step 1:根據研究目的和數據情況,選擇并定義算法箱內的a種系數估計方法;在完整數據集中,使用所選擇的算法,分別單獨基于完整數據進行模型參數估計,得到a個系數估計的模型。

Step 2:將數據分為訓練樣本和測試樣本后,進行K層交叉驗證。

Step 3:對訓練集中的每一層數據使用算法箱中的全部估計方法,得到多套系數估計組合下的模型Ψa(X)。

Step 5:調整算法權重αka,得到使交叉驗證中所得的預測結果最優,即損失函數最小的算法權重:

需要注意的是,選擇不同的損失函數,得到的算法權重估計不全相同。通常情況下,super learner算法使用的損失函數包括絕對誤差損失函數、平方誤差損失函數、適用于二分類因變量的負對數損失函數3類。

Step 6:將調整后得到的最佳算法權重與Step1中得到的每一種算法下的模型參數估計進行組合,得到最終的模型。

基于super learner算法進行預測建模,優點有: (1) 算法選擇靈活:可以自行選擇算法來擬合整體模型,且super learner算法會通過權重來刪除對整體預測能力無貢獻的算法(權重為0);(2) 建模過程基于交叉驗證方法,可有效提高模型預測的準確度,同時降低模型過度擬合的風險;(3) super learner算法得到的模型,可以看作是不同算法下模型的加權組合,可以快速獲得原本需要花費大量實驗才能得出的模型權重,這使集合過程變得更加高效[7-8]。

1.2 基于super learner算法的刪失數據模型

super learner算法在數據刪失率較高或含有時間相依型協變量(time-dependent variable)時,可以更好地利用數據進行建模,且預測能力更高。在使用super learner算法進行刪失數據建模時與常規的cox比例風險模型不同,該算法建模時將刪失時間等距地劃分成時間段,作為應變量納入模型;同時,針對終點事件發生的時間點建立一個指示變量,如果時間段被劃分的足夠精細,則包含有每個時間點指標的參數統計模型,如logistic回歸將近似于cox比例風險模型[9]。

2 super learner算法的R語言實現

super learner算法在R語言中的實現,可以通過R包“SuperLearner”(https://CRAN.R-project.org/package=SuperLearner)進行。該軟件包的當前版本為2.0-26,發布時間為2019年12月。應用該軟件包實現基于super learner算法預測建模的基本語法和參數如下:

2.1 預測模型的建立

使用R軟件包“SuperLearner”中的“SuperLearner”函數進行建模時,函數的基本參數和格式如下:

#模型的建立>Fit<- SuperLearner(Y,#應變量,可以是二分類變量或連續型變量>X,#自變量矩陣>family = ,#鏈接函數,目前可選gaussian()或binomial()>SL.library=,#算法參數>method=<"METHORD">#定義損失函數>)

其中,參數Y為應變量,且必須是數值型向量;X是自變量的集合,通常是一個數據集。

函數參數“method”用來指定損失函數類型,可以選擇的損失函數包括基于lawson-hanson算法的最小二乘損失函數(method.NNLS,默認損失函數)、基于goldfarb和idnani雙重算法的最小二乘損失函數(method.NNLS2)、負對數二項似然損失函數(method.NNloglik)和1-AUC損失函數(method.AUC)、基于二次規劃算法來計算權重組合的損失函數(method.CC_LS)和通過最小化負二項式對數似然確定最佳權重組合的損失函數(method.CC_nloglik)。

參數“SL.library”為算法參數,用來指定該super learner模型中希望組合的算法。super learner算法的算法箱中包含多個可選算法,如隨機森林算法等,使用相應的算法時需要R已經安裝了相應的R程序包,否則在調用算法時會報錯。同時,該函數也允許使用者調用自己設定的算法,或對軟件包中已定義算法的超參數(hyperparameter)進行自定義。相關研究認為,在使用super learner算法進行建模分析時,根據數據情況和分析目的,對算法超參數進行適當的調整,會對建模結果帶來有利的影響[10]。

需要注意的是,基于同一個數據集,選擇不同的算法組合或損失函數,建立得到的模型很可能是不同的。需要特別說明的是,選擇1-AUC損失函數時,應變量Y需要是二分類變量。

2.2 模型評價

模型評價采用該軟件包中的另一個函數“CV.SuperLearner”來實現,其基本格式和參數的含義如下:

#模型評價>Fit<- CV.SuperL-earner(Y,#應變量,可以是二分類變量或連續型變量>X,#自變量矩陣>V=,#交叉驗證次數,默認為10次>family=,#鏈接函數,目前可選gaussian()或binomial()>SL.library=, #算法參數>method=<"METHORD">#定義損失函數>)

其中,參數“V”為交叉驗證的折數,不進行指定時,默認為10折。交叉驗證的折數不宜過高,否則會將數據過度分割。該函數的其余參數,含義與2.1部分中相同。模型驗證的結果,可以采用“summary()”函數和“plot()”函數進行輸出。

3 實例分析

3.1 數據來源

實例數據獲取自TCGA數據庫(https://cancergenome.nih.gov/)[11],研究所使用的數據集包含了結腸腺癌患者的生存結局及其microRNA測序結果。該數據刪失率為88.8%,屬于高刪失數據。參考2019年Chen等[12]的分析結果,選取其中15個在單因素分析中有統計學意義的microRNA納入分析,采用super learner算法建立預測模型。

3.2 數據預處理

在建模前首先需對刪失時間進行處理。應用super learner算法對刪失數據建模前,必須將數據從常規的結構轉換為計數過程(counting process)格式,即需要對時間變量進行拆分,使得在給定的時間間隔下,每個小的時間區間內最多僅有1個終點事件發生[9]。

在較早期版本的R里,“SuperLearner”包中的“createDiscrete()”函數可以完成該轉換,但更新后的版本中,該函數已經不可使用??梢钥紤]使用“survival”包中的“survSplit()”函數達到相同的效果,亦可基于R語言自行編程進行數據格式的轉換處理。

建模時,將新產生的區間間隔的起點或終點作為自變量,不再將原有的時間變量納入分析,模型的應變量為小區間內事件的發生與否。

3.3 建模分析

經過預處理后,首先將數據集按照7∶3的比例分割為訓練集和測試集:

# 將數據集(s)分割為訓練集(70%)和驗證集(30%)

>num <- round(nrow(s)*0.7)

>index <- sample(nrow(s),size = num)

>s_train <-s[index,] #訓練集

>s_test <-s[-index,] #驗證集

#基于訓練樣本建立模型

#指定結局變量和自變量集合

y_train <- as.vector(s_stran$y) #定義結局變量,應為數值型向量

x_train <-s_train[,-1] #定義自變量集合,應為數據集

#模型建立

>model <- SuperLearner(y_train,x_train, family=binomial(),

> SL.library=list("SL.ranger","SL.ksvm","SL.ipredbagg","SL.bayesglm"))

訓練結果見圖1:

圖1 基于super learner算法建模時的算法權重和對應的風險值

以上輸出結果中,Risk為每一種算法下損失函數的值,默認Coef為每個算法最終獲得的權重。由該結果可知,所選的4個算法中,“SL.ranger”權重為0.622 598 9,“SL.ipredbagg”算法權重為0.377 401 1,二者之和為1;而其余2個算法權重為0,被判定為無效算法。以上結果相當于,當前模型是基于“SL.ranger”和“SL.ipredbagg”2個算法得到的。

3.4 模型損失函數值

以下是模型交叉驗證的結果。

#模型交叉驗證,默認為10折

>CV.model <- CV.SuperLearner(y_train, x_strain, family=binomial(),

> SL.library=list("SL.ranger","SL.ksvm","SL.ipredbagg","SL.bayesglm"))

以下2個函數分別輸出不同算法下,模型損失函數的量化(圖2)和圖形化結果(圖3)。

#輸出交叉驗證結果

>summary(cv.model)

圖2 不同算法模型損失函數值(Risk)的量化結果

#將結果以統計圖的形式體現

>plot(cv.model)

圖3 不同算法下模型損失函數值(Risk)及其95%CI的圖形化結果

3.5 基于測試集的模型評價

模型建立后,可以基于拆分好的測試集,對模型的預測能力進行檢驗,以下過程同時需要加載R包“dplyr”和“caret”,方法如下:

#基于測試集進行預測

#指定結局變量和自變量集合

y_test <- as.vector(s_test$y) #定義結局變量,應為數值型向量

x_test <- s_test[,-1] #定義自變量集合,應為數據集

>predictions <- predict.SuperLearner(model, newdata=x_test)

>conv.preds <- ifelse(predictions$pred>=0.5, 1, 0)

# 輸出預測結果

>cm <- confusionMatrix(factor(conv.preds), factor(y_test))

可以得到,當前模型的預測準確度為0.873 7(95%CI:0.789 7~0.933 0)。基于訓練集的模型預測結果顯示,模型的預測準確度良好。此外,我們也可以估計模型的C-index[13]進行模型預測結果的評價,C-index的估計需要調用R包“Hmisc”來估計。

我們同時使用常規的cox回歸模型基于以上數據建模,得到相對應回歸模型的C-index為0.784,而基于super learner算法的到的預測模型,其C-index為0.883,比常規的cox回歸模型高。

4 討論

super learner算法得到的預測模型,可以看作為基于其算法箱內的1個或多個算法得到預測模型的加權組合,預測準確度高。因此,近年來,在生物醫學的預測建模分析中,super learner算法的使用越來越多[14]。

在處理刪失數據時,使用該算法及R包“SuperLearner”對刪失數據進行預測建模與常規的cox回歸不同,具體的不同之處在于,預測得到終點事件的發生概率,是矯正了事件發生時間后的結果。由于該軟件包暫時不支持直接導出回歸系數的估計,因此目前使用該軟件包進行基于super learner算法的集成學習建模,更適合以預測為目的的分析。同時,相關模擬研究也證明,在刪失數據的預測分析中,super learner算法的表現都優于其他相關算法和模型[15]。

綜上所述,基于super learner的集成學習算法,為縱向刪失數據的預測建模提供了一個新的選擇,其預測效果良好,對于數據分析實踐來說,是良好的統計預測建模工具。

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 亚洲人网站| 欧美成人午夜影院| 午夜视频日本| 久久99久久无码毛片一区二区| 99视频在线观看免费| 一本久道久久综合多人| 2021精品国产自在现线看| 亚洲人成人无码www| 欧美伊人色综合久久天天| 欧洲熟妇精品视频| 久久黄色视频影| 久久精品这里只有精99品| 青青网在线国产| 亚洲Aⅴ无码专区在线观看q| 亚洲欧美日韩精品专区| 欧美在线一二区| 免费激情网址| 国产亚卅精品无码| 国产精品黄色片| 97视频在线精品国自产拍| 国产在线一二三区| 精品欧美日韩国产日漫一区不卡| 日本黄色不卡视频| 免费啪啪网址| 久久国产V一级毛多内射| 国产91成人| 无码AV日韩一二三区| 成人字幕网视频在线观看| 久久久久中文字幕精品视频| 亚洲美女视频一区| 在线看片中文字幕| 久久国产毛片| 国产福利免费在线观看| 亚洲无码A视频在线| 一本综合久久| AV不卡在线永久免费观看| 国产乱人伦精品一区二区| 91久久性奴调教国产免费| 国产一区二区三区精品欧美日韩| 午夜啪啪网| 国产在线第二页| 久久特级毛片| 经典三级久久| 日本国产一区在线观看| 欧美性猛交一区二区三区| av免费在线观看美女叉开腿| 国产精品成人免费视频99| 精品无码人妻一区二区| 欧美激情综合| 成人欧美日韩| 国产精品自在在线午夜| 欧美在线精品怡红院| 成人无码区免费视频网站蜜臀| 免费一级毛片| 亚洲一区二区三区香蕉| 日韩视频免费| 国产天天射| 男女男精品视频| 永久免费AⅤ无码网站在线观看| 亚洲无码91视频| 国产精品尤物在线| 欧美亚洲日韩中文| 中文字幕av一区二区三区欲色| 伊人久久综在合线亚洲91| 欧美a级在线| 蜜桃视频一区二区| 在线精品欧美日韩| 一区二区影院| 国产在线观看高清不卡| 亚洲av无码牛牛影视在线二区| 青青草久久伊人| 亚洲欧美人成人让影院| 久久女人网| 亚洲AV人人澡人人双人| 日韩精品无码不卡无码| 91成人在线免费视频| 精品人妻一区无码视频| 亚洲女同欧美在线| 午夜a级毛片| 亚洲另类色| 无码AV高清毛片中国一级毛片| 伊人丁香五月天久久综合 |