¿Cómo debo manejar las variables categóricas con múltiples niveles al hacer la eliminación hacia atrás?


12

Estoy haciendo un modelo simple de eliminación hacia atrás basado en AIC donde algunas variables son variables categóricas con múltiples niveles. Estas variables se modelan como un conjunto de variables ficticias. Al hacer la eliminación hacia atrás, ¿debería eliminar todos los niveles de una variable juntos? ¿O debería tratar cada variable ficticia por separado? ¿Y por qué?

Como una pregunta relacionada, el paso en R maneja cada variable ficticia por separado cuando se realiza la eliminación hacia atrás. Si quisiera eliminar una variable categórica completa de una vez, ¿puedo hacerlo usando el paso? ¿O hay alternativas al paso que pueden manejar esto?


Creo que es difícil responder a esta pregunta en un contexto general. Si es posible, ¿puede proporcionar alguna información sobre cuáles son sus datos? que quieres inferir posibles suposiciones, etc. Proporcionar estos detalles podría ayudarnos a responder mejor sus preguntas.
suncoolsu

@suncoolsu No estoy realmente en libertad de discutir nada de eso. Si es posible responder la pregunta con un árbol de decisión ('si está asumiendo X, entonces haga Y'), eso podría ser realmente útil.
nerdbound

1
Para mayor claridad, ¿está interesado en interpretar el modelo como causal o simplemente está interesado en la predicción?
Andy W

Si. Estoy de acuerdo con Matt Parker. Además, si la columna de datos cat tiene 5 entradas, digamos, 1,2,3,4,5, el modelo GLM proporciona 4 columnas para ello, digamos catCol1, catCol2, catCol3, catCol4, y si decidimos eliminar el catCol con el valor p más alto, digamos catCol4, los tres restantes no tienen mucho sentido, ya que los datos siempre pueden poseer el valor de catCol4. En tal situación, el GLM estaría confundido y mostraría un error ..
Ebby

Respuestas:


7

Creo que tendrías que eliminar toda la variable categórica. Imagine una regresión logística en la que intenta predecir si una persona tiene una enfermedad o no. El país de nacimiento podría tener un gran impacto en eso, por lo que debe incluirlo en su modelo. Si el origen estadounidense específico no tuvo ningún impacto en el AIC y lo descartó, ¿cómo calcularía para un estadounidense? R usa contrastes de referencia para los factores de forma predeterminada, por lo que creo que se calcularían en el nivel de referencia (por ejemplo, Botswana), si es que lo hacen. Eso probablemente no va a terminar bien ...y^

Una mejor opción sería clasificar de antemano las codificaciones razonables del país de nacimiento, colapsando en la región, el continente, etc. y encontrar cuál de ellas es la más adecuada para su modelo.

Por supuesto, hay muchas maneras de usar mal la selección de variables por pasos, así que asegúrese de hacerlo correctamente. Sin embargo, hay mucho sobre eso en este sitio; buscar "paso a paso" trae algunos buenos resultados. Esto es particularmente pertinente , con muchos buenos consejos en las respuestas.


1
Gracias por la respuesta. Supongo que mi preocupación es que, en su ejemplo, si un país de nacimiento es un indicador fantástico de una enfermedad, y todos los demás países de origen son malos indicadores, entonces el modelo de eliminación hacia atrás me indicará que elimine el país de nacimiento, incluso aunque el país de nacimiento es apenas inútil como covariable. En otras palabras, podría tener sentido tener una sola variable para '¿eres lituano?' a pesar de que el país de nacimiento en su conjunto no predice bien. ¿Hay formas sensatas de manejar ese tipo de problema?
nerdbound

2
(+1) Si un país es un gran predictor, entonces todo el grupo de países será significativo y se mantendrá. @Matt Parker es correcto: mantenga juntos grupos de variables ficticias y base los criterios de entrada y salida en el nivel de significación conjunta para todo el grupo, no en los niveles de significación para las variables ficticias individuales.
whuber

2
@whuber OK otro comentario potencialmente tonto de mi parte y luego estaré en paz cuando entiendo por qué estoy equivocado :-P Me parece que si estoy mirando AIC y excluyo, digamos, 200 tontos de países como grupo, el AIC mejorará porque el nuevo modelo tendrá 200 variables menos, y empeorará solo en la medida en que esos maniquíes sean buenos predictores. Si solo una de las variables fuera un buen predictor, me parece que en la red el AIC hará que el modelo con 200 variables menos se vea mejor, pero luego me
perderé

44
@nerdbound Eso no es tonto en absoluto. Sin embargo, si solo un ficticio en 200 funciona bien, realmente tiene una variable categórica diferente: es una nueva variable binaria (o reclasificada). @Matt Parker aborda este problema en su segundo párrafo. Esto parece un asunto de análisis exploratorio (que de todos modos es la regresión gradual). Está perfectamente bien torturar sus datos de esta manera, pero después de que todo el humo desaparezca, debe probar su modelo con datos independientes.
whuber

1
Esto puede ser relevante cuando hay muchos niveles: stats.stackexchange.com/questions/146907/…
kjetil b halvorsen

0

En cuanto al ejemplo de países, creo que si se selecciona la variable ficticia para un país específico, significa que este país es un predictor en comparación con todos los demás países combinados (no es necesario crear una nueva variable binaria). El problema que tengo con mucha frecuencia son las variables ficticias que reflejan, por ejemplo, la gravedad de una enfermedad (como -, +, ++, +++). A veces se selecciona la variable ficticia para ++ pero no la variable ficticia para +++. En este caso, la reclasificación puede ser útil.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.