คำถามติดแท็ก glmnet

แพคเกจ R สำหรับ lasso และ elastic-netized normalized generalized linear model

1
การแปลงแปลงการติดตามตัวแปร LASSO
ฉันยังใหม่กับglmnetแพ็คเกจและฉันก็ยังไม่แน่ใจว่าจะตีความผลลัพธ์ได้อย่างไร ใครช่วยกรุณาอ่านพล็อตการติดตามต่อไปนี้ได้ไหม กราฟได้มาจากการรันสิ่งต่อไปนี้: library(glmnet) return <- matrix(ret.ff.zoo[which(index(ret.ff.zoo)==beta.df$date[2]), ]) data <- matrix(unlist(beta.df[which(beta.df$date==beta.df$date[2]), ][ ,-1]), ncol=num.factors) model <- cv.glmnet(data, return, standardize=TRUE) op <- par(mfrow=c(1, 2)) plot(model$glmnet.fit, "norm", label=TRUE) plot(model$glmnet.fit, "lambda", label=TRUE) par(op)

3
การถดถอยโลจิสติก: Scikit Learn vs glmnet
ฉันพยายามทำซ้ำผลลัพธ์จากsklearnไลบรารีถดถอยโลจิสติกโดยใช้glmnetแพคเกจใน R จากเอกสารsklearnการถดถอยโลจิสติกพยายามลดฟังก์ชั่นค่าใช้จ่ายภายใต้บทลงโทษ l2 ขั้นต่ำw , c 1minw,c12wTw+C∑i=1Nlog(exp(−yi(XTiw + c ) ) + 1)minw,ค12wTW+คΣผม=1ยังไม่มีข้อความเข้าสู่ระบบ⁡(ประสบการณ์⁡(-Yผม(XผมTW+ค))+1)\min_{w,c} \frac12 w^Tw + C\sum_{i=1}^N \log(\exp(-y_i(X_i^Tw+c)) + 1) จากสะเปะสะปะของglmnetการดำเนินงานของฟังก์ชั่นช่วยลดค่าใช้จ่ายแตกต่างกันเล็กน้อย นาทีβ, β0- [ 1ยังไม่มีข้อความΣi = 1ยังไม่มีข้อความYผม( β0+ xTผมβ) - บันทึก( 1 + e( β0+ xTผมβ)) ] + λ [ ( α - 1 ) | | β| |22/ …

1
การถดถอยโลจิสติก glmnet สามารถจัดการตัวแปรตัวประกอบ (หมวดหมู่) ได้โดยตรงโดยไม่ต้องใช้ตัวแปรจำลองหรือไม่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับการตรวจสอบข้าม ปิดให้บริการใน3 ปีที่ผ่านมา ฉันกำลังสร้างการถดถอยโลจิสติกใน R โดยใช้วิธี LASSO ด้วยฟังก์ชั่นcv.glmnetสำหรับการเลือกlambdaและglmnetสำหรับรุ่นสุดท้าย ฉันรู้ข้อเสียทั้งหมดเกี่ยวกับการเลือกรุ่นอัตโนมัติแล้ว แต่ฉันต้องทำต่อไป ปัญหาของฉันคือฉันต้องรวมตัวแปรปัจจัย (หมวดหมู่) ในแบบจำลองมีวิธีใดที่จะทำได้โดยไม่ต้องสร้างตัวแปรจำลองจำนวนมากหรือไม่ ตัวแปรนี้เกือบทุกสายและไม่ใช่ตัวเลข

1
Caret glmnet กับ cv.glmnet
ดูเหมือนจะมีความสับสนมากในการเปรียบเทียบการใช้glmnetภายในcaretเพื่อค้นหาแลมบ์ดาที่ดีที่สุดและใช้cv.glmnetในการทำงานเดียวกัน มีการตั้งคำถามมากมายเช่น: โมเดลการจำแนกประเภท train.glmnet vs. cv.glmnet วิธีที่เหมาะสมในการใช้ glmnet กับคาเร็ตคืออะไร? การตรวจสอบข้าม `glmnet 'โดยใช้` คาเร็ต' แต่ไม่ได้รับคำตอบซึ่งอาจเป็นเพราะความสามารถในการทำซ้ำของคำถาม ตามคำถามแรกฉันให้ตัวอย่างที่คล้ายกัน แต่มีคำถามเดียวกัน: ทำไม lambdas โดยประมาณแตกต่างกันอย่างไร library(caret) library(glmnet) set.seed(849) training <- twoClassSim(50, linearVars = 2) set.seed(849) testing <- twoClassSim(500, linearVars = 2) trainX <- training[, -ncol(training)] testX <- testing[, -ncol(testing)] trainY <- training$Class # Using glmnet to …

1
การคาดการณ์โดยใช้ glmnet ใน R
ฉันกำลังพยายามสร้างแบบจำลองข้อมูลโดยใช้glmnetแพคเกจในอาร์สมมติว่าฉันมีข้อมูลต่อไปนี้ training_x <- data.frame(variable1 = c(1, 2, 3, 2, 3), variable2 = c(1, 2, 3, 4, 5)) y <- c(1, 2, 3, 4, 5) (นี่คือการทำให้เข้าใจง่ายข้อมูลของฉันมีความซับซ้อนมากขึ้น) จากนั้นฉันใช้รหัสต่อไปนี้เพื่อสร้างโมเดล glmnet x <- as.matrix(training_x) library(glmnet) GLMnet_model_1 <- glmnet(x, y, family="gaussian", alpha=0.755, nlambda=1000, standardize=FALSE, maxit=100000) ฉันกำลังใช้standardize=FALSEเพราะข้อมูลในชีวิตจริงของฉันได้มาตรฐานแล้ว จากนั้นฉันต้องการทำนายชุดข้อมูลใหม่ สมมติว่าข้อมูลใหม่ของฉันคือ: newdata <- as.matrix(data.frame(variable1 = c(2, 2, 1, …
13 r  glmnet 

1
ทำซ้ำตารางที่ 18.1 จาก“ องค์ประกอบของการเรียนรู้เชิงสถิติ”
ตารางที่ 18.1 ในองค์ประกอบของการเรียนรู้ทางสถิติสรุปประสิทธิภาพของตัวแยกประเภทหลายตัวในชุดข้อมูลระดับ 14 ฉันกำลังเปรียบเทียบอัลกอริธึมใหม่กับ lasso และ elastic net สำหรับปัญหาการจำแนกประเภทมัลติคลาส การใช้glmnetเวอร์ชั่น 1.5.3 (R 2.13.0) ฉันไม่สามารถทำซ้ำจุดที่ 7 ( -multalomial multinomial) ในตารางซึ่งรายงานจำนวนยีนที่ใช้เป็น 269 และข้อผิดพลาดในการทดสอบคือ 13 out 54 ข้อมูลที่ใช้เป็นแบบนี้14 มะเร็งชุดข้อมูล ไม่ว่าฉันจะพยายามทำอะไรฉันจะได้แบบจำลองที่มีประสิทธิภาพสูงสุดโดยใช้ยีนใกล้เคียงกับ 170-180 ยีนที่มีข้อผิดพลาดในการทดสอบ 16 จาก 54 ข้อL1L1L_1 โปรดทราบว่าในตอนต้นของส่วน 18.3 ในหน้า 654 มีการอธิบายการประมวลผลข้อมูลล่วงหน้าบางส่วน ฉันได้ติดต่อผู้เขียนแล้วโดยไม่ตอบสนองและฉันถามว่าใครสามารถยืนยันว่ามีปัญหาในการทำซ้ำตารางหรือให้วิธีแก้ปัญหาในการสร้างตาราง

3
Lasso กับ Lasso ที่ปรับตัวได้
LASSO และการปรับตัว LASSO เป็นสองสิ่งที่แตกต่างใช่มั้ย (สำหรับฉันบทลงโทษนั้นดูแตกต่างออกไป แต่ฉันแค่ตรวจสอบว่าฉันพลาดอะไรไปหรือเปล่า) เมื่อคุณพูดถึงมุ้งยืด LASSO หรือ LASSO ที่ปรับตัวได้นั้นเป็นกรณีพิเศษหรือไม่? แพคเกจ glmnet ใดที่คุณเลือกถ้าคุณเลือก alpha = 1 Adaptive LASSO ทำงานบนสภาพที่รุนแรงขึ้นใช่ไหม? ทั้งคู่มีคุณสมบัติพยากรณ์ในข้อมูลที่เหมาะสมใช่ไหม

3
วิธีจัดการค่า NA ในวิธีการหดตัว (Lasso) โดยใช้ glmnet
ฉันใช้ "glmnet" สำหรับการถดถอยแบบ lasso ใน GWAS ตัวแปรและบุคคลบางตัวมีค่าหายไปและดูเหมือนว่า glmnet ไม่สามารถจัดการค่าที่ขาดหายไปได้ มีวิธีแก้ไขปัญหานี้หรือไม่? หรือมีแพ็คเกจอื่นที่สามารถจัดการกับค่าที่ขาดหายไปในการถดถอยแบบ lasso ได้หรือไม่? นี่คือสคริปต์ของฉัน > library(glmnet) > geno6<-read.table("c6sigCnt.geno") > geno6[1:10,1:10] #genotype file (0,1,2 for minor allele counts) V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 1 1 1 1 1 1 1 1 1 1 0 2 NA …

2
คำจำกัดความที่แน่นอนของการวัด Deviance ในแพ็คเกจ glmnet พร้อม crossvalidation?
สำหรับการวิจัยปัจจุบันของฉันฉันใช้วิธี Lasso ผ่านแพ็คเกจ glmnet ใน R บนตัวแปรที่ขึ้นกับทวินาม ใน glmnet แลมบ์ดาที่ดีที่สุดจะพบได้ผ่านการตรวจสอบข้ามและแบบจำลองผลลัพธ์สามารถนำมาเปรียบเทียบกับมาตรการต่าง ๆ เช่นข้อผิดพลาดการแบ่งประเภทหรือการเบี่ยงเบน คำถามของฉัน: กำหนด deviance ใน glmnet อย่างไร มันคำนวณอย่างไร (ในกระดาษที่สอดคล้องกัน "เส้นทางการทำให้เป็นมาตรฐานสำหรับโมเดลเชิงเส้นทั่วไปผ่านพิกัดโคตร" โดย Friedman et al. ฉันพบเฉพาะความคิดเห็นนี้เกี่ยวกับการเบี่ยงเบนที่ใช้ใน cv.glmnet: "หมายถึงการเบี่ยงเบน (ลบสองเท่า ข้อมูล) "(หน้า 17))

2
การตรวจสอบความถูกต้องไขว้หลังจาก LASSO ในข้อมูลการสำรวจที่ซับซ้อน
ฉันกำลังพยายามเลือกรูปแบบตัวทำนายผลผู้สมัครบางคนที่ใช้ LASSO ด้วยผลลัพธ์ที่ต่อเนื่อง เป้าหมายคือการเลือกแบบจำลองที่ดีที่สุดด้วยประสิทธิภาพการทำนายที่ดีที่สุดซึ่งโดยทั่วไปสามารถทำได้โดยการตรวจสอบความถูกต้องของ K-fold cross หลังจากได้รับเส้นทางการแก้ปัญหาของพารามิเตอร์การปรับแต่งจาก LASSO ปัญหาที่นี่คือข้อมูลมาจากการออกแบบการสำรวจหลายขั้นตอนที่ซับซ้อน (NHANES) ด้วยการสุ่มตัวอย่างแบบคลัสเตอร์และการแบ่งชั้น ส่วนการประเมินไม่ยากเนื่องจากglmnetใน R สามารถรับน้ำหนักตัวอย่างได้ แต่ส่วนการตรวจสอบความถูกต้องไขว้นั้นมีความชัดเจนน้อยกว่าสำหรับฉันเนื่องจากการสังเกตการณ์ตอนนี้ไม่ได้เป็นอีกต่อไปแล้วและขั้นตอนการบัญชีสำหรับการสุ่มตัวอย่างน้ำหนักแทนประชากรที่ จำกัด ได้อย่างไร? ดังนั้นคำถามของฉันคือ: 1) วิธีการดำเนินการตรวจสอบความถูกต้องด้วย K-fold ด้วยข้อมูลการสำรวจที่ซับซ้อนเพื่อเลือกพารามิเตอร์การปรับแต่งที่ดีที่สุดได้อย่างไร? โดยเฉพาะอย่างยิ่งวิธีแบ่งพาร์ติชันข้อมูลตัวอย่างในชุดการฝึกอบรมและการตรวจสอบความถูกต้องอย่างเหมาะสม และวิธีการกำหนดประมาณการของข้อผิดพลาดการทำนาย? 2) มีวิธีอื่นในการเลือกพารามิเตอร์การปรับที่ดีที่สุดหรือไม่?

1
ความแตกต่างระหว่าง ElasticNet ใน Scikit-Learn Python และ Glmnet ใน R
มีใครพยายามที่จะตรวจสอบว่าเหมาะสมกับโมเดล Elastic Net ด้วยElasticNetใน scikit-Learn ใน Python และglmnetใน R บนชุดข้อมูลเดียวกันสร้างผลลัพธ์ทางคณิตศาสตร์ที่เหมือนกันหรือไม่ ฉันได้ทดลองกับการรวมกันของพารามิเตอร์หลายชุด (เนื่องจากทั้งสองฟังก์ชั่นแตกต่างกันในค่าเริ่มต้นที่พวกเขาส่งผ่านไปยังข้อโต้แย้ง) และปรับขนาดข้อมูล แต่ดูเหมือนไม่มีอะไรที่จะสร้างแบบจำลองเดียวกันระหว่างสองภาษา มีใครประสบปัญหาเดียวกันหรือไม่

1
R - Lasso Regression - แลมบ์ดาที่แตกต่างกันต่อการถดถอย
ฉันต้องการทำสิ่งต่อไปนี้: 1) การถดถอย OLS (ไม่มีเงื่อนไขการลงโทษ) เพื่อรับค่าสัมประสิทธิ์เบต้า ; หมายถึงตัวแปรที่ใช้ในการถดถอย ฉันทำสิ่งนี้ด้วยb∗jbj∗b_{j}^{*}jjj lm.model = lm(y~ 0 + x) betas = coefficients(lm.model) 2) การถดถอยของ Lasso ที่มีเงื่อนไขการลงโทษเกณฑ์การคัดเลือกจะต้องเป็นเกณฑ์ข้อมูล Bayesian (BIC) ที่กำหนดโดย λj=log(T)T|b∗j|λj=log⁡(T)T|bj∗|\lambda _{j} = \frac{\log (T)}{T|b_{j}^{*}|} โดยที่หมายถึงหมายเลขตัวแปร / regressor,สำหรับจำนวนการสังเกตและสำหรับ betas เริ่มต้นที่ได้รับในขั้นตอนที่ 1) ฉันต้องการให้ผลลัพธ์การถดถอยสำหรับค่าเฉพาะเจาะจงซึ่งแตกต่างกันสำหรับ regressor แต่ละตัวที่ใช้ ดังนั้นถ้ามีสามตัวแปรจะมีสามค่าที่แตกต่างกัน\jjjTTTb∗jbj∗b_{j}^{*}λjλj\lambda_jλjλj\lambda_j จากนั้นปัญหาการปรับให้เหมาะสมของ OLS-Lasso minbϵRn={∑t=1T(yt−b⊤Xt)2+T∑j=1m(λt|bj|)}minbϵRn={∑t=1T(yt−b⊤Xt)2+T∑j=1m(λt|bj|)}\underset{b\epsilon \mathbb{R}^{n} }{min} = \left \{ \sum_{t=1}^{T}(y_{t}-b^{\top} X_{t} …
11 r  regression  glmnet  lars 

2
glmnet: วิธีทำให้ความรู้สึกของการกำหนดพารามิเตอร์แบบหลายส่วน?
ปัญหาต่อไปนี้: ฉันต้องการทำนายตัวแปรการตอบสนองอย่างเด็ดขาดด้วยตัวแปรเด็ดขาดหนึ่งตัว (หรือมากกว่า) โดยใช้ glmnet () อย่างไรก็ตามฉันไม่สามารถรับรู้ถึงผลลัพธ์ที่ glmnet มอบให้ฉันได้ ตกลงก่อนอื่นเรามาสร้างตัวแปรเด็ดขาดสองตัวที่เกี่ยวข้องกัน: สร้างข้อมูล p <- 2 #number variables mu <- rep(0,p) sigma <- matrix(rep(0,p^2), ncol=p) sigma[1,2] <- .8 #some relationship .. diag(sigma) <- 1 sigma <- pmax(sigma, t(sigma)) n <- 100 set.seed(1) library(MASS) dat <- mvrnorm(n, mu, sigma) #discretize k <- 3 …

4
วิธีแก้ไขค่าสัมประสิทธิ์หนึ่งค่าและทำให้พอดีกับค่าอื่น ๆ
ฉันต้องการแก้ไขสัมประสิทธิ์บางอย่างด้วยตัวเองพูดแล้วพอดีสัมประสิทธิ์กับตัวทำนายอื่น ๆ ทั้งหมดในขณะที่รักษาβ 1 = 1.0ในโมเดลβ1= 1.0β1=1.0\beta_1=1.0β1= 1.0β1=1.0\beta_1=1.0 ฉันจะบรรลุสิ่งนี้โดยใช้ R ได้อย่างไร ฉันต้องการทำงานกับ LASSO ( glmnet) โดยเฉพาะอย่างยิ่งถ้าเป็นไปได้ อีกวิธีหนึ่งคือวิธีการที่ฉันสามารถ จำกัด ค่าสัมประสิทธิ์นี้ในช่วงที่เฉพาะเจาะจงบอกว่า ?0.5 ≤ บีตา1≤ 1.00.5≤β1≤1.00.5\le\beta_1\le1.0

1
ผลลัพธ์การถดถอยของสันเขาแตกต่างกันในการใช้ lm.ridge และ glmnet
ฉันใช้ข้อมูลบางอย่างที่จะหาทางออกที่ดีที่สุดของตัวแปรแบบการถดถอยโดยใช้การถดถอยสันในอาร์ฉันได้ใช้lm.ridgeและglmnet(เมื่อalpha=0) lambda=0แต่ผลที่แตกต่างกันมากโดยเฉพาะอย่างยิ่งเมื่อ มันสมมติว่าตัวประมาณค่าพารามิเตอร์ทั้งสองมีค่าเหมือนกัน แล้วปัญหาอะไรที่นี่? ขอแสดงความนับถืออย่างสูง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.