I am using R to perform a linear regression with a dataset that has clearly correlated independent variables (collinearity). I am using the vif (variance inflation factor) function from the car package to quantify and examine collinearity. I would like to eliminate some independent variables from the model in order to reduce collinearity in a systematic way and I am currently using a glmnet (elastic-net) model via the caret package to do this.
However, the optimal cross validated model doesn't quite eliminate some problematic correlated independent variables from the model. I would like to force the model to set the coefficients for some of these variables all the way to 0 by increasing the penalization factor (lambda) of the glmnet model.
Is there a good way to accomplish this in an elegant way while allowing my model to optimize on both the alpha and lambda hyperparameters? My current thought is to take the alpha and lambda values from the 'optimal' glmnet model that caret produces and then directly use the glmnet package with these hyperparameter values, increasing lambda until I am satisfied with the level of collinearity in the model. Would this be a reasonable approach?