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

Lasso回歸模型的變量選擇功能及其在糖尿病發(fā)展預(yù)測(cè)模型中的應(yīng)用

2018-01-23 18:47:04榮小輝
中國(guó)科技縱橫 2017年24期
關(guān)鍵詞:數(shù)據(jù)挖掘糖尿病

榮小輝

摘 要:當(dāng)前機(jī)器學(xué)習(xí)應(yīng)用漸趨成熟,如何結(jié)合算法優(yōu)勢(shì)與醫(yī)學(xué)研究特點(diǎn)是有效應(yīng)用的關(guān)鍵。統(tǒng)計(jì)方法一直在預(yù)測(cè)精度與可解釋性上做平衡,而醫(yī)學(xué)問(wèn)題多數(shù)情況下對(duì)可解釋性具有較高的要求。Lasso回歸模型通過(guò)將某些不相關(guān)變量的回歸系數(shù)壓縮到零的方法,可以有效的篩選出與研究結(jié)果相關(guān)的變量。通過(guò)縮小變量范圍,增加模型的可解釋性,尤其有利于醫(yī)學(xué)問(wèn)題的簡(jiǎn)化和醫(yī)療工作者的人工應(yīng)用。本文將簡(jiǎn)要介紹Lasso回歸模型的原理,并應(yīng)用于糖尿病進(jìn)展的多元變量篩選。在取得相近預(yù)測(cè)精度的前提下,將自變量由10個(gè)簡(jiǎn)化到4個(gè),極大的提高了模型的簡(jiǎn)潔性與實(shí)用度。

關(guān)鍵詞:Lasso回歸;變量選擇;數(shù)據(jù)挖掘;糖尿病

中圖分類號(hào):O212.1 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-2064(2017)24-0026-04

1 背景

作為多變量回歸問(wèn)題的經(jīng)典方法,最小二乘法一直得到廣泛的應(yīng)用。醫(yī)學(xué)問(wèn)題往往都是涉及很多變量的復(fù)雜問(wèn)題。哪個(gè)變量與研究結(jié)果緊密相關(guān),哪個(gè)變量對(duì)研究結(jié)果其實(shí)毫無(wú)影響,了解其中含義在研究中具有關(guān)鍵的指引作用。最小二乘法可以得到哪些變量具有顯著性的數(shù)據(jù),但對(duì)那些不具有顯著性的變量,無(wú)法判斷是否應(yīng)該從模型中刪除哪個(gè)變量。由于有變量的共線性等問(wèn)題,直接刪除某些不顯著變量,再建立最小二乘法多元回歸模型會(huì)有很大的風(fēng)險(xiǎn)丟失重要變量,而且預(yù)測(cè)的精度也無(wú)法得到保證。

Lasso回歸模型通過(guò)將回歸系數(shù)壓縮到零,實(shí)現(xiàn)了變量的有效選擇[1]。最小二乘法采用最小化RSS的方法,來(lái)求得變量回歸系數(shù)。而Lasso回歸在最小二乘法RSS的基礎(chǔ)上增加了一個(gè)懲罰項(xiàng),是各回歸系數(shù)的絕對(duì)值之和乘以參數(shù)lambda。通過(guò)最小化RSS與懲罰項(xiàng)的和來(lái)求得變量回歸系數(shù)。當(dāng)參數(shù)lambda為0時(shí),Lasso回歸與最小二乘法沒(méi)有區(qū)別。當(dāng)參數(shù)lambda逐漸增加,模型開始將回歸系數(shù)向0壓縮,當(dāng)參數(shù)lambda足夠大時(shí),所有變量的系數(shù)將都被壓縮到0。隨著參數(shù)lambda的變化,各變量的回歸系數(shù)也會(huì)跟著改變。所以選擇一個(gè)合適的參數(shù)lambda對(duì)Lasso回歸模型至關(guān)重要,如何選擇參數(shù)lambda又要在預(yù)測(cè)精度與可解釋性上做平衡[2]。在預(yù)測(cè)精度可接受的范圍內(nèi),選擇一個(gè)比較大的參數(shù)lambda,將會(huì)得到一個(gè)盡可能精簡(jiǎn)的變量與模型。

醫(yī)學(xué)問(wèn)題經(jīng)常是復(fù)雜的多變量問(wèn)題,在某些問(wèn)題中往往有非常多的變量,這些變量之間的關(guān)系多樣,有很大可能存在共線性或其他相互影響關(guān)系。在醫(yī)學(xué)實(shí)踐中取得大量樣本數(shù)的機(jī)會(huì)通常會(huì)比較少,如果樣本量不能遠(yuǎn)遠(yuǎn)大于變量數(shù),而且多數(shù)變量與結(jié)果沒(méi)有什么關(guān)系的情況下,最小二乘法多元回歸將不能得到較好的預(yù)測(cè)結(jié)果。當(dāng)樣本量小于變量數(shù)時(shí),甚至無(wú)法使用最小二乘法建立模型。在大數(shù)據(jù)時(shí)代,醫(yī)學(xué)問(wèn)題的變量數(shù)急劇增加。例如,新的全基因組掃描等方法可以輕松產(chǎn)生上萬(wàn)個(gè)變量,而醫(yī)學(xué)研究的樣本很難有快速的增長(zhǎng),這將導(dǎo)致樣本量小于變量數(shù)的情況。在這些情況下,Lasso回歸模型可能既提高預(yù)測(cè)的精度,又通過(guò)變量篩選來(lái)簡(jiǎn)化模型。糖尿病的進(jìn)展,可能會(huì)帶來(lái)很多的并發(fā)癥,這些并發(fā)癥對(duì)患者的健康有重大影響。如果準(zhǔn)確的預(yù)測(cè)出患者病情進(jìn)展,提前采取多種措施,從診斷開始就對(duì)患者診療進(jìn)行干預(yù),可以取得很好的效果。

2 資料與方法

本文采用www4.stat.ncsu.edu下載的糖尿病數(shù)據(jù)集,有442個(gè)樣本,11個(gè)變量,其中10個(gè)自變量,(AGE年齡BMI 身體質(zhì)量指數(shù)BP收縮壓與舒張壓的均值SEX,1為女,2為男,LTG、TC、LDL、HDL、TCH、GLU是六個(gè)血生化指標(biāo))一個(gè)因變量Y。10個(gè)自變量是糖尿病確診時(shí)的數(shù)據(jù),因變量Y是一年后醫(yī)生對(duì)患者糖尿病嚴(yán)重程度的評(píng)分,分?jǐn)?shù)越高病情越嚴(yán)重。通過(guò)對(duì)該數(shù)據(jù)集建立模型,可以根據(jù)糖尿病確診時(shí)的數(shù)據(jù),預(yù)測(cè)一年后患者的病情嚴(yán)重程度。本文使用R語(yǔ)言既相關(guān)的分析包glmnet,在最小二乘法回歸模型十折交叉驗(yàn)證中使用了分析包dplyr[3]。數(shù)據(jù)集變量情況描述表1所示。

2.1 Lasso回歸

(1)參數(shù)lambda取最佳預(yù)測(cè)準(zhǔn)確時(shí)的值,Lasso模型和預(yù)測(cè)精度。

使用glmnet()函數(shù)建立lasso模型,必須用一個(gè)x矩陣和一個(gè)y向量。Diabetes是該糖尿病數(shù)據(jù)集在R中的數(shù)據(jù)框名稱。

如圖1所示,各個(gè)變量系數(shù)隨參數(shù)lambda增大逐漸被壓縮到0(L1 Norm隨參數(shù)lambda減小而增大),意味著該變量被模型排除。

x <- model.matrix(Y~.,diabetes)[,-1]

y <- diabetes$Y

library(glmnet)

grid <- 10^seq(10,-2,length=100)

set.seed(1)

train <- sample(1:nrow(x), nrow(x)*9/10)

test <- (-train)

y.test <- y[test]

lasso.mod <-glmnet(x[train,],y[train],alpha=1, lambda=grid)

plot(lasso.mod)

set.seed(123)

cv.out <- cv.glmnet(x[train,],y[train],alpha=1)

plot(cv.out)

bestlam <- cv.out$lambda.min

lasso.pred <- predict(lasso.mod, s=bestlam, newx=x[test,])

a<- lasso.pred

b<- as.vector(a)

mean((b-y.test)^2)endprint

[1] 2311.945

out <- glmnet(x,y,alpha=1,lambda=grid)

lasso.coef <- predict(out, type=”coefficients”, s=bestlam)[1:11,]

lasso.coef

> lasso.coef

(Intercept) AGE SEX2 BMI BP

-270.9677843 0.0000000 -21.0338187 5.6668803 1.0703732

TC LDL HDL TCH LTG

-0.2402796 0.0000000 -0.6251458 3.0270844 47.9925758

GLU

0.2594034

> result_10bestL <- c(2311.945,2516.548,3571.695,3787.387,3269.144,2867.482,2423.028,2873.636,3007.667,3324.951)

> mean(result_10bestL)

[1] 2995.348

> bestlam

[1] 0.3956936

首先根據(jù)10折交叉驗(yàn)證的方法,選出當(dāng)交叉驗(yàn)證的均方誤差最小時(shí),參數(shù)lambda的取值為0.3956936,并用該參數(shù)建立lasso模型如上,AGE和LDL的系數(shù)被壓縮到了0。取9成數(shù)據(jù)訓(xùn)練,1成數(shù)據(jù)測(cè)試,10次隨機(jī)測(cè)試的均方誤差的均值是2995.348。如圖2所示,均方誤差隨lambda增大而增大,會(huì)有一個(gè)lambda最佳取值使得均方誤差最小。

(2)參數(shù)lambda取10時(shí)的Lasso模型和預(yù)測(cè)精度。

set.seed(1)

train <- sample(1:nrow(x), nrow(x)*9/10)

test <- (-train)

y.test <- y[test]

lasso.mod <-glmnet(x[train,],y[train],alpha=1, lambda=grid)

plot(lasso.mod)

bestlam <- 10

lasso.pred <- predict(lasso.mod, s=bestlam, newx=x[test,])

a<- lasso.pred

b<- as.vector(a)

mean((b-y.test)^2)

out <- glmnet(x,y,alpha=1,lambda=grid)

lasso.coef <- predict(out,type = "coefficients",s=bestlam)[1:11,]

lasso.coef

> mean((b-y.test)^2)

[1] 2629.674

> lasso.coef

(Intercept) AGE SEX2 BMI BP

-191.8334615 0.0000000 0.0000000 5.1204788 0.4923885

TC LDL HDL TCH LTG

0.0000000 0.0000000 -0.2391955 0.0000000 37.5352114

GLU

0.0000000

>result_10 <-c(2629.674,2176.597,3744.255,3727.083,3555.335,3116.692,2698.318,3167.803,3043.358,3320.284)

> mean(result_10)

[1] 3117.94

取參數(shù)lambda的值為10,并用該參數(shù)建立lasso模型如上,只有4個(gè)變量的系數(shù)沒(méi)有被壓縮到0。取9成數(shù)據(jù)訓(xùn)練,1成數(shù)據(jù)測(cè)試,10次隨機(jī)測(cè)試的均方誤差的均值是3117.94。

所得的回歸模型是:

Y=-191+5.12BMI+0.49BP-0.24HDL+37.54LTG

該模型比最佳的參數(shù)lambda取值時(shí)的模型簡(jiǎn)單的多了,而且預(yù)測(cè)的結(jié)果也相差不多,在可接受范圍內(nèi)。

(3)參數(shù)lambda取100時(shí)的Lasso模型和預(yù)測(cè)精度。

set.seed(1)

train <- sample(1:nrow(x), nrow(x)*9/10)

test <- (-train)

y.test <- y[test]

lasso.mod <-glmnet(x[train,],y[train],alpha=1, lambda=grid)

plot(lasso.mod)

bestlam <- 100

lasso.pred <- predict(lasso.mod, s=bestlam, newx=x[test,])

a<- lasso.pred

b<- as.vector(a)

mean((b-y.test)^2)

out <- glmnet(x,y,alpha=1,lambda=grid)

lasso.coef <- predict(out,type = "coefficients",s=bestlam)[1:11,]endprint

lasso.coef

> mean((b-y.test)^2)

[1] 4915.202

> lasso.coef

(Intercept) AGE SEX2 BMI BP

152.1335 0.0000 0.0000 0.0000 0.0000

TC LDL HDL TCH LTG

0.0000 0.0000 0.0000 0.0000 0.0000

GLU

0.0000

參數(shù)lambda的取值為100時(shí),所有系數(shù)都被壓縮到0,這個(gè)不是好選擇。

2.2 最小二乘法回歸模型

> diabetes_lm <-lm(Y~.,data=diabetes) # 最小二乘法回歸模型

> summary(diabetes_lm)

Call:

lm(formula = Y ~ ., data = diabetes)

Residuals:

Min 1Q Median 3Q Max

-155.827 -38.536 -0.228 37.806 151.353

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) -357.42679 67.05807 -5.330 1.59e-07 ***

AGE -0.03636 0.21704 -0.168 0.867031

SEX2 -22.85965 5.83582 -3.917 0.000104***

BMI 5.60296 0.71711 7.813 4.30e-14***

BP 1.11681 0.22524 4.958 1.02e-06 ***

TC -1.09000 0.57333 -1.901 0.057948 .

LDL 0.74645 0.53083 1.406 0.160390

HDL 0.37200 0.78246 0.475 0.634723

TCH 6.53383 5.95864 1.097 0.273459

LTG 68.48312 15.66972 4.370 1.56e-05***

GLU 0.28012 0.27331 1.025 0.305990

---

Signif. codes: 0 ‘*** 0.001 ‘** 0.01 ‘* 0.05 ‘. 0.1 ‘ 1

Residual standard error: 54.15 on 431 degrees of freedom

Multiple R-squared: 0.5177,Adjusted R-squared: 0.5066

F-statistic: 46.27 on 10 and 431 DF, p-value: < 2.2e-16

最小二乘法回歸模型十折交叉驗(yàn)證:

library(dplyr)

data<- diabetes

k=10

set.seed(123)

data$id<- sample(1:k, nrow(data), replace=TRUE)

list<- 1:k

prediction<- data.frame()

testsetCopy<- data.frame()

progress.bar<- create_progress_bar("text")

progress.bar$init(k)

for (i in 1:k) {

trainingset<- subset(data, id %in% list[-i])

testset<- subset(data, id %in% c(i))

trainingset <- trainingset[c(-12)] # delete id

testset <- testset[c(-12)] # delete id

mymodel<- lm(Y~.,data= trainingset)

temp1 <- predict(mymodel, newdata = testset)

prediction<- rbind(prediction, as.data.frame (temp1))

testsetCopy<- rbind(testsetCopy, as.data.frame(testset[,11]))

progress.bar$step()

}

Result_lm<- mean((testsetCopy-prediction)^2)

data <- data[c(-12)] # remember to delete id after run model.

Result_lm

> Result_lm

[1] 2979.149

3 結(jié)果

3.1 Lasso回歸模型

(1)首先根據(jù)10折交叉驗(yàn)證的方法,選出當(dāng)交叉驗(yàn)證的均方誤差最小時(shí),參數(shù)lambda的取值為0.3956936,并用該參數(shù)建立lasso模型如上,AGE和LDL的系數(shù)被壓縮到了0。取9成數(shù)據(jù)訓(xùn)練,1成數(shù)據(jù)測(cè)試,10次隨機(jī)測(cè)試的均方誤差的均值是2995.348。endprint

(2)取參數(shù)lambda的值為10,并用該參數(shù)建立lasso模型如上,只有4個(gè)變量的系數(shù)沒(méi)有被壓縮到0。取9成數(shù)據(jù)訓(xùn)練,1成數(shù)據(jù)測(cè)試,10次隨機(jī)測(cè)試的均方誤差的均值是3117.94。

所得的回歸模型是:

Y=-191+5.12BMI+0.49BP-0.24HDL+37.54LTG

該模型比最佳的參數(shù)lambda取值時(shí)的模型簡(jiǎn)單的多了,而且預(yù)測(cè)的結(jié)果也相差不多,在可接受范圍內(nèi)。

(3)參數(shù)lambda的取值為100時(shí),所有系數(shù)都被壓縮到0,這個(gè)不是好選擇。

3.2 最小二乘法回歸模型

(1)10折交叉驗(yàn)證預(yù)測(cè)的均方誤差是2979.149;(2)有4個(gè)變量有顯著性,BMI、BP、LTG、SEX2,整個(gè)模型也有顯著性。

4 討論

(1)取參數(shù)lambda值為10的lasso模型,具有較好的預(yù)測(cè)結(jié)果,同時(shí)10個(gè)變量簡(jiǎn)化到了4個(gè)變量,這對(duì)醫(yī)療工作者有很大的意義。因?yàn)樵卺t(yī)療過(guò)程中,很多變量不容易能都收集到,而且變量多的時(shí)候,人腦很難記住這些關(guān)系并實(shí)際應(yīng)用。這種方法對(duì)模型中有更多變量的情況,作用更大。Y=-191+5.12BMI+0.49BP-0.24HDL+37.54LTG。

(2)lambda值從最佳的0.3956936,10,100的過(guò)程中,預(yù)測(cè)誤差越來(lái)越大,回歸系數(shù)壓縮成0的變量也越來(lái)越多。在lasso模型的應(yīng)用中,lambda值的選擇是至關(guān)重要的。通常可以從交叉驗(yàn)證的均方誤差最小的lambda值開始,逐漸取較大的lambda值,直到預(yù)測(cè)誤差不能接受或變量已經(jīng)篩選到滿意的程度。

(3)最佳lambda值的lasso模型,與最小二乘法回歸模型預(yù)測(cè)誤差幾乎相同。但lasso模型的優(yōu)勢(shì)在于有兩個(gè)變量的系數(shù)壓縮到0,模型更簡(jiǎn)單。在本文中的數(shù)據(jù)集預(yù)測(cè)中,lasso模型沒(méi)有顯著的提高預(yù)測(cè)誤差。但在具有某些特征的數(shù)據(jù)集中,比如樣本數(shù)不是遠(yuǎn)遠(yuǎn)大于變量數(shù)等情況下,lasso模型會(huì)有更好的預(yù)測(cè)表現(xiàn)。

(4)取參數(shù)lambda值為10的lasso模型,所得的方程中4個(gè)變量中有3個(gè)在最小二乘法回歸模型具有顯著性,可見(jiàn)這兩種方法得到的結(jié)果有較強(qiáng)的相互支持關(guān)系。

(5)變量SEX在最小二乘法回歸模型中具有顯著性,但沒(méi)有出現(xiàn)在取參數(shù)lambda值為10的lasso模型中。原因可能是變量SEX為類別變量,顯著性的含義只是在這個(gè)類別中自己比較時(shí)才有,即其他條件相同時(shí),不同變量SEX之間有顯著區(qū)別。最小二乘法回歸模型無(wú)法把類別變量與其他變量直接比較,lasso模型剔除了變量SEX,表明變量SEX并沒(méi)有顯示出比其他變量更大的作用。實(shí)際上在另一種機(jī)器學(xué)習(xí)方法—隨機(jī)森林模型中,變量SEX在提高數(shù)據(jù)分類的純潔度上重要性排在最后,沒(méi)有重要意義。

參考文獻(xiàn)

[1]詹姆斯(James,G.)等,著.王星等,譯.統(tǒng)計(jì)學(xué)習(xí)導(dǎo)論---基于R應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2015.

[2]周志華,著.機(jī)器學(xué)習(xí)[M].北京:清華大學(xué)出版社,2016.

[3]麥特洛夫(Matloff,N.)等著.陳堰平,等譯.R語(yǔ)言編程藝術(shù)[M].北京:機(jī)械工業(yè)出版社,2013.

Variable Selection Function of Lasso Regression Model and its Application in Prediction Model of Diabetes Development

Abstract:As machine learning is becoming more and more popular, it is very important to combine the advantage of algorithms and the specificity of medical questions. While statistic is always balance between prediction accuracy and interpretability, medical questions have higher requirement on interpretability in many cases. The Lasso regression model can effectively screen variables related to the results by compressing the regression coefficients of these unrelated variables into zero. By reducing the number of variables and increasing the interpretability, the Lasso regression model is especially helpful for the simplification of medical problems and the artificial application of medical experts. This article briefly introduces the principles of Lasso regression model and applies it to multivariate screening of diabetes progression. Under obtaining the near prediction accuracy conditions, the independent variables are reduced from 10 to 4, which greatly improves the simplicity and practicability of the model.

Key words:Lasso regression;Variable selection;Data mining;Diabetesendprint

猜你喜歡
數(shù)據(jù)挖掘糖尿病
糖尿病知識(shí)問(wèn)答
中老年保健(2022年5期)2022-08-24 02:35:42
糖尿病知識(shí)問(wèn)答
中老年保健(2022年1期)2022-08-17 06:14:56
糖尿病知識(shí)問(wèn)答
中老年保健(2021年5期)2021-08-24 07:07:20
糖尿病知識(shí)問(wèn)答
中老年保健(2021年9期)2021-08-24 03:51:04
糖尿病知識(shí)問(wèn)答
中老年保健(2021年7期)2021-08-22 07:42:16
糖尿病知識(shí)問(wèn)答
探討人工智能與數(shù)據(jù)挖掘發(fā)展趨勢(shì)
基于并行計(jì)算的大數(shù)據(jù)挖掘在電網(wǎng)中的應(yīng)用
電力與能源(2017年6期)2017-05-14 06:19:37
數(shù)據(jù)挖掘技術(shù)在中醫(yī)診療數(shù)據(jù)分析中的應(yīng)用
一種基于Hadoop的大數(shù)據(jù)挖掘云服務(wù)及應(yīng)用
主站蜘蛛池模板: www成人国产在线观看网站| 国产成人高清在线精品| 九九热在线视频| 2020国产在线视精品在| AV在线天堂进入| 91黄色在线观看| 在线观看视频一区二区| 91人妻日韩人妻无码专区精品| 日韩 欧美 小说 综合网 另类| 国产一级裸网站| 91精品专区国产盗摄| 欧美视频在线观看第一页| 亚洲一区二区约美女探花| 免费人欧美成又黄又爽的视频| 色网站在线视频| 午夜日b视频| 久久99热这里只有精品免费看| 99伊人精品| 亚洲国产日韩一区| 国产又色又刺激高潮免费看| 国产福利在线免费观看| 国产第一色| 亚洲中文字幕23页在线| 免费在线不卡视频| 一级一级特黄女人精品毛片| 男女性色大片免费网站| 免费观看亚洲人成网站| 久久精品人妻中文系列| 乱码国产乱码精品精在线播放| 日韩第一页在线| 国产精品性| 五月婷婷综合在线视频| 国产在线观看精品| 中文字幕在线日韩91| a免费毛片在线播放| 日韩在线永久免费播放| 国产二级毛片| 国产精品久久久久久久久久久久| 99re在线免费视频| 亚洲无码视频图片| 五月天福利视频 | 视频在线观看一区二区| 一区二区三区国产精品视频| www.99在线观看| 久久国产黑丝袜视频| 国产自无码视频在线观看| 欧美97色| 久久综合一个色综合网| 欧美成人看片一区二区三区 | 狠狠做深爱婷婷综合一区| 91麻豆国产视频| 91香蕉视频下载网站| 国产特级毛片aaaaaa| 日本在线国产| 日本午夜影院| 青青极品在线| 欧美天堂久久| 精品久久久久成人码免费动漫| 暴力调教一区二区三区| 香港一级毛片免费看| 久久精品嫩草研究院| 亚洲综合中文字幕国产精品欧美| 黄片一区二区三区| 99久久精品美女高潮喷水| 天天色综网| 午夜福利在线观看入口| 香蕉视频在线观看www| 国产精品无码制服丝袜| 97在线视频免费观看| 国产婬乱a一级毛片多女| 日本黄色a视频| 午夜丁香婷婷| 亚洲va在线观看| 国产精品私拍在线爆乳| 亚洲第七页| 波多野结衣一区二区三区AV| 人妻无码中文字幕第一区| 国产在线91在线电影| 国产微拍一区| 无码一区18禁| 久久不卡精品| 少妇精品网站|