4 votos

¿Cómo decidimos cómo rellenar los valores que faltan en los datos?

Tengo un conjunto de datos con valores NA en muchas variables predictoras.

¿Cómo se imputan los mejores valores?

Tengo 302 variables en total. De ellas, 236 pertenecen a alguna categoría abstracta, 37 a otra, 9 a otra categoría.

PD: Estoy resolviendo el siguiente problema de regresión de Kaggle

https://www.kaggle.com/c/liberty-mutual-fire-peril

1voto

Como ya se ha mencionado, se pueden imputar los valores que faltan utilizando medias, medianas KNNs o incluso modelos más sofisticados. A veces optamos por omitir toda la fila si los NA no son tan numerosos.

Yo daría un paso atrás y obtendría el % de valores perdidos de cada columna e intentaría tratar cada columna de forma diferente o agrupar columnas "similares". Lo que suelo hacer después es que para los valores categóricos o numéricos con muchos NAs es que creo una nueva categoría "Sin información" con los valores que faltan. Si esa variable era numérica, entonces tendrás que hacerla categórica cortándola en diferentes puntos de corte basados en cuantiles o puntos "razonables" dependiendo de lo que sea esta variable. De nuevo se pierde algo de información, pero a veces es mejor que perder toda la fila o sesgar los modelos con imputaciones.

0voto

Leah Lewy Puntos 58

@hvedrung ya ha sugerido algunos buenos métodos para la imputación de valores perdidos,

1)Sustituir los valores que faltan por la media, la moda y la mediana.

2)Si los datos son categóricos o de texto se pueden sustituir los valores perdidos por la observación más frecuente.

3) El algoritmo EM también se utiliza para estos fines.

4)En lenguaje R, 4.1)el paquete DMwR tiene el método "knnImpute". 4.2)los paquetes base tienen el método "with", el paquete mice tiene el método "complete". a través del cual se puede realizar la imputación de valores perdidos.

0voto

Maddenker Puntos 162

Yo no intentaría rellenar los valores de las variables predictivas, simplemente las eliminaría de su análisis. Mi principal preocupación es que si estos valores desconocidos siguen algún tipo de patrón, entonces vas a introducir un sesgo en tu modelo. Con 550MB de datos, esto no debería causar un problema de reducción de su conjunto de datos.

Sin embargo, el peligro de utilizar un método para sustituir estos valores es que puede crear un modelo que recoja su técnica de sustitución, no los datos. Su modelo producirá predicciones artificiales que se ajustarán a sus datos "fijos", pero tendrán un mal rendimiento frente a los nuevos datos.

También hay que tener en cuenta que este concurso terminó el pasado mes de septiembre.

0voto

Nick Puntos 21

No olvide comprobar cosas como la correlación serial y la correlación entre las variables x (podría eliminar la variable x más deficiente si está proporcionando información redundante)

Uno de los mejores métodos de sustitución que he encontrado es crear un conjunto de datos aleatorios con una distribución similar a la de la variable con los valores que faltan, y luego muestrear de ese conjunto de datos para rellenar los valores que faltan.

Si sabe que la medición anterior está relacionada con la siguiente, podría realizar una interpolación sobre los valores que tiene y estimar así los valores que faltan.

-3voto

jsw Puntos 895
  1. La forma más sencilla, pero a menudo poco eficaz, es eliminar los datos con valores ausentes en cualquier columna.

  2. Sustituir por el valor medio. Promedio para todo el conjunto de datos o conjunto agrupado por características que usted sabe que es importante.

  3. Truco útil - añada una función que sea verdadera si su valor no existe y falsa en caso contrario.

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