76 votos

¿Es necesaria la estandarización antes de ajustar la regresión logística?

Mi pregunta es si necesitamos estandarizar el conjunto de datos para asegurarnos de que todas las variables tienen la misma escala, entre [0,1], antes de ajustar la regresión logística. La fórmula es:

$$ \frac {x_i- \min (x_i)}{ \max (x_i)- \min (x_i)}$$

Mi conjunto de datos tiene 2 variables, describen lo mismo para dos canales, pero el volumen es diferente. Digamos que es el número de visitas de clientes en dos tiendas, y aquí está si un cliente compra. Porque un cliente puede visitar ambas tiendas, o dos veces la primera tienda, una segunda tienda antes de hacer una compra. pero el número total de visitas de clientes para la primera tienda es 10 veces mayor que la segunda tienda. Cuando encajo esta regresión logística, sin estandarización, coef(store1)=37, coef(store2)=13 Si estandarizo los datos, entonces coef(store1)=133, coef(store2)=11 . Algo así. ¿Qué enfoque tiene más sentido?

¿Y si estoy ajustando un modelo de árbol de decisiones? Sé que los modelos de estructura de árbol no necesitan estandarización ya que el propio modelo lo ajustará de alguna manera. Pero comprobando con todos ustedes.

14 votos

No es necesario estandarizar a menos que la regresión esté regularizada. Sin embargo, a veces ayuda a la interpretabilidad, y rara vez perjudica.

0 votos

@alex, ¿qué quieres decir con "regresión regularizada"?

5 votos

¿No es la forma habitual de normalizar $\frac{x_i-\bar{x}}{sd(x)}$ ?

62voto

Xavi Puntos 9768

La estandarización no es necesaria para la regresión logística. El objetivo principal de normalizar las características es ayudar a la convergencia de la técnica utilizada para la optimización. Por ejemplo, si utiliza Newton-Raphson para maximizar la probabilidad, la normalización de las características hace que la convergencia sea más rápida. De lo contrario, puede ejecutar su regresión logística sin ningún tratamiento de estandarización en las características.

0 votos

Gracias por su respuesta. ¿Significa eso que se prefiere la estandarización? Dado que definitivamente queremos que el modelo converja y cuando tenemos millones de variables, es más fácil implementar la lógica de la estandarización en la tubería de modelado que afinar las variables una por una según sea necesario. ¿Estoy entendiendo bien?

5 votos

Que depende de la finalidad del análisis. Los programas informáticos modernos pueden manejar datos bastante extremos sin necesidad de estandarizarlos. Si existe una unidad natural para cada variable (años, euros, kg, etc.), dudaría en estandarizar, aunque me siento libre de cambiar la unidad de kg a, por ejemplo, toneladas o gramos, siempre que tenga más sentido.

0 votos

Si utiliza scikit-learn, debería pensar en estandarizar, porque sklearn.linear_model.LogisticRegression utiliza L2-penalty por defecto, que es Ridge Regression. Aquí, hace una diferencia si estandariza, de acuerdo con otras respuestas.

41voto

LogicianWithAHat Puntos 121

Si utiliza la regresión logística con LASSO o la regresión ridge (como Weka Logística clase lo hace) deberías. Como Hastie, Tibshirani y Friedman señala (página 82 del pdf o en la página 63 del libro):

Las soluciones de las crestas no son equitativas bajo el escalado de las entradas, y por lo que normalmente se normalizan las entradas antes de resolver.

También este hilo lo hace.

26voto

Sean Hanley Puntos 2428

@Aymen tiene razón, no es necesario normalizar los datos para la regresión logística. (Para una información más general, puede ser útil leer este hilo de CV: ¿Cuándo hay que centrar los datos y cuándo hay que estandarizarlos? También puede observar que su transformación es más comúnmente llamada "normalización", véase: ¿Cómo comprobar que una distribución está normalizada? ) Permítanme abordar otros puntos de la pregunta.

Cabe señalar que en la regresión logística los coeficientes indican el efecto de un cambio de una unidad en la variable de predicción sobre las probabilidades logarítmicas de "éxito". El efecto de transformar una variable (por ejemplo, estandarizándola o normalizándola) es cambiar lo que llamamos "unidad" en el contexto de nuestro modelo. Su variable bruta $x$ los datos variaron a través de algún número de unidades en la métrica original. Después de la normalización, los datos variaron entre $0$ a $1$ . Es decir, un cambio de una unidad significa ahora pasar de la observación de menor valor a la de mayor valor. La cantidad de aumento de las probabilidades de éxito del logaritmo no ha cambiado. A partir de estos hechos, sospecho que su primera variable ( store1 ) abarcó $133/37\approx 3.6$ unidades originales, y su segunda variable ( store2 ) sólo abarcaba $11/13\approx 0.85$ unidades originales.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X