R 語言 lasso回歸

2021-02-21 醫學統計與分析

在基因數據的分析中,經常會用到lasso(套索)這種方法來進行變量的篩選,其實就是在目標優化函數後邊加一個L1正則化項,其中參數lamda為超參數,需要我們去確定。接下來以線性回歸為例介紹其在R語言中的實現,當然在logistic回歸、cox回歸也是可用lasso的。


實例數據



R包(glmnet)

我們用交叉驗證來確定lamda的值,在這裡我們隨便指定使用nfolds=4 4折交叉驗證,實際中常用5折或者10折。以Employed為因變量,其餘變量為自變量(不包括年份)建立模型

set.seed(123)x <- as.matrix(longley[,-c(6,7)])cv_lasso = cv.glmnet(x, longley$Employed,nfolds = 4,family = "gaussian", alpha = 1)

在這裡對應於mse最小的lamda即為我們最終採用的lamda,lambda.min就是所求,大小約為0.097

plot(cv_lasso) sprintf('Best lambda for LASSO: %f.', cv_lasso$lambda.min)

我們可以驗證下看lambda.min對應的是不是最小的mse,運行下面程序,發現mse最小處對應的lamda與以上程序返回值一致

cv_lasso$lambda[which(cv_lasso$cvm==min(cv_lasso$cvm))]

返回參數的係數,可以看到只剩下兩個變量

coef(cv_lasso,s = "lambda.min")

相關焦點

  • 用R進行Lasso regression回歸分析
    glmnet是由史丹福大學的統計學家們開發的一款R包,用於在傳統的廣義線性回歸模型的基礎上添加正則項,以有效解決過擬合的問題,支持線性回歸,邏輯回歸,泊松回歸,cox回歸等多種回歸模型,連結如下https://cran.r-project.org/web/packages/glmnet/index.html對於正則化,提供了以下3種正則化的方式
  • R語言實現LASSO回歸模型
    我們知道廣義線性模型包括了一維連續因變量、多維連續因變量、非負次數因變量、二元離散因變量、多元離散因變等的回歸模型。然而LASSO對以上的數據類型都適合,也可以說LASSO 回歸的特點是在擬合廣義線性模型的同時進行變量篩選(variable selection)和複雜度調整(regularization)。
  • Stata: 拉索回歸和嶺回歸 (Ridge, Lasso) 簡介
    當某項的懲罰係數足夠大時,那麼它將無法進入模型(變量選擇),只有那些回歸係數非0的變量才會被選入模型。在 Stata 中,我們可以安裝 lassopack 命令來實現 Lasso 回歸,Lassopack 包含三個與 Lasso 相關的子命令(輸入 help lassopack 可以查看詳情):3.
  • 使用Python線性回歸:預測Steam的打折的幅度
    使用Python線性回歸預測Steam遊戲的打折的幅度上篇文章我們解決了Steam是否打折的問題,這篇文章我們要解決的是到底打折幅度有多少,這裡我們就不能使用分類模型,而需要使用回歸的模型了。主要目標在這個項目中,我將試圖找出什麼樣的因素會影響Steam的折扣率並建立一個線性回歸模型來預測折扣率。
  • LASSO回歸在生物醫學資料中的簡單實例
    model_lasso <- glmnet(x, y, family="gaussian", nlambda=50, alpha=1)LASSO回歸的結果解析print(model_lasso)## Call:  glmnet(x = x, y = y, family = "gaussian", alpha = 1, nlambda
  • r語言一元回歸模型專題及常見問題 - CSDN
    一元線性回歸分析首先介紹回歸分析中最基礎的情況:一元線性回歸分析。它規定模型f函數只能是y=k*x+b的形式,即只使用一個變量x(故稱為一元)的線性形式來預測目標變量y。6.1.1引例利用某網站歷次促銷活動中促銷讓利費用和銷售金額的數據(單位是十萬元),將使用該數據集來說明線性回歸分析的應用。
  • R語言從入門到精通:Day12--R語言統計--回歸分析
    回歸作為一個廣義的概念,涵蓋了許多變種,R語言中也為其提供了強大而豐富的函數和選項(但顯然選項越多,對初學者越不友好),早在2005年,R中就有200多種關於回歸分析的函數 (https://cran.r-project.org/doc/contrib/Ricci-refcard-regression.pdf,這個文檔提供了部分回歸分析函數列表,供大家參考)。
  • r中回歸結果怎麼判定模型好壞_lasso回歸 模型好壞 - CSDN
    回歸模型主要能做兩件事情,一是用模型去體現事物間的關係,即解釋模型變量間的關係;二是用模型進行預測。       如下圖所示,回歸建模的工作流程即 將客觀現實轉化為數據後進行建模,終極目標是用數學模型將事物的來龍去脈解釋清楚,作為數據分析師,講故事的能力真的非常重要。
  • 回歸or分類?線性or邏輯?一文掌握模型的不同之處
    視覺化呈現:回歸模型 vs. 分類模型回歸模型回歸模型中使用最普遍的是線性回歸和邏輯回歸。X_test)## will not work because the range of y is 0 to 3.25, not 0 to 1ridge = Ridge()ridge_fit = ridge.fit(X_train,y_train)r_predict
  • r語言的p值檢驗 - CSDN
    輸入1: rdata = matrix(rnorm(1000* 6, 0, 3), 6) rvar = apply(rdata, 2, var) mean(rvar)結果1: [1] 8輸入2: var(rvar)結果2: [1] 32=2*81/5輸入3:
  • R語言——交叉驗證法計算線性回歸模型擬合優度的第三種R方
    本來打算這周繼續更新一篇LaTex的小短文,但是貌似我已經很久沒有寫R語言相關的東西了。想來想去,今天就寫一篇和R語言有關的,畢竟不能忘記初心呀!凡是學過計量的同學,哪怕只記得一點點皮毛,對於R方和調整R方也應該是再熟悉不過了。R方和調整R方是判斷回歸模型擬合度的最為方便簡單的指標,一般來說,數值越大代表模型的擬合度越好。
  • R語言_018回歸
    通常,回歸分析可以用來挑選與響應變量相關的解釋變量,可以描述兩者的關係,也可以生成一個等式,通過解釋變量來預測響應變量。  下面介紹如何用R函數擬合OLS回歸模型、評價擬合優度、檢驗假設條件以及選擇模型,為了能夠恰當地解釋OLS模型的係數,數據必須滿足以下統計假設↓  如果違背了以上假設,統計顯著性檢驗結果和所得的置信區間就很可能不精確了。
  • r語言 做wald檢驗_r語言wald檢驗怎麼做 - CSDN
    用R語言遇到的一些問題。經常看到rcs()函數,比如擬合回歸時:f <- cph(S ~ rcs(age,4) + sex, x=T, y=T)。
  • 醫學統計與R語言:GiViTI Calibration Belt
    https://cran.r-project.org/web/packages/givitiR/vignettes/givitiR.htmlNattino, G., Finazzi, S., & Bertolini, G. (2016).
  • r語言 多元回歸模型_r語言多元回歸模型殘差分析 - CSDN
    1、多元線性回歸模型1.1多元回歸模型與多元回歸方程設因變量為y,k個自變量分別為,描述因變量y如何依賴於自變量和誤差項ε的方程稱為多元回歸模型。其一般形式可表示為:式中,為模型的參數,ε為隨機誤差項。
  • R語言數據分析(二)回歸分析(4)
    多元線性回歸例題例:某品種水稻糙米含鎘量y(mg/kg)與地上部生物量x1(10g/盆)及土壤含鎘量x2(100mg/kg)的8組觀測值如表2.1。試建立多元線性回歸模型。或者使用逐步回歸方法,讓軟體自動保留通過檢驗的變量。 多元回歸:非線性建立多元非線性回歸方程在科學研究中應用廣泛,其重要方法是將非線性回歸方程轉化為線性回歸方程。轉化時應首先選擇適合的非線性回歸形式,並將其線性化。再確定線性化回歸方程的係數,最後確定非線性回歸方程中未知的係數或參數。
  • 多元逐步回歸分析r方結果解釋_r語言多元回歸篩選變量逐步回歸分析...
    Minitab Express 1.5 for Mac 是一個強大的數據分析軟體,可以運行在Mac系統上軟體可以激活永久使用,支持語言英文;Minitab Express專為教學和學習介紹性統計而設計,包括概率分布
  • R語言-stringr-字符串處理
    單雙引號R語言中字符串輸入時,可以使用單引號,也可以使用雙引號。,不用轉義路徑複製和直接可用charchar <- r"(我是一名'R語言'學習者)"cat(char)常用函數截取字符串,匹配字符串,添加指定字符籌齊長度,去除左右兩邊空格,分割字符串,
  • 谷歌用β-LASSO武裝MLP,縮小與卷積網絡的差距
    受 MDL 的啟發,研究者提出了一種新的訓練算法 β-lasso。它是 lasso 的一種變體,比 lasso 具備更強的軟閾值,以找出參數量少的架構,也就是具有小的描述長度的架構。研究者還用 β-lasso 訓練了不同卷積核大小的 ResNet18,發現對於全部實驗數據集和卷積核大小,β-lasso 的性能均優於 SGD。
  • r語言有什麼優劣勢及R語言的未來發展趨勢_R語言在現實中的應用
    正如Tiobe、PyPL以及Redmonk等程式語言人氣排名所指出,R語言所受到的關注程度正在快速提升。作為一款誕生於上世紀九十年代的語言,R已經成為S統計程式語言的一類實現方式。已經擁有十八年R編程經驗的高校教授兼Coursera在線平臺培訓師Roger Peng指出,「R語言已經成為統計領域最具人氣的語言選項」。