Estoy ejecutando un LASSO que tiene algunos predictores de variables categóricas y algunos continuos. Tengo una pregunta sobre las variables categóricas. El primer paso que entiendo es dividir cada uno de ellos en tontos, estandarizarlos para una penalización justa y luego retroceder. Surgen varias opciones para tratar las variables ficticias:
Incluya todos los dummies menos uno para cada factor, dejando ese como nivel de referencia. La interpretación de un coeficiente ficticio es relativa a la categoría de "referencia" excluida. La intersección es ahora la respuesta media para la categoría de referencia.
Agrupe las variables en cada factor para que estén excluidas o incluidas todas menos una. Creo que eso es lo que @Glen_b sugiere aquí :
Normalmente, sí, mantienes todos tus factores juntos. Hay varios paquetes R que pueden hacer esto, incluido glmnet
Incluya todos los niveles, como lo sugiere @ Andrew M aquí :
También es posible que desee cambiar la función de contraste predeterminada, que por defecto omite un nivel de cada factor (codificación de tratamiento). Pero debido a la penalización del lazo, esto ya no es necesario para la identificabilidad, y de hecho hace que la interpretación de las variables seleccionadas sea más complicada. Para hacer esto, establezca
contr.Dummy <- function(contrasts, ...){ conT <- contr.treatment(contrasts=FALSE, ...) conT } options(contrasts=c(ordered='contr.Dummy', unordered='contr.Dummy'))
Ahora, cualquiera que sea el nivel de un factor seleccionado, puede pensar que sugiere que estos niveles específicos son importantes, en comparación con todos los niveles omitidos. En el aprendizaje automático, he visto que esta codificación se conoce como codificación one-hot.
Preguntas:
- ¿Cuál es la interpretación de la intersección y los coeficientes bajo cada uno de estos enfoques?
- ¿Cuáles son las consideraciones involucradas en la selección de uno de ellos?
- ¿Desescalamos los coeficientes ficticios y luego los interpretamos como un cambio de ir de encendido a apagado?