Estaba analizando una solución de la competencia de precios de la vivienda en Kaggle ( Kernel de Human Analog's sobre precios de la vivienda : técnicas de regresión anticipada ) y encontré esta parte:
# Transform the skewed numeric features by taking log(feature + 1).
# This will make the features more normal.
from scipy.stats import skew
skewed = train_df_munged[numeric_features].apply(lambda x: skew(x.dropna().astype(float)))
skewed = skewed[skewed > 0.75]
skewed = skewed.index
train_df_munged[skewed] = np.log1p(train_df_munged[skewed])
test_df_munged[skewed] = np.log1p(test_df_munged[skewed])
No estoy seguro de cuál es la necesidad de convertir una distribución sesgada en una distribución normal. Por favor, alguien puede explicar en detalle:
- ¿Por qué se hace esto aquí? o ¿Cómo es útil esto?
- ¿En qué se diferencia esto del escalado de características?
- ¿Es este un paso necesario para la ingeniería de características? ¿Qué es probable que suceda si me salto este paso?
regression
feature-extraction
feature-engineering
kaggle
feature-scaling
Abhijay Ghildyal
fuente
fuente
Respuestas:
Es posible que desee interpretar sus coeficientes. Es decir, para poder decir cosas como "si aumento mi variable en 1, entonces, en promedio y todo lo demás igual, Y debería aumentar en β 1 ".X1 Y β1
Para que sus coeficientes sean interpretables, la regresión lineal supone un montón de cosas.
Una de estas cosas no es la multicolinealidad. Es decir, sus variables no deben correlacionarse entre sí.X
Otro es la homocedasticidad . Los errores de sus confirmaciones modelo debe tener la misma varianza, es decir, que debe garantizar la regresión lineal no hace que los pequeños errores para valores bajos de y grandes errores para los valores más altos de X . En otras palabras, la diferencia entre lo que usted predice Y y los verdaderos valores de Y debe ser constante. Puede asegurarse de eso asegurándose de que Y siga una distribución gaussiana. (La prueba es altamente matemática).X X Y^ Y Y
Dependiendo de sus datos, puede que sea gaussiano. Las transformaciones típicas son tomar el inverso, el logaritmo o las raíces cuadradas. Existen muchos otros, por supuesto, todo depende de sus datos. Debe ver sus datos y luego hacer un histograma o ejecutar una prueba de normalidad , como la prueba de Shapiro-Wilk.
Estas son todas las técnicas para construir un estimador imparcial . No creo que tenga nada que ver con la convergencia como han dicho otros (a veces también es posible que desee normalizar sus datos, pero ese es un tema diferente).
Seguir los supuestos de la regresión lineal es importante si desea interpretar los coeficientes o si desea usar pruebas estadísticas en su modelo. De lo contrario, olvídalo.
normalize
fuente
Los datos asimétricos aquí se normalizan agregando uno (uno agregado para que los ceros se transformen en uno ya que el registro de 0 no está definido) y tomando el registro natural. Los datos pueden casi normalizarse utilizando las técnicas de transformación como sacar raíz cuadrada o recíproca o logaritmo. Ahora, por qué se requiere. En realidad, muchos de los algoritmos en los datos suponen que la ciencia de los datos es normal y calculan varias estadísticas suponiendo esto. Por lo tanto, cuanto más cerca de lo normal estén los datos, más se ajusta al supuesto.
fuente
Debido a que la ciencia de datos es solo estadística al final del día, y uno de los supuestos clave de las estadísticas es el Teorema del límite central . Entonces, este paso se está haciendo porque algunos pasos posteriores usan técnicas de estadísticas que dependen de él.
fuente