Question: Elastic net (glmnet) predictive modeling: signal lost in noise
gravatar for lordoftheowl
3.5 years ago by
lordoftheowl10 wrote:


I am doing some predictive modeling of gene expression from SNP genotypes. I have about 500 expression values (centered and scaled) and about 3000 SNPs (matrix of 0,1,2). When I run my elastic net (cv.glmnet, alpha = 0.5, 10fold cv), the model "fails" to determine any predictive SNPs, ie, it assigns 0 to each weight.

However, I also have a smaller subset of ~40 SNPs that I have prior reason to believe are good predictors of expression for this gene. When I run elastic net on just these predictors, I have no problem getting out a decent model that includes most of these SNPs.

So it seems to me that I have a true signal that I can't detect once enough other SNPs are added.

Ultimately, the goal would be to detect the best predictive eQTL SNPs in an unbiased way. Are there ways to optimize my input or algorithm to avoid these false negatives?


machine learning prediction R • 1.6k views
ADD COMMENTlink modified 3.5 years ago by aquaq30 • written 3.5 years ago by lordoftheowl10
gravatar for Jean-Karim Heriche
3.5 years ago by
EMBL Heidelberg, Germany
Jean-Karim Heriche24k wrote:

Try setting alpha to lower values to reduce the contribution of the lasso. The value of alpha obtained by cross-validation is a compromise between variable selection and prediction so it may not be optimal when you're concerned with variable selection. You may be interested in reading this blog on when the lasso fails and this paper evaluating elastic net for GWAS studies.

ADD COMMENTlink modified 3.5 years ago • written 3.5 years ago by Jean-Karim Heriche24k
gravatar for aquaq
3.5 years ago by
aquaq30 wrote:

You could use caret package to tune for glmnet parameters. Here is a nice example of the process:

ADD COMMENTlink written 3.5 years ago by aquaq30
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 2179 users visited in the last hour