最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

R語(yǔ)言自適應(yīng)LASSO 多項(xiàng)式回歸、二元邏輯回歸和嶺回歸應(yīng)用分析|附代碼數(shù)據(jù)

2023-08-17 00:09 作者:拓端tecdat  | 我要投稿

全文下載鏈接:http://tecdat.cn/?p=21602?

最近我們被客戶要求撰寫關(guān)于回歸的研究報(bào)告,包括一些圖形和統(tǒng)計(jì)輸出。

正則化路徑是在正則化參數(shù)lambda的值網(wǎng)格上計(jì)算套索LASSO或彈性網(wǎng)路懲罰的正則化路徑

正則化(regularization)

該算法速度快,可以利用輸入矩陣x中的稀疏性,擬合線性、logistic和多項(xiàng)式、poisson和Cox回歸模型??梢酝ㄟ^擬合模型進(jìn)行各種預(yù)測(cè)。它還可以擬合多元線性回歸。”

例子

加載數(shù)據(jù)

這里加載了一個(gè)高斯(連續(xù)Y)的例子。

as_data_frame(y)

## # A tibble: 100 x 1## ? ? ? ? ? ?V1## ? ? ? ? <dbl>## ?1 -1.2748860## ?2 ?1.8434251## ?3 ?0.4592363## ?4 ?0.5640407## ?5 ?1.8729633## ?6 ?0.5275317## ?7 ?2.4346589## ?8 -0.8945961## ?9 -0.2059384## 10 ?3.1101188## # ... with 90 more rows

初始嶺回歸

cv.glmnet執(zhí)行k-折交叉驗(yàn)證?.

## 執(zhí)行嶺回歸glmnet(x , y ? ? ? ? ? ? ? ? ## “alpha=1”是套索懲罰, “alpha=0”是嶺懲罰。 ? ? ? ? ? ? ? ? alpha = 0)

點(diǎn)擊標(biāo)題查閱往期內(nèi)容

R使用LASSO回歸預(yù)測(cè)股票收益

左右滑動(dòng)查看更多

01

02

03

04

## 用10折CV進(jìn)行嶺回歸cv.glmnet( ? ? ? ? ? ? ? ? ? ? ? ## 類型.測(cè)量:用于交叉驗(yàn)證的丟失。 ? ? ? ? ? ? ? ? ? ? ? type.measure = "mse", ? ? ? ? ? ? ? ? ? ? ? ## K = 10 是默認(rèn)值。 ? ? ? ? ? ? ? ? ? ? ? nfold = 10, ? ? ? ? ? ? ? ? ? ? ? ##“alpha=1”是套索懲罰,“alpha=0”是嶺懲罰。 ? ? ? ? ? ? ? ? ? ? ? alpha = 0)## 懲罰vs CV MSE圖

## 在誤差最小λ處提取系數(shù)cv$lambda.min

## [1]?0.1789759

## s:需要進(jìn)行預(yù)測(cè)的懲罰參數(shù)“l(fā)ambda”的值。默認(rèn)值是用于創(chuàng)建模型的整個(gè)序列。coef( s = lambda.min)

## 21 x 1 sparse Matrix of class "dgCMatrix"## ? ? ? ? ? ? ? ? ? ? ? ?1## (Intercept) ?0.149041059## V1 ? ? ? ? ? 1.302684272## V2 ? ? ? ? ? 0.035835380## V3 ? ? ? ? ? 0.719936146## V4 ? ? ? ? ? 0.036473087## V5 ? ? ? ? ?-0.863490158## V6 ? ? ? ? ? 0.605750873## V7 ? ? ? ? ? 0.123446432## V8 ? ? ? ? ? 0.376890626## V9 ? ? ? ? ?-0.040012847## V10 ? ? ? ? ?0.105999328## V11 ? ? ? ? ?0.240967604## V12 ? ? ? ? -0.066363634## V13 ? ? ? ? -0.042048935## V14 ? ? ? ? -1.092107794## V15 ? ? ? ? -0.119566353## V16 ? ? ? ? -0.035859663## V17 ? ? ? ? -0.038827463## V18 ? ? ? ? ?0.061785988## V19 ? ? ? ? -0.001409608## V20 ? ? ? ? -1.079879797

## 截距估計(jì)應(yīng)該剔除。(coef(cv, s = lambda.min))[-1]

這個(gè)初始過程給出了基于10折交叉驗(yàn)證選擇的最佳嶺回歸模型的一組系數(shù),使用平方誤差度量

作為模型性能度量。
KNNL和Hadi中提到的另一種選擇lambda的方法是選擇最小的lambda,這樣系數(shù)的軌跡是穩(wěn)定的,VIF變得足夠小。在這種情況下,VIF的定義必須包括懲罰因子lambda,這在Hadi的p295和knll的p436中有說明。

是標(biāo)準(zhǔn)化的協(xié)變量矩陣.?

是原始非標(biāo)準(zhǔn)化協(xié)變量的相關(guān)矩陣?

. 該計(jì)算可定義如下。

vif <- function(x, lambda) { ? ?ZtZ <- cor(x) ? ?diag(solve(ZtZ + lambdaI ?%*% ZtZ %*% solve(ZtZ + lambdaI) ## ? ?ggplot(mapping = aes(x = lambda, y = value, group = key, color = key)) + ? ?geom_line() +

自適應(yīng)LASSO

## 執(zhí)行自適應(yīng)LASSOglmnet(x = ?y = ? ? ? ? ? ? ? ? ?## 類型。度量:用于交叉驗(yàn)證的損失。 ? ? ? ? ? ? ? ? ?##“alpha=1”是套索懲罰,“alpha=0”是嶺懲罰。 ? ? ? ? ? ? ? ? ?alpha = 1, ? ? ? ? ? ? ? ? ?## ? ? ? ? ? ? ? ? ?## 懲罰系數(shù):可以對(duì)每個(gè)系數(shù)應(yīng)用單獨(dú)的懲罰因子。這是一個(gè)乘以“l(fā)ambda”以允許差異收縮的數(shù)字。對(duì)于某些變量可以是0, 這意味著沒有收縮,而且這個(gè)變量總是包含在模型中。對(duì)于所有變量,默認(rèn)值為1(對(duì)于“exclude”中列出的變量,默認(rèn)值為無限大)。注意:懲罰因子在內(nèi)部被重新調(diào)整為與nvars相加,lambda序列將反映這種變化。

## 使用10折CV執(zhí)行自適應(yīng)套索 ? ? ? ? ? ? ? ? ? ? ? ?## 類型。度量:用于交叉驗(yàn)證的損失。類型。測(cè)量= " mse ", ? ? ? ? ? ? ? ? ? ? ? ?## K = 10 是默認(rèn)值。 ? ? ? ? ? ? ? ? ? ? ? ?nfold = 10, ? ? ? ? ? ? ? ? ? ? ? ?## ‘a(chǎn)lpha = 1’ 是套索懲罰,'alpha=0'是嶺懲罰。 ? ? ? ? ? ? ? ? ? ? ? ?## ? ? ? ? ? ? ? ? ? ? ? ?## 懲罰系數(shù):可以對(duì)每個(gè)系數(shù)應(yīng)用單獨(dú)的懲罰因子。這是一個(gè)乘以“l(fā)ambda”以允許差異收縮的數(shù)字。對(duì)于某些變量可以為0,這意味著沒有收縮,并且該變量始終包含在模型中。對(duì)于所有變量,默認(rèn)值為1(對(duì)于“exclude”中列出的變量,默認(rèn)值為無限大)。注意:懲罰因子在內(nèi)部被重新調(diào)整為與nvars相加,lambda序列將反映這種變化。## 懲罰vs CV MSE圖

## 在誤差最小λ處提取系數(shù)lambda.min

## [1]?0.7193664

## s:需要進(jìn)行預(yù)測(cè)的懲罰參數(shù)“l(fā)ambda”的值。默認(rèn)值是用于創(chuàng)建模型的整個(gè)序列。best_alasso_coef1

## 21 x 1 sparse Matrix of class "dgCMatrix"## ? ? ? ? ? ? ? ? ? ? ?1## (Intercept) ?0.1269539## V1 ? ? ? ? ? 1.3863728## V2 ? ? ? ? ? . ? ? ? ?## V3 ? ? ? ? ? 0.7573538## V4 ? ? ? ? ? . ? ? ? ?## V5 ? ? ? ? ?-0.8937983## V6 ? ? ? ? ? 0.5718800## V7 ? ? ? ? ? . ? ? ? ?## V8 ? ? ? ? ? 0.3654255## V9 ? ? ? ? ? . ? ? ? ?## V10 ? ? ? ? ?. ? ? ? ?## V11 ? ? ? ? ?0.1824140## V12 ? ? ? ? ?. ? ? ? ?## V13 ? ? ? ? ?. ? ? ? ?## V14 ? ? ? ? -1.1150736## V15 ? ? ? ? ?. ? ? ? ?## V16 ? ? ? ? ?. ? ? ? ?## V17 ? ? ? ? ?. ? ? ? ?## V18 ? ? ? ? ?. ? ? ? ?## V19 ? ? ? ? ?. ? ? ? ?## V20 ? ? ? ? -1.1268794

那個(gè)懲罰系數(shù)參數(shù)允許指定系數(shù)特定的懲罰級(jí)別。這里我們使用自適應(yīng)LASSO懲罰,即最佳嶺系數(shù)絕對(duì)值的逆。

最終模型Rsquare

## ?R^2函數(shù)## https://en.wikipedia.org/wiki/Coefficient_of_determination ? ?## ?總SS ? ?ss_tot <- sum((y - ybar)^2) ? ?## 剩余 SS ? ?ss_res <- sum((y - yhat)^2) ? ?## R^2 = 1 - ss_res/ ss_tot## 調(diào)整R^2函數(shù)## n個(gè)樣本,p個(gè)參數(shù)## 獲取 R^2 r_sq(as.vector(y_cont), as.vector(predict(alasso1, newx =

## [1]?0.906806

##獲得調(diào)整R ^ 2adj_r_sq(r_squared_alasso1, n = nrow(y_cont),

## [1]?0.9007934

## 交叉驗(yàn)證測(cè)試集R^2## alasso1_cv$cvm[1] 是截距模型的交叉驗(yàn)證測(cè)試集均方誤差。1 - cvm[lambda == lambda.min] / cvm[1]

## [1]?0.8854662

交叉驗(yàn)證測(cè)試集Rsquare

lapply(unique( ?foldid), function(id) { ? ?## 擬合排除測(cè)試集 (foldid == id) glmnet(x = x_cont[alasso1_cv$foldid != id,], ? ? ? ? ? ? ? ? ?y = y_cont[alasso1_cv$foldid != id], ? ?## 使用模型擬合最佳lambda測(cè)試集Y?hat predict(fit, newx = x_cont[alasso1_cv$foldid == id,], ? ? ?## 測(cè)試組 R^2 ? ?1 - sum((y - y_pred)^2) / sum((y - mean(y))^2)}) %>%

## ?[1] 0.8197796 0.9090972 0.9499495 0.8019303 0.8637534 0.7184797 0.8579943 0.9250376 0.8300891## [10] 0.9188004

## [1]?0.8594911

多項(xiàng)式例子

## # A tibble: 500 x 30## ? ? ? ? ? ?V1 ? ? ? ? V2 ? ? ? ? ?V3 ? ? ? ? V4 ? ? ? ? V5 ? ? ? ? V6 ? ? ? ? ?V7 ? ? ? ? V8## ? ? ? ? <dbl> ? ? ?<dbl> ? ? ? <dbl> ? ? ?<dbl> ? ? ?<dbl> ? ? ?<dbl> ? ? ? <dbl> ? ? ?<dbl>## ?1 ?0.8212500 ?1.2155090 -0.64860899 -0.7001262 -1.9640742 ?1.1692107 ?0.28598652 -0.1664266## ?2 ?0.9264925 -1.1855031 -1.18297879 ?0.9828354 ?1.0693610 -0.2302219 ?0.57772625 -0.8738714## ?3 -1.5719712 ?0.8568961 -0.02208733 ?1.7445962 -0.4148403 -2.0289054 -1.31228181 -1.2441528## ?4 ?0.7419447 -0.9452052 -1.61821790 ?1.0015587 -0.4589488 ?0.5154490 ?0.29189973 ?0.1114092## ?5 -0.1333660 ?0.5085678 ?0.04739909 -0.4486953 -0.2616950 -0.1554108 -1.24834832 -1.0498054## ?6 -0.5672062 ?0.6020396 -2.10300909 ?0.3119233 ?0.3272173 -0.8671885 ?0.97512759 -0.7216256## ?7 ?1.9683411 ?2.5162198 ?1.61109738 ?1.0047913 -0.5194647 ?1.0738680 -0.16176095 -0.4267418## ?8 ?0.2857727 -1.7017703 ?1.41062569 -0.5823727 -1.3330908 ?1.7929250 ?0.06396841 -0.6818909## ?9 -0.5339434 ?0.1725089 ?0.93504676 -1.9956942 -0.9021089 -0.2624043 ?0.97406411 ?0.5166823## 10 ?0.8081052 -0.9662501 ?0.54666915 -0.8388913 ?0.9665053 ?1.4039598 ?0.63502500 ?0.3429640## # ... with 490 more rows, and 22 more variables: V9 <dbl>, V10 <dbl>, V11 <dbl>, V12 <dbl>,## # ? V13 <dbl>, V14 <dbl>, V15 <dbl>, V16 <dbl>, V17 <dbl>, V18 <dbl>, V19 <dbl>, V20 <dbl>,## # ? V21 <dbl>, V22 <dbl>, V23 <dbl>, V24 <dbl>, V25 <dbl>, V26 <dbl>, V27 <dbl>, V28 <dbl>,## # ? V29 <dbl>, V30 <dbl>

as_data_frame(y)

## # A tibble: 500 x 1## ? ?value## ? ?<dbl>## ?1 ? ? 3## ?2 ? ? 2## ?3 ? ? 2## ?4 ? ? 2## ?5 ? ? 3## ?6 ? ? 3## ?7 ? ? 3## ?8 ? ? 1## ?9 ? ? 1## 10 ? ? 1## # ... with 490 more rows

plot(ridge2, xvar =?"lambda")

## 用10折交叉驗(yàn)證CV進(jìn)行嶺回歸 ? ? ? ? ? ? ? ? ? ? ? ?## 類型.測(cè)量:用于交叉驗(yàn)證的損失。類型.測(cè)量=“偏差”, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ## 多項(xiàng)式回歸 ? ? ? ? ? ? ? ? ? ? ? ?## ‘a(chǎn)lpha = 1’ 是套索懲罰,'alpha=0'是嶺懲罰。## 懲罰vs CV MSE圖plot(ridge2_cv)

## 在誤差最小λ處提取系數(shù) lambda.min

## [1]?0.02540802

## s:需要進(jìn)行預(yù)測(cè)的懲罰參數(shù)“l(fā)ambda”的值。默認(rèn)值是用于創(chuàng)建模型的整個(gè)序列。 do.call(cbind, coef( cv, s = ?lambda.min))

## 31 x 3 sparse Matrix of class "dgCMatrix"## ? ? ? ? ? ? ? ? ? ? ? ?1 ? ? ? ? ? ?1 ? ? ? ? ? ?1## (Intercept) -0.030926870 -0.012579891 ?0.043506761## V1 ? ? ? ? ? 0.056754184 -0.332936704 ?0.276182520## V2 ? ? ? ? ?-0.330771038 -0.135465951 ?0.466236989## V3 ? ? ? ? ? 0.417313228 -0.166953973 -0.250359256## V4 ? ? ? ? ?-0.275107590 -0.075937714 ?0.351045304## V5 ? ? ? ? ?-0.359310997 ?0.447318724 -0.088007727## V6 ? ? ? ? ? 0.318490592 -0.042273343 -0.276217249## V7 ? ? ? ? ?-0.069203544 ?0.103874053 -0.034670509## V8 ? ? ? ? ? 0.398432356 ?0.056457793 -0.454890149## V9 ? ? ? ? ?-0.100873703 -0.831473315 ?0.932347018## V10 ? ? ? ? -0.079409535 ?0.550465763 -0.471056227## V11 ? ? ? ? ?0.015539259 ?0.022872091 -0.038411350## V12 ? ? ? ? -0.023384035 -0.037367749 ?0.060751784## V13 ? ? ? ? -0.162456798 ?0.271096200 -0.108639401## V14 ? ? ? ? ?0.173128811 -0.127758267 -0.045370544## V15 ? ? ? ? -0.029448593 ?0.035626357 -0.006177764## V16 ? ? ? ? -0.078135662 ?0.066353666 ?0.011781996## V17 ? ? ? ? ?0.144753874 -0.137960413 -0.006793461## V18 ? ? ? ? ?0.032929352 ?0.071275386 -0.104204738## V19 ? ? ? ? ?0.090783173 -0.147044947 ?0.056261774## V20 ? ? ? ? -0.010749594 ?0.146821172 -0.136071578## V21 ? ? ? ? ?0.059468598 -0.008259112 -0.051209485## V22 ? ? ? ? ?0.133514075 -0.030352819 -0.103161256## V23 ? ? ? ? ?0.070174614 -0.054781769 -0.015392844## V24 ? ? ? ? ?0.027344225 ?0.164797661 -0.192141886## V25 ? ? ? ? ?0.010677968 ?0.014023080 -0.024701049## V26 ? ? ? ? ?0.010490474 -0.034644559 ?0.024154085## V27 ? ? ? ? -0.008201249 ?0.114562955 -0.106361705## V28 ? ? ? ? -0.115249536 -0.067581191 ?0.182830727## V29 ? ? ? ? ?0.027760120 ?0.056857406 -0.084617526## V30 ? ? ? ? -0.062642211 -0.007339614 ?0.069981825

## 轉(zhuǎn)換為矩陣## 截距估計(jì)應(yīng)該取消。 ?1 / abs(as.matrix(best_ridge_coef2)[-1,])

## ? ? ? ? ? ? ?1 ? ? ? ? ?1 ? ? ? ? ?1## V1 ? 17.619846 ? 3.003574 ? 3.620794## V2 ? ?3.023239 ? 7.381929 ? 2.144832## V3 ? ?2.396282 ? 5.989675 ? 3.994260## V4 ? ?3.634942 ?13.168687 ? 2.848635## V5 ? ?2.783104 ? 2.235542 ?11.362639## V6 ? ?3.139810 ?23.655569 ? 3.620339## V7 ? 14.450127 ? 9.627043 ?28.842957## V8 ? ?2.509836 ?17.712347 ? 2.198333## V9 ? ?9.913386 ? 1.202684 ? 1.072562## V10 ?12.592946 ? 1.816643 ? 2.122889## V11 ?64.353133 ?43.721407 ?26.033972## V12 ?42.764219 ?26.761045 ?16.460422## V13 ? 6.155483 ? 3.688727 ? 9.204764## V14 ? 5.776046 ? 7.827282 ?22.040732## V15 ?33.957479 ?28.069106 161.870875## V16 ?12.798253 ?15.070757 ?84.875262## V17 ? 6.908278 ? 7.248456 147.200381## V18 ?30.368044 ?14.030089 ? 9.596493## V19 ?11.015257 ? 6.800642 ?17.774057## V20 ?93.026766 ? 6.811007 ? 7.349073## V21 ?16.815597 121.078385 ?19.527632## V22 ? 7.489847 ?32.945869 ? 9.693562## V23 ?14.250167 ?18.254248 ?64.965251## V24 ?36.570794 ? 6.068047 ? 5.204487## V25 ?93.650773 ?71.311008 ?40.484111## V26 ?95.324582 ?28.864561 ?41.400864## V27 121.932644 ? 8.728825 ? 9.401880## V28 ? 8.676825 ?14.797016 ? 5.469540## V29 ?36.022899 ?17.587858 ?11.817883## V30 ?15.963677 136.246945 ?14.289424

## 執(zhí)行自適應(yīng)套索 ? ? ? ? ? ? ? ? ? ## 多項(xiàng)式回歸 ? ? ? ? ? ? ? ? ?family = "multinomial", ? ? ? ? ? ? ? ? ?## ‘a(chǎn)lpha = 1’ 是套索懲罰,'alpha=0'是嶺懲罰。 ? ? ? ? ? ? ? ? ?alpha = 1, ? ? ? ? ? ? ? ? ?## ? ? ? ? ? ? ? ? ?## 懲罰系數(shù):可以對(duì)每個(gè)系數(shù)應(yīng)用單獨(dú)的懲罰因子。這是一個(gè)乘以“l(fā)ambda”以允許差異收縮的數(shù)字。對(duì)于某些變量可以為0,這意味著沒有收縮,并且該變量始終包含在模型中。對(duì)于所有變量,默認(rèn)值為1(對(duì)于“exclude”中列出的變量,默認(rèn)值為無限大)。注意:懲罰因子在內(nèi)部被重新調(diào)整為與nvars相加,lambda序列將反映這種變化。

?


## 使用10折CV執(zhí)行自適應(yīng)套索 ? ? ? ? ? ? ? ? ? ? ?## 類型。度量:用于交叉驗(yàn)證的損失。 ? ? ? ? ? ? ? ? ? ? type.measure = "偏差", ## 懲罰vs CV MSE圖plot(alasso2_cv)

## 在誤差最小λ處提取系數(shù)lambda.min

## [1]?0.023834

## s:需要進(jìn)行預(yù)測(cè)的懲罰參數(shù)“l(fā)ambda”的值。默認(rèn)值是用于創(chuàng)建模型的整個(gè)序列。do.call(cbind, coef(alasso2_cv, s = lambda.min))

## 31 x 3 sparse Matrix of class "dgCMatrix"## ? ? ? ? ? ? ? ? ? ? ? ?1 ? ? ? ? ? ?1 ? ? ? ? ? ?1## (Intercept) ?0.001070916 ?0.029687114 -0.030758030## V1 ? ? ? ? ? 0.051853991 -0.329785101 ?0.277931110## V2 ? ? ? ? ?-0.414609162 -0.166765504 ?0.581374666## V3 ? ? ? ? ? 0.498638681 -0.172468859 -0.326169822## V4 ? ? ? ? ?-0.336005338 -0.079578260 ?0.415583598## V5 ? ? ? ? ?-0.424216967 ?0.532071434 -0.107854467## V6 ? ? ? ? ? 0.364828074 -0.035326316 -0.329501758## V7 ? ? ? ? ?-0.058746523 ?0.080343071 -0.021596548## V8 ? ? ? ? ? 0.483592031 ?0.111422669 -0.595014699## V9 ? ? ? ? ?-0.155745580 -1.016502806 ?1.172248386## V10 ? ? ? ? -0.060698812 ?0.625050169 -0.564351357## V11 ? ? ? ? ?. ? ? ? ? ? ?. ? ? ? ? ? ?. ? ? ? ? ?## V12 ? ? ? ? ?. ? ? ? ? ? ?. ? ? ? ? ? ?. ? ? ? ? ?## V13 ? ? ? ? -0.175719655 ?0.283930678 -0.108211023## V14 ? ? ? ? ?0.196421536 -0.139576235 -0.056845300## V15 ? ? ? ? ?. ? ? ? ? ? ?. ? ? ? ? ? ?. ? ? ? ? ?## V16 ? ? ? ? -0.037414770 ?0.040300172 -0.002885402## V17 ? ? ? ? ?0.149438019 -0.129742710 -0.019695308## V18 ? ? ? ? ?. ? ? ? ? ? ?. ? ? ? ? ? ?. ? ? ? ? ?## V19 ? ? ? ? ?0.088822086 -0.130605368 ?0.041783282## V20 ? ? ? ? ?. ? ? ? ? ? ?. ? ? ? ? ? ?. ? ? ? ? ?## V21 ? ? ? ? ?0.007141749 -0.002869644 -0.004272105## V22 ? ? ? ? ?0.125997952 -0.016924514 -0.109073438## V23 ? ? ? ? ?0.043024971 -0.026879150 -0.016145821## V24 ? ? ? ? ?0.016862193 ?0.083686360 -0.100548554## V25 ? ? ? ? ?. ? ? ? ? ? ?. ? ? ? ? ? ?. ? ? ? ? ?## V26 ? ? ? ? ?. ? ? ? ? ? ?. ? ? ? ? ? ?. ? ? ? ? ?## V27 ? ? ? ? ?. ? ? ? ? ? ?. ? ? ? ? ? ?. ? ? ? ? ?## V28 ? ? ? ? -0.111429811 -0.069842376 ?0.181272187## V29 ? ? ? ? ?. ? ? ? ? ? ?. ? ? ? ? ? ?. ? ? ? ? ?## V30 ? ? ? ? -0.032032333 -0.006590025 ?0.038622358

最終模型正確分類率

xtabs(~ y_multi_pred_class + y_multi)

## ? ? ? ? ? ? ? ? ? y_multi## y_multi_pred_class ? 1 ? 2 ? 3## ? ? ? ? ? ? ? ? ?1 ?84 ?20 ?16## ? ? ? ? ? ? ? ? ?2 ?30 136 ?19## ? ? ? ? ? ? ? ? ?3 ?28 ?18 149

mean(y_multi == y_multi_pred_class)

## [1]?0.738

交叉驗(yàn)證測(cè)試集正確分類率

lapply(unique(foldid), function(id) { ? ?## 擬合排除測(cè)試集(foldid==id) ? ? ? ?## 使用模型擬合最佳lambda測(cè)試集Y?hat ? ?y_pred <- (predict(fit, newx = x_multi[foldid == id,], type = "class", ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? s = lambda.min)) ? ?## 測(cè)試集Y ? ?y <- y_multi[foldid == id] ? ?## 測(cè)試集CCR ? ?mean(y == y_pred)}) %>%

## [1]?0.68 0.64?0.76 0.72?0.70 0.66?0.60 0.72?0.62 0.76

## [1]?0.686

二元邏輯回歸示例

## # A tibble: 100 x 30## ? ? ? ? ? ? V1 ? ? ? ? ?V2 ? ? ? ? ?V3 ? ? ? ? ?V4 ? ? ? ? V5 ? ? ? ? V6 ? ? ? ? V7 ? ? ? ? ?V8## ? ? ? ? ?<dbl> ? ? ? <dbl> ? ? ? <dbl> ? ? ? <dbl> ? ? ?<dbl> ? ? ?<dbl> ? ? ?<dbl> ? ? ? <dbl>## ?1 -0.61926135 ?0.01624409 -0.62606831 ?0.41268461 ?0.4944374 -0.4493269 ?0.6760053 -0.06771419## ?2 ?1.09427278 ?0.47257285 -1.33714704 -0.64058126 ?0.2823199 -0.6093321 ?0.3547232 -0.62686515## ?3 -0.35670402 ?0.30121334 ?0.19056192 ?0.23402677 ?0.1698086 ?1.2291427 ?1.1628095 ?0.88024242## ?4 -2.46907012 ?2.84771447 ?1.66024352 ?1.56881297 -0.8330570 -0.5620088 -0.6142455 -1.76529838## ?5 ?0.56728852 ?0.88888747 -0.01158671 ?0.57627526 -0.8689453 -0.3132571 ?0.6902907 -1.29961200## ?6 ?0.91292543 ?0.77350086 ?0.55836355 -0.53509922 ?0.3507093 -0.5763021 -0.3882672 ?0.55518663## ?7 ?0.09567305 ?0.14027229 -0.76043921 -0.04935541 ?1.5740992 -0.1240903 -1.1106276 ?1.72895452## ?8 ?1.93420667 -0.71114983 -0.27387147 ?1.00113828 ?1.0439012 ?0.8028893 -0.6035769 -0.51136380## ?9 ?0.28275701 ?1.05940570 -0.03944966 ?0.30277367 -0.9161762 ?0.6914934 ?0.6087553 ?0.30921594## 10 ?0.80143492 ?1.53674274 -1.01230763 -0.38480878 -2.0319100 ?0.2236314 -1.1628847 -0.52739792## # ... with 90 more rows, and 22 more variables: V9 <dbl>, V10 <dbl>, V11 <dbl>, V12 <dbl>,## # ? V13 <dbl>, V14 <dbl>, V15 <dbl>, V16 <dbl>, V17 <dbl>, V18 <dbl>, V19 <dbl>, V20 <dbl>,## # ? V21 <dbl>, V22 <dbl>, V23 <dbl>, V24 <dbl>, V25 <dbl>, V26 <dbl>, V27 <dbl>, V28 <dbl>,## # ? V29 <dbl>, V30 <dbl>

as_data_frame(y)

## # A tibble: 100 x 1## ? ?value## ? ?<int>## ?1 ? ? 0## ?2 ? ? 1## ?3 ? ? 1## ?4 ? ? 0## ?5 ? ? 1## ?6 ? ? 0## ?7 ? ? 0## ?8 ? ? 0## ?9 ? ? 1## 10 ? ? 1## # ... with 90 more rows

## 執(zhí)行嶺回歸 ? ? ? ? ? ? ? ? ## 二元邏輯回歸 ? ? ? ? ? ? ? ? family = "binomial", ? ? ? ? ? ? ? ? ## “alpha=1”是套索懲罰,“alpha=0”是嶺懲罰。

##用10折CV進(jìn)行嶺回歸 ? ? ? ? ? ? ? ? ? ? ? ##類型。度量:用于交叉驗(yàn)證的損失。 ? ? ? ? ? ? ? ? ? ? ? type.measure = "deviance", ? ? ? ? ? ? ? ? ? ? ? ## K = 10 是默認(rèn)值。 ? ? ? ? ? ? ? ? ? ? ? nfold = 10, ? ? ? ? ? ? ? ? ? ? ? ## 多項(xiàng)式回歸 ? ? ? ? ? ? ? ? ? ? ? ## ‘a(chǎn)lpha = 1’ 是套索懲罰,'alpha=0'是嶺懲罰。 ? ? ? ? ? ? ? ? ? ? ? alpha = 0)## 懲罰vs CV MSE圖

## 在誤差最小λ處lambda.min

## [1]?0.03488898

## s:需要進(jìn)行預(yù)測(cè)的懲罰參數(shù)“l(fā)ambda”的值。默認(rèn)值是用于創(chuàng)建模型的整個(gè)序列。coef(ridge3_cv, s = lambda.min))

## 31 x 1 sparse Matrix of class "dgCMatrix"## ? ? ? ? ? ? ? ? ? ? ? ? 1## (Intercept) ?0.1718290283## V1 ? ? ? ? ? 0.1148574142## V2 ? ? ? ? ? 0.5068431000## V3 ? ? ? ? ?-0.3384649794## V4 ? ? ? ? ?-0.8634050979## V5 ? ? ? ? ?-0.3141436782## V6 ? ? ? ? ?-0.6956355852## V7 ? ? ? ? ? 0.0798900376## V8 ? ? ? ? ?-0.5167458568## V9 ? ? ? ? ? 0.5193890584## V10 ? ? ? ? -1.0182682093## V11 ? ? ? ? -0.2077506627## V12 ? ? ? ? -0.2218540968## V13 ? ? ? ? -0.1638673635## V14 ? ? ? ? ?0.1370473811## V15 ? ? ? ? ?0.0388320169## V16 ? ? ? ? ?0.3621440665## V17 ? ? ? ? -0.1226309533## V18 ? ? ? ? -0.1492504287## V19 ? ? ? ? -0.0497939458## V20 ? ? ? ? -0.2024006258## V21 ? ? ? ? ?0.0006531455## V22 ? ? ? ? ?0.2456970018## V23 ? ? ? ? ?0.4333057414## V24 ? ? ? ? -0.1769632495## V25 ? ? ? ? ?0.5320062623## V26 ? ? ? ? -0.3875044960## V27 ? ? ? ? -0.2157079430## V28 ? ? ? ? ?0.3337625633## V29 ? ? ? ? -0.2659968175## V30 ? ? ? ? ?0.1601149964

## 截距估計(jì)應(yīng)該取消。(best_ridge_coef3)[-1]##執(zhí)行自適應(yīng)套索 ? ? ? ? ? ? ? ? ?## 多項(xiàng)式回歸 ? ? ? ? ? ? ? ? ?family = "binomial", ? ? ? ? ? ? ? ? ?## “alpha=1”是套索懲罰,“alpha=0”是嶺懲罰。 ? ? ? ? ? ? ? ? ?alpha = 1,

## 使用10折CV執(zhí)行自適應(yīng)套索 ? ? ? ? ? ? ? ? ? ? ## 類型。度量:用于交叉驗(yàn)證的損失。 ? ? ##懲罰vs CV MSE圖plot(alasso3_cv)

## 在誤差最小λ處提取系數(shù)lambda.min

## [1]?0.5438827

## s:需要進(jìn)行預(yù)測(cè)的懲罰參數(shù)“l(fā)ambda”的值。默認(rèn)值是用于創(chuàng)建模型的整個(gè)序列。coef(cv, s = lambda.min)

## 31 x 1 sparse Matrix of class "dgCMatrix"## ? ? ? ? ? ? ? ? ? ? ? 1## (Intercept) ?0.19932789## V1 ? ? ? ? ? . ? ? ? ? ## V2 ? ? ? ? ? 0.69081709## V3 ? ? ? ? ?-0.48062268## V4 ? ? ? ? ?-1.21628612## V5 ? ? ? ? ? . ? ? ? ? ## V6 ? ? ? ? ?-1.01918155## V7 ? ? ? ? ? . ? ? ? ? ## V8 ? ? ? ? ?-0.48394892## V9 ? ? ? ? ? 0.79804285## V10 ? ? ? ? -1.49657785## V11 ? ? ? ? ?. ? ? ? ? ## V12 ? ? ? ? ?. ? ? ? ? ## V13 ? ? ? ? ?. ? ? ? ? ## V14 ? ? ? ? ?. ? ? ? ? ## V15 ? ? ? ? ?. ? ? ? ? ## V16 ? ? ? ? ?0.19759191## V17 ? ? ? ? ?. ? ? ? ? ## V18 ? ? ? ? ?. ? ? ? ? ## V19 ? ? ? ? ?. ? ? ? ? ## V20 ? ? ? ? ?. ? ? ? ? ## V21 ? ? ? ? ?. ? ? ? ? ## V22 ? ? ? ? ?0.04668665## V23 ? ? ? ? ?0.24445410## V24 ? ? ? ? ?. ? ? ? ? ## V25 ? ? ? ? ?0.57951934## V26 ? ? ? ? -0.21844124## V27 ? ? ? ? ?. ? ? ? ? ## V28 ? ? ? ? ?0.07144777## V29 ? ? ? ? -0.04682770## V30 ? ? ? ? ?.

?繪制ROC曲線?

## 提取預(yù)測(cè)概率和觀察結(jié)果。pY <- as.(predict(alasso3, newx = x_bin, s = lambda.min, type = "response"))## ## 用AUC和閾值繪制ROC曲線plot(roc1)

交叉驗(yàn)證測(cè)試集AUC

lapply(unique(foldid), function(id) ? ?## 擬合排除測(cè)試集 (foldid == id) ? ? ?## 使用模型擬合最佳lambda測(cè)試集Y?hat ? ?y_pred <- (predict(fit, newx = x_bin[foldid == id], s = lambda.min) ? ?## 測(cè)試組 Y ? ?y <- y_bin[alasso3_cv$foldid == id] ? ?## 測(cè)試組 AUCroc(y ~ y_pred)$auc

## ?[1] 1.0000000 1.0000000 1.0000000 0.9200000 1.0000000 1.0000000 0.7619048 0.7916667 0.7200000## [10] 0.9375000

## [1]?0.9131071

點(diǎn)擊文末?“閱讀原文”

獲取全文完整代碼數(shù)據(jù)資料。

本文選自《R語(yǔ)言自適應(yīng)LASSO 多項(xiàng)式回歸、二元邏輯回歸和嶺回歸應(yīng)用分析》。

點(diǎn)擊標(biāo)題查閱往期內(nèi)容

R語(yǔ)言Lasso回歸模型變量選擇和糖尿病發(fā)展預(yù)測(cè)模型
【視頻】Lasso回歸、嶺回歸正則化回歸數(shù)學(xué)原理及R軟件實(shí)例
群組變量選擇、組懲罰group lasso套索模型預(yù)測(cè)新生兒出生體重風(fēng)險(xiǎn)因素?cái)?shù)據(jù)和交叉驗(yàn)證、可視化
【視頻】Lasso回歸、嶺回歸等正則化回歸數(shù)學(xué)原理及R語(yǔ)言實(shí)例R語(yǔ)言Lasso回歸模型變量選擇和糖尿病發(fā)展預(yù)測(cè)模型
用LASSO,adaptive LASSO預(yù)測(cè)通貨膨脹時(shí)間序列MATLAB用Lasso回歸擬合高維數(shù)據(jù)和交叉驗(yàn)證
群組變量選擇、組懲罰group lasso套索模型預(yù)測(cè)新生兒出生體重風(fēng)險(xiǎn)因素?cái)?shù)據(jù)和交叉驗(yàn)證、可視化
高維數(shù)據(jù)懲罰回歸方法:主成分回歸PCR、嶺回歸、lasso、彈性網(wǎng)絡(luò)elastic net分析基因數(shù)據(jù)
Python高維變量選擇:SCAD平滑剪切絕對(duì)偏差懲罰、Lasso懲罰函數(shù)比較
R使用LASSO回歸預(yù)測(cè)股票收益
廣義線性模型glm泊松回歸的lasso、彈性網(wǎng)絡(luò)分類預(yù)測(cè)學(xué)生考試成績(jī)數(shù)據(jù)和交叉驗(yàn)證
貝葉斯分位數(shù)回歸、lasso和自適應(yīng)lasso貝葉斯分位數(shù)回歸分析免疫球蛋白、前列腺癌數(shù)據(jù)
R語(yǔ)言RSTAN MCMC:NUTS采樣算法用LASSO 構(gòu)建貝葉斯線性回歸模型分析職業(yè)聲望數(shù)據(jù)
r語(yǔ)言中對(duì)LASSO回歸,Ridge嶺回歸和彈性網(wǎng)絡(luò)Elastic Net模型實(shí)現(xiàn)
R語(yǔ)言高維數(shù)據(jù)懲罰回歸方法:主成分回歸PCR、嶺回歸、lasso、彈性網(wǎng)絡(luò)elastic net分析基因數(shù)據(jù)(含練習(xí)題)
廣義線性模型glm泊松回歸的lasso、彈性網(wǎng)絡(luò)分類預(yù)測(cè)學(xué)生考試成績(jī)數(shù)據(jù)和交叉驗(yàn)證
貝葉斯分位數(shù)回歸、lasso和自適應(yīng)lasso貝葉斯分位數(shù)回歸分析免疫球蛋白、前列腺癌數(shù)據(jù)
R語(yǔ)言RSTAN MCMC:NUTS采樣算法用LASSO 構(gòu)建貝葉斯線性回歸模型分析職業(yè)聲望數(shù)據(jù)
r語(yǔ)言中對(duì)LASSO回歸,Ridge嶺回歸和彈性網(wǎng)絡(luò)Elastic Net模型實(shí)現(xiàn)
R語(yǔ)言高維數(shù)據(jù)懲罰回歸方法:主成分回歸PCR、嶺回歸、lasso、彈性網(wǎng)絡(luò)elastic net分析基因數(shù)據(jù)(含練習(xí)題)
Python中LARS和Lasso回歸之最小角算法Lars分析波士頓住房數(shù)據(jù)實(shí)例
R語(yǔ)言自適應(yīng)LASSO 多項(xiàng)式回歸、二元邏輯回歸和嶺回歸應(yīng)用分析
R語(yǔ)言懲罰logistic邏輯回歸(LASSO,嶺回歸)高維變量選擇的分類模型案例
Python中的Lasso回歸之最小角算法LARS
r語(yǔ)言中對(duì)LASSO回歸,Ridge嶺回歸和彈性網(wǎng)絡(luò)Elastic Net模型實(shí)現(xiàn)
R語(yǔ)言實(shí)現(xiàn)LASSO回歸——自己編寫LASSO回歸算法
r語(yǔ)言中對(duì)LASSO回歸,Ridge嶺回歸和Elastic Net模型實(shí)現(xiàn)
R使用LASSO回歸預(yù)測(cè)股票收益
R語(yǔ)言如何和何時(shí)使用glmnet嶺回歸
R語(yǔ)言中的嶺回歸、套索回歸、主成分回歸:線性模型選擇和正則化
Python中的ARIMA模型、SARIMA模型和SARIMAX模型對(duì)時(shí)間序列預(yù)測(cè)
R語(yǔ)言arima,向量自回歸(VAR),周期自回歸(PAR)模型分析溫度時(shí)間序列
【視頻】Python和R語(yǔ)言使用指數(shù)加權(quán)平均(EWMA),ARIMA自回歸移動(dòng)平均模型預(yù)測(cè)時(shí)間序列
Python用ARIMA和SARIMA模型預(yù)測(cè)銷量時(shí)間序列數(shù)據(jù)


R語(yǔ)言自適應(yīng)LASSO 多項(xiàng)式回歸、二元邏輯回歸和嶺回歸應(yīng)用分析|附代碼數(shù)據(jù)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
库车县| 许昌市| 鹤岗市| 安徽省| 祁阳县| 五家渠市| 通辽市| 三明市| 武城县| 布尔津县| 扶绥县| 乾安县| 策勒县| 佛冈县| 甘肃省| 霍林郭勒市| 双流县| 云龙县| 龙游县| 河池市| 大冶市| 合作市| 东港市| 佛学| 监利县| 登封市| 青岛市| 德安县| 佛坪县| 库伦旗| 枣庄市| 宜兰县| 北碚区| 常州市| 集贤县| 凤台县| 阜康市| 通辽市| 区。| 岳普湖县| 长宁县|