Predecir con características continuas y categóricas

26

Algunas técnicas de modelado predictivo están más diseñadas para manejar predictores continuos, mientras que otras son mejores para manejar variables categóricas o discretas. Por supuesto, existen técnicas para transformar un tipo en otro (discretización, variables ficticias, etc.). Sin embargo, ¿existen técnicas de modelado predictivo diseñadas para manejar ambos tipos de entrada al mismo tiempo sin simplemente transformar el tipo de las características? Si es así, ¿estas técnicas de modelado tienden a funcionar mejor en los datos para los que son más naturales?

Lo más parecido que sé es que, por lo general, los árboles de decisión manejan bien los datos discretos y manejan los datos continuos sin requerir una discretización inicial . Sin embargo, esto no es exactamente lo que estaba buscando, ya que efectivamente las divisiones en las funciones continuas son solo una forma de discretización dinámica.

Como referencia, aquí hay algunas preguntas relacionadas, no duplicadas:

Michael McGowan
fuente
1
¿Puedes decir más sobre lo que quieres hacer? Ciertamente, puede usar la regresión múltiple con covariables continuas y categóricas para construir un modelo predictivo. Esto es bastante elemental. ¿Te refieres a predecir variables de respuesta múltiple en su lugar (donde algunas son cont y otras cat, por ejemplo)?
gung - Restablece a Monica
@gung ¿Cómo se hace la regresión múltiple que involucra covariables categóricas sin convertir, en cierto sentido, la conversión de predictores categóricos en números?
Michael McGowan
1
Los 'números' no significan nada, no son realmente numéricos . En términos de cómo, utiliza un esquema de codificación; La codificación de celda de referencia (típicamente llamada "codificación ficticia") es la más común, pero existen muchos esquemas. Este es un buen recurso para aprender sobre la variedad de esquemas posibles. En R, por ejemplo, no tiene que hacer eso, sin embargo, si incluye un vector o datos de caracteres (es decir, nombres), se encargará de todo por usted.
gung - Restablece a Monica
2
Me temo que todavía no sigo el ímpetu detrás de la pregunta (soy un poco lento). Las variables categóricas no se "transforman" o "convierten" en variables numéricas; están representados por un 1, pero ese 1 no es realmente numérico. Los predictores cualitativos no son más numéricos en regresión múltiple que en árboles de decisión (es decir, CART), por ejemplo. Desde una perspectiva teórica, simplemente no hay nada allí; desde una perspectiva práctica, si está tratando de guardar algunas líneas de código, por ejemplo, el software (R, por ejemplo) a menudo lo hará por usted.
gung - Restablece a Monica
1
Justo, ¿puedes explicar lo que crees que hay (desde una perspectiva teórica)? ¿Cómo convierte la codificación ficticia una variable categórica en una que sea significativamente numérica? ¿Cómo es que lo que hace CART le permite a la variable retener su 'categórica', pero esa codificación ficticia no? No puedo entender cuáles podrían ser las respuestas a estas preguntas de su pregunta anterior, y no veo su publicación anterior.
gung - Restablece a Monica

Respuestas:

6

Hasta donde sé, y he investigado este problema profundamente en el pasado, no hay técnicas de modelado predictivo (además de árboles, XgBoost, etc.) que estén diseñadas para manejar ambos tipos de entrada al mismo tiempo sin simplemente transformar el tipo de las características.

Tenga en cuenta que los algoritmos como Random Forest y XGBoost aceptan una entrada de características mixtas, pero aplican cierta lógica para manejarlos durante la división de un nodo. Asegúrese de comprender la lógica "bajo el capó" y de que está de acuerdo con lo que esté sucediendo en el recuadro negro.

u1u2fire(tu1,tu2)Fyo=(reyos-dounatmisoloryodounal(tu1,tu2)FyoFyore(tu1,tu2)Fyo=reyos-nortetumetromiryodo(tu1,tu2)FyoFyoFyotu1tu2

Algunas funciones de distancia conocidas para características categóricas:

  • Distancia de Levenshtien (o cualquier forma de "distancia de edición")

  • Métrica subsecuencia común más larga

  • Distancia de Gower
  • Y más métricas aquí.
Serendipia
fuente
5

Sé que ha pasado un tiempo desde que se publicó esta pregunta, pero si todavía está mirando este problema (o similares), puede considerar el uso de modelos aditivos generalizados (GAM). No soy un experto, pero estos modelos le permiten combinar diferentes modelos para crear una sola predicción. El proceso utilizado para encontrar coeficientes para los modelos que pones resuelve todos ellos a la vez, por lo que puedes enviar un modelo aditivo generalizado a tu modelo favorito para predictores categóricos y tu modelo favorito para predictores continuos y obtener un modelo único que minimiza RSS o cualquier otro criterio de error que desee usar.

Fuera de mi cabeza, el único paquete de software que sé que tiene una implementación de GAM es el lenguaje R, pero estoy seguro de que hay otros.

Forrest Cinelli
fuente
SAS tiene un procedimiento llamado Proc Gam.
Alph
1
La mayoría de los paquetes estadísticos principales (p. Ej., Stata) probablemente puedan implementar GAM. Sin embargo, más concretamente, los GAM utilizarán códigos ficticios para representar variables categóricas como predictores. No está claro qué quiere el OP al buscar un modelo que utilice predictores categóricos como categóricos pero que no los represente mediante códigos ficticios, pero no es probable que sea así.
gung - Restablece a Monica
Bienvenido a CV. Tenga en cuenta que su nombre de usuario, identicon y un enlace a su página de usuario se agregan automáticamente a cada publicación que realice, por lo que no es necesario firmar sus publicaciones. De hecho, preferimos que no lo hagas.
gung - Restablece a Monica
4

Si bien la discretización transforma los datos continuos en datos discretos, difícilmente se puede decir que las variables ficticias transforman los datos categóricos en datos continuos. De hecho, dado que los algoritmos pueden ejecutarse en computadoras, difícilmente puede haber un algoritmo clasificador que NO transforme los datos categóricos en variables ficticias.

En el mismo sentido, un clasificador en última instancia transforma sus predictores en una variable discreta que indica la pertenencia a una clase (incluso si genera una probabilidad de clase, finalmente elige un límite). De hecho, muchos clasificadores como la regresión logística, el bosque aleatorio, los árboles de decisión y la SVM funcionan bien con ambos tipos de datos.

Sospecho que sería difícil encontrar un algoritmo que funcione con datos continuos pero que no pueda manejar datos categóricos en absoluto. Por lo general, tiendo a encontrar que hace más diferencia sobre qué tipo de datos tiene en el lado izquierdo de su modelo.

Erik
fuente
2
No, mi punto es que la regresión logística y otros no "funcionan" en el sentido que estoy describiendo con ambos tipos de datos. Requieren que, al menos en cierto sentido, trate todos los predictores como números o ninguno de ellos como números. Sé, por ejemplo, que a menudo se pueden obtener excelentes resultados con una regresión logística al codificar algo como "género" como 1 para "hombre" y 0 para "mujer". Sin embargo, me pregunto si este tipo de proceso se puede evitar con cualquier paradigma de modelado conocido.
Michael McGowan
1

Esta es una pregunta filosófica profunda que comúnmente se aborda desde el punto de vista estadístico y de aprendizaje automático. Algunos dicen que la categorización es mejor para un indicador discreto a categórico, de modo que los paquetes puedan digerir fácilmente las entradas del modelo. Otros dicen que el binning puede causar pérdida de información, pero, sin embargo, las variables categóricas pueden / deben convertirse a {1,0} variables indicadoras que omiten la última clase para los residuos del modelo.

El libro - Regresión lineal aplicada (Kutner et al.) Menciona acerca de la lógica de introducir variables indicadoras en el modelo en los primeros capítulos. Puede haber otro texto similar también.

Mi opinión sobre esto puede ser un poco exagerada: si imaginamos las variables categóricas como los bloques en un diseño experimental, la variable indicadora es una extensión natural del análisis de datos no basado en experimentos. Con respecto a los algoritmos de minería de datos (familias de árboles de decisión), la categorización es inevitable (ya sea de forma manual o automatizada) que se debe alimentar al modelo.

Por lo tanto, puede que no haya un modelo especializado para variables numéricas y categóricas de la misma manera (sin binning-numerical o usando indicadores-categóricos).

KarthikS
fuente