Tengo un gran conjunto de predictores (más de 43,000) para predecir una variable dependiente que puede tomar 2 valores (0 o 1). El número de observaciones es más de 45,000. La mayoría de los predictores son unigramas, bigramas y trigramas de palabras, por lo que existe un alto grado de colinealidad entre ellos. También hay mucha escasez en mi conjunto de datos. Estoy usando la regresión logística del paquete glmnet, que funciona para el tipo de conjunto de datos que tengo. Mi problema es cómo puedo informar la importancia del valor p de los predictores. Obtengo el coeficiente beta, pero ¿hay alguna manera de afirmar que los coeficientes beta son estadísticamente significativos?
Aquí está mi código:
library('glmnet')
data <- read.csv('datafile.csv', header=T)
mat = as.matrix(data)
X = mat[,1:ncol(mat)-1]
y = mat[,ncol(mat)]
fit <- cv.glmnet(X,y, family="binomial")
Otra pregunta es: estoy usando la penalización predeterminada de lazo alfa = 1, que causa el problema adicional de que si dos predictores son colineales, el lazo seleccionará uno de ellos al azar y asignará un peso beta cero al otro. También probé con la penalización de cresta (alfa = 0) que asigna coeficientes similares a variables altamente correlacionadas en lugar de seleccionar una de ellas. Sin embargo, el modelo con penalización por lazo me da una desviación mucho menor que el que tiene penalización por cresta. ¿Hay alguna otra manera de informar ambos predictores que sean altamente colineales?