Preguntando por los valores faltantes de "pregnant" según la edad, podemos ver que donde hay datos la media de edad es de 33 y la edad máxima es de 44 (mujeres en edad reproductiva). Mientras que para los valores faltantes, la media de edad es de 61 y la edad máxima de 97 (mujeres que probablemente no están en edad reproductiva). Por lo tanto, podemos inferir que los valores faltante en "pregnant" están relacionados con la variable "age".
Muy buen analisis!
Que buen analisis!
Construccion de la Matriz de Sombra
( riskfactors_df
.isna()#crea una matriz de booleanos del dataframe.replace({#reemplaza los valores booleanos por valores adecuadosFalse:"Not missing",True:"Missing"}).add_suffix("_NA")#agrega un sufijo en cada variable.pipe(lambda shadow_matrix: pd.concat(# concatena los valores de la matriz de sombra a la derecha del dataframe[riskfactors_df, shadow_matrix], axis="columns")))
Construcion de la Matriz de Sombra utilizando la funcion de utileria bind_shadow_matrix
( riskfactors_df
.missing
.bind_shadow_matrix(only_missing=True)# con este parametro = True solo se pasaran las variables que tienen valores faltantes)
Explorando estadisticos utilizando las nuevas columnas de la matriz de sombra
# Nos ayuda a encontrar si existe diferencias de alguna variable referente a la ausencia de otra( riskfactors_df
.missing.bind_shadow_matrix(only_missing=True)#une la matriz de sombra creada.groupby(["weight_lbs_NA"])# agrupar por la ausencia de la variable peso ["age"]# variable age como referencia.describe().reset_index())
Matriz de Sombra
Permiten establecer relaciones entre las variables que tienen todas sus observaciones y la ausencia o presencia de otras variables de forma que se pueda comparar estadisticos o visualizarlos de manera efectiva
Como crear una matriz de sombra
Resultados de la creacion de la Matriz de Sombra
Recuerden cambiar las variables 'weight_lbs y 'heigth_inch a tipo float64 ya que si se dejan como object (originalmente), no va realizar la descripción de forma númerica, los tomará como si fueran variables no númericas.
común causa de error. Gracias por aclarar
13. Matriz de sombras: shadow matrix
Con la matriz de sombras podemos identificar relaciones entre variables de datos faltantes.
Identifica todos tus valores faltantes.
Reemplaza los valores faltantes con True (1) y el resto con False (0).
Reemplaza los True y False por algo que te sea más informativo. Añade un sufijo a los nombres de tus variables.
La diferencia de media de edad entre los datos faltantes y no es de 4 años, lo cual similar al caso que uso el profe y puedaramos decir:
Los datos faltantes de peso e indice de masa corporal son valores faltantes de tipo MAR ya que probablemente la bascula estaba fuera de servicio. 👍🏼
La **matriz de sombras** (o **shadow matrix**) es un concepto utilizado en el análisis de datos y estadísticas para representar la presencia o ausencia de datos en un conjunto de datos. Este tipo de matriz ayuda a visualizar y analizar los patrones de datos faltantes, facilitando el entendimiento de cómo y por qué los datos faltan.
### Concepto de Matriz de Sombras
La matriz de sombras es una representación binaria del conjunto de datos original donde:
- **1** (o cualquier valor positivo) indica la presencia de un valor en esa posición del conjunto de datos original.
- **0** (o cualquier valor negativo) indica la ausencia de un valor en esa posición.
### Uso y Beneficios
1. **Visualización de Datos Faltantes**:
- La matriz de sombras facilita la visualización de patrones en los datos faltantes. Puedes ver claramente qué filas o columnas tienen más datos faltantes y si hay patrones específicos.
2. **Análisis de Patrones de Datos Faltantes**:
- Ayuda a identificar si los datos faltantes están distribuidos aleatoriamente o si siguen algún patrón específico.
3. **Preprocesamiento**:
- La matriz de sombras se utiliza en técnicas de imputación para entender cómo los datos faltantes están relacionados con otras variables y para mejorar los métodos de imputación.
### Ejemplo en Python
A continuación, te muestro cómo puedes crear y visualizar una matriz de sombras utilizando Python y la biblioteca pandas.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
\# Crear un DataFrame con datos faltantes
data ={'A': \[1,2, np.nan,4, np.nan],  'B': \[5, np.nan, 7, np.nan, 10],  'C': \[1, 2, 3, 4, 5]}df = pd.DataFrame(data)
\# Crear la matriz de sombras
shadow\_matrix = df.notna().astype(int)
\# Visualizar la matriz de sombras
plt.figure(figsize=(8,6))sns.heatmap(shadow\_matrix, cbar=False, cmap='binary', annot=True)plt.title('Matriz de Sombras (Shadow Matrix)')plt.show()
### Desglose del Código
1. **Crear el DataFrame**: Se crea un DataFrame con algunos valores faltantes (NaN).
2. **Crear la Matriz de Sombras**:
- df.notna() devuelve un DataFrame booleano donde True indica la presencia de datos (no es NaN).
- astype(int) convierte los valores booleanos en enteros (1 para True y 0 para False).
3. **Visualizar con seaborn y matplotlib**: Se usa sns.heatmap() para visualizar la matriz de sombras como un mapa de calor binario.
### Interpretación
- **Valores en 1**: Indican que hay datos presentes en esa celda.
- **Valores en 0**: Indican que faltan datos en esa celda.
Este enfoque permite una visualización clara de los patrones de datos faltantes, ayudando en la toma de decisiones sobre el manejo de datos faltantes.
¿Te gustaría saber más sobre cómo utilizar esta técnica en un contexto específico o necesitas ayuda con otra cosa?
La matriz de sombra ES una técnica usada en la ciencia de datos para identificar valores faltantes en un conjunto de datos.
Esta matriz es una versión binaria del conjunto de datos original, donde se asigna 1 a los valores faltantes y 0 a los valores presentes. Es útil para visualizar patrones de datos faltantes y para realizar análisis que puedan depender de estos patrones.
Aquí hay un pequeño ejemplo de cómo crear una matriz de sombra usando Pandas: