Problemas con la codificación en caliente frente a la codificación ficticia

11

Soy consciente del hecho de que las variables categóricas con k niveles deben codificarse con k-1 en la codificación ficticia (de manera similar para las variables categóricas de valores múltiples). Me preguntaba cuánto problema tiene una codificación de un punto (es decir, usando k variables en lugar de) sobre la codificación ficticia para diferentes métodos de regresión, principalmente regresión lineal, regresión lineal penalizada (Lasso, Ridge, ElasticNet), basada en árboles (bosques aleatorios , máquinas de aumento de gradiente).

Sé que en la regresión lineal, ocurren problemas de multicolinealidad (aunque en la práctica he ajustado la regresión lineal usando OHE sin ningún problema).

Sin embargo, ¿es necesario utilizar la codificación ficticia en todos ellos y cuán incorrectos serían los resultados si se utiliza la codificación de un solo uso?

Me centro en la predicción en modelos de regresión con múltiples variables categóricas (de alta cardinalidad), por lo que no me interesan los intervalos de confianza.

usuario90772
fuente
10
Afirmo que es incorrecto distinguir los dos. Las variables dummy y las variables one-hot son sinónimos completos. El primer término es más antiguo y proviene de estadísticas, mientras que el segundo es más joven y proviene del aprendizaje automático. El tercer y más formal sinónimo son las variables de contraste de tipo indicador . La pregunta de si usar todas las variables no redundantes k o k-1 en el conjunto de tales variables elementales no tiene nada que ver con esa terminología y depende del tipo de análisis y del algoritmo o programa concreto.
ttnphns
2
(cont.) Por ejemplo, un software de regresión típicamente no permitirá ingresar todo k debido a la singularidad, pero un software de modelado lineal general equivalente puede permitirlo ya que utiliza un enfoque pseudoinverso.
ttnphns
1
Estoy con @ttnphns, ambos son nombres horribles. Prefiero -completa que codifica y codificación de dejar uno fuera .
Matthew Drury
2
Disculpas por la terminología, estos son los términos estándar que he visto utilizados por los profesionales (y libros de orientación similar). ¿El problema de la colinealidad aparece solo en lineal (modelos sin convertir)? No todo el software deja de ingresar todas las k (p. Ej., Scikit-learn de Python, corrígeme si me equivoco)
user90772
@MatthewDrury Una de mis manías favoritas son los términos / frases duplicados que se arrastran en el campo del análisis estadístico, como "codificación única" y "prueba A / B". Todos deben seguir con la "codificación ficticia" y las "pruebas de hipótesis" anteriores para evitar confusiones.
RobertF

Respuestas:

7

El problema con la representación de una variable categórica que tiene niveles con k variables en regresión es que, si el modelo también tiene un término constante, entonces los términos serán linealmente dependientes y, por lo tanto, el modelo no será identificable. Por ejemplo, si el modelo es y , entonces cualquier opción del vector de parámetros es indistinguible de . Entonces, aunque el software puede estar dispuesto a darle estimaciones para estos parámetros, no están determinados de manera única y, por lo tanto, probablemente no serán muy útiles.kkX 2 = 1 - X 1 ( β 0 , β 1 , β 2 ) ( β 0 + β 2 ,μ=a0+a1X1+a2X2X2=1X1(β0,β1,β2)(β0+β2,β1β2,0)

La penalización hará que el modelo sea identificable, pero la codificación redundante seguirá afectando los valores de los parámetros de manera extraña, dado lo anterior.

El efecto de una codificación redundante en un árbol de decisión (o conjunto de árboles) probablemente sobrepondrá la característica en cuestión en relación con otras, ya que está representada con una variable redundante adicional y, por lo tanto, se elegirá con más frecuencia de lo que sería de otra manera. divisiones

Kodiólogo
fuente
1
No creo que haya ninguna razón para incluir una intercepción en un árbol o conjunto de árboles. Creo que eso es algo particular de los modelos de tipo lineal. Entonces, para los modelos basados ​​en árboles, creo que la idea correcta no es la intercepción, la codificación completa.
Matthew Drury
@MatthewDrury Creo que tienes razón sobre la intercepción, pero incluso entonces, para un árbol, la codificación redundante parece tener un uso limitado. Por ejemplo, si una característica es binaria, ¿cuál es la diferencia entre dividir en la primera clase y dividir en la segunda clase? Nada, por lo que puedo decir.
Kodiólogo
Es cierto, pero creo que mantener la simetría completa es la forma más simple de mantener todo obviamente justo e interpretable.
Matthew Drury
1

Kodiologist tuvo una gran respuesta (+1). Los métodos de codificación de codificación única frente a codificación ficticia son los mismos, en términos de que la matriz de diseño está en el mismo espacio, con bases diferentes. (aunque la codificación one-hot tiene más columnas)

Por lo tanto, si se está centrando en la precisión en lugar de la interpretabilidad. Dos métodos de codificación no hacen ninguna diferencia.

Haitao Du
fuente
1
Para ser pedante, la versión única no es una base (porque es linealmente dependiente); solo abarca el mismo espacio. Pero, ¿estás seguro de que la codificación no hace diferencia para la precisión? Particularmente en el caso de regresión penalizada, creo que el modelo final seleccionado hará diferentes predicciones.
Kodiólogo
@Kodiologist gracias por corregirme en el tema base.
Haitao Du
@Kodiologist, ¿por qué la precisión será diferente en el método lineal regularizado?
Haitao Du
44
En la regresión regularizada, siempre debe usar una codificación completa (es decir, no dejar uno afuera, no puedo mantener los nombres que usó directamente y prefiero no usarlos yo mismo). Esto se debe a que la intercepción no está penalizada, por lo que si infieres el efecto de un nivel como parte de la intercepción, es difícil decir que estás penalizando a todos los niveles por igual. En cambio, incluya siempre todos los niveles, de modo que cada uno sea simétrico con respecto a la penalización.
Matthew Drury
1
@ Matthew Drury, gracias por este último comentario. ¿Podría por favor ampliarlo en una respuesta? Entonces, ¿es solo para la regresión lineal simple donde es necesaria la codificación ficticia?
user90772
1

Siento que la mejor respuesta a esta pregunta está enterrado en los comentarios por @MatthewDrury, que establece que no es una diferencia y que se debe utilizar la columna aparentemente redundante en cualquier enfoque regularizada. El razonamiento de @ MatthewDrury es

[En la regresión regularizada], la intersección no se penaliza, por lo que si infiere el efecto de un nivel como parte de la intersección, es difícil decir que penaliza todos los niveles por igual. En cambio, incluya siempre todos los niveles, de modo que cada uno sea simétrico con respecto a la penalización.

Creo que tiene razón.

Ben Ogorek
fuente
Por lo tanto, debe una variable de codificación activa con kniveles o con k-1niveles según la situación. Además de su declaración (regularizada / no regularizada), ¿habría pautas sobre qué hacer en todos los casos?
Dan Chaltiel
Mi regla es que si no hay regularización, como en ANOVA clásico, use niveles k-1. Si hay regularización, como en los métodos bayesianos o regresión con la regularización L2, use k niveles.
Ben Ogorek