Home
» Power BI
»
Visualización de datos faltantes en RW/ GGMICE
Visualización de datos faltantes en RW/ GGMICE
Cuando analizamos datos, queremos saber los próximos pasos sobre cómo encontrar los valores faltantes porque la mayoría de las cosas en análisis están determinadas por diferentes factores. Para ayudarlo con esto, abordaremos la visualización de datos faltantes en R usando el paquete ggmice . Puedes ver el video completo de este tutorial en la parte inferior de este blog .
“¿Qué hago con los valores perdidos?” Esta es una pregunta esencial que debe hacerse cuando analiza datos. Todos esperamos que sean fáciles de encontrar ya que están codificados como nulos o NA.
Echaremos un vistazo a algunas reglas generales y los próximos pasos. Aprenderemos a responder preguntas como ¿cuántos datos faltantes hay? que tan grande es el problema? ¿Podemos encontrar algún patrón en los datos?
Hay muchas maneras de hacer esto, pero vamos a usar la visualización de datos faltantes en R como el primer comienzo exploratorio.
Cuándo descartar y cuándo encontrar valores faltantes
Si no hay un patrón en la forma en que faltan y afecta a menos del 5 % de las observaciones, ya sea en la columna o en el conjunto de datos, entonces podría descartar esos valores faltantes.
Sin embargo, si resulta que está más extendido y puede encontrar algunos patrones significativos basados en las visualizaciones, es posible que deba hacer algo con esos datos.
Entonces, en lugar de descartarlos, podemos imputarlos porque probablemente haya una historia sobre por qué faltan esos valores en el patrón tal como están.
En esta demostración, usaremos un paquete que imputará los valores faltantes. Este es un nuevo paquete para visualizar datos faltantes en R y se llama ggmice .
La idea es encontrar el patrón y cuántos valores faltan, por lo tanto, veremos el patrón de trazado y luego la matriz predictora de trazado .
MICE significa imputación multivariada por métodos encadenados . No nos estamos metiendo en la mecánica, pero aprenderemos cómo este algoritmo imputará nuestros datos si lo usamos.
Otra cosa que debe saber acerca de la visualización de datos faltantes en R usando ggmice es que realmente debe ser compatible con ggplot2 , por lo que podemos crear algunas visualizaciones en la parte posterior de ggplot2 , el famoso paquete de visualización.
Pasos para visualizar datos faltantes en R con GGMICE
Sigamos adelante y arranquemos RStudio . Lo primero que debemos hacer es importar todos los paquetes que necesitamos escribiendo biblioteca (ggmice) , biblioteca (tidyverse) que incluye ggplot2 y conjuntos de datos de biblioteca (Ecdat) .
El paquete de la biblioteca (Ecdat) tiene muchos buenos conjuntos de datos para practicar. Es por eso que lo estamos usando e importando.
Uno de los conjuntos de datos es ayuda (MCAS) . Ejecutemos la función de ayuda en esto.
Como podemos ver, esto es de Ecdat y es un conjunto de datos de puntaje de prueba. Esta documentación de ayuda describe cada una de las columnas y nos dice de dónde proviene.
Vamos a usar esto para saber si faltan datos y qué patrón forman, si hay alguno.
Usemos is.na (MCAS) y haga clic en Ejecutar . Como podemos ver, hay un montón de VERDADERO y FALSO. Lo que podemos hacer es resumirlos usando la función colSums (is.na(MCAS)) porque FALSO y VERDADERO son cero y uno disfrazados. Esta es nuestra forma de comprobar si falta el valor o no.
Como se muestra a continuación, los valores que faltan se encuentran en tres columnas, como spc , totsc8 y avgsalary . Podemos ver la descripción de estas columnas en la sección de documentación de ayuda.
Además, al usar colSums (is.na(MCAS)) / nrow (MCAS), el número de filas se convertirá en porcentajes. Esta es una forma de verlo, pero no es lo más fácil de hacer.
En este caso, veamos qué puede hacer ggmice por nosotros. Usaremos la función BrowseVignettes (paquete = 'ggmice') , luego haremos clic en Ejecutar .
Se han encontrado algunas viñetas para esta función, así que elijamos ggmice y hagamos clic en el enlace HTML para ver algunos tutoriales útiles que podrían ayudar.
Volviendo al guión, usemos la función plot_pattern (MCAS) para pasar el conjunto de datos.
Para visualizarlo mejor, haga clic en el botón Zoom . Como se ilustra, de 155 observaciones, spc tiene 9 valores faltantes, 25 para avgsalary y 40 para totsc8 .
Intentaremos averiguar si alguno de estos coincide, cuántos hay y si tienden a estar en un grupo.
Para verificar esto, podemos probar la forma analógica usando la función de vista (MCAS) y luego haciendo clic en Ejecutar .
Esta es una especie de visor de hoja de cálculo donde podemos ver todos los valores que faltan. También podemos expandir esto haciendo clic en el botón Editor de código fuente .
Similar a Power Query , podemos ver las entradas totales y los NA son los valores faltantes. Notablemente, las entradas totales en la vista (MCAS) son 220, y solo 155 para plot_pattern (MCAS) porque probablemente hubo valores completos que no se trazaron per se.
Además, podemos ver que tienden a agruparse en función de las variables y las filas. Sin embargo, en muchos casos, solo falta uno u otro. La realidad es que es difícil hacer este visual fila por fila, así que aquí es donde entra la visualización.
Imputación de los datos que faltan
Lo siguiente que debe hacer es volver a nuestro script, luego escribir nrow (MCAS) y luego sum(is.na(MCAS)$totsc8)) .
En este caso, sabemos que faltan 40 valores de 200 observaciones. Usemos R como calculadora poniendo 40/200. Por lo tanto, tenemos alrededor de un 20 % de valores faltantes, que es mucho.
Idealmente, queremos saber por qué faltan tantos. Tal vez es solo cómo se recopilaron los datos, por lo que podemos imputar esto.
Luego, usemos las funciones MCAS_pred < –="" quickpred=""> y plot_pred(MCAS_pred) . Asegúrese de guardarlos, haga clic en Ejecutar y haga clic en el botón Zoom .
Si vamos a utilizar la imputación multivariante, este algoritmo encontrará observaciones y puntos de datos que son similares a los que faltan, y luego intentará completarlos.
Por ejemplo, las columnas spc . Estos serán útiles para predecir los valores faltantes al igual que totsc8 y avgsalary . En este punto, no lo estamos haciendo, pero estamos viendo qué valores y variables están relacionados que podrían ser útiles para impedir esos valores.
Probemos una cosa más. Vamos a usar ggmice (MCAS, aes(x=avgsalary, y=totsc8)) + geom_point ( ) , luego haga clic en Ejecutar .
Este es un diagrama de dispersión , excepto que estamos usando ggmice. Básicamente, la idea es que podamos ver la relación entre estas dos variables que tienen bastantes valores faltantes. Cuando uno de ellos falta y el otro está disponible, podemos ver dónde están esos puntos.
En esta situación, ambos se observan en uno de estos casos. Falta uno y el otro no. Si faltan ambos, no va a estar en la trama.
Cuando trabajamos con valores faltantes, es tentador usar un algoritmo como MICE porque es muy poderoso para imputar valores. Sin embargo, es mejor explorar los datos por sí mismo y entender lo que está pasando.
Idealmente, si nos faltan muchos datos, queremos averiguar por qué y tal vez podamos intentar obtener más datos o imputarlos. Siempre se prefiere ir directamente a la fuente.
Si terminamos queriendo imputar los valores que faltan, podemos hacer algunos métodos de imputación simples con el paquete tidyverse como la media o la mediana.
Sin duda, el paquete MICE es potente. Puede ser excesivo para cosas que son muy intensivas desde el punto de vista computacional, pero en este momento estamos enfocados solo en el elemento de visualización.
Espero que aprendas algo y siéntete libre de usar este paquete. Asegúrese de compartirlo e intente correr la voz porque es un buen paquete para trabajar con valores faltantes que son compatibles con ggplot2.