0.1 Introducción

imputacion de datos

Los datos faltantes son observaciones sobre las cuales se posee la inexistencia de determinada información en las variables de un conjunto de datos. La existencia de los valores perdidos suele generar dudas acerca de la calidad del conjunto de datos, aumenta la probabilidad de cometer errores tipo I y II, reduce la potencia estadística y limita la fiabilidad de los intervalos de confianza (Striner,2002).

En la práctica la forma más general de explicar el comportamiento de los datos faltantes suele ser asociada con el comportamiento de la realización de encuestas, en el caso las personas invitadas a participar no deseen responder pueden considerarse como datos perdidos provocando una tasa de repuesta pobre que no permite proceder con los análisis. Sin embargo, cuando los participantes omiten las respuestas a los ítems dentro de un conjunto de datos, hay una serie de procedimientos estadísticos disponibles para que los investigadores reemplacen, o imputen, los valores faltantes con estimaciones razonables (Van Buuren,2018).

Se han desarrollado diversas formas de imputación de datos que parten de premisas tan simples como ignorarlas hasta las más sofisticadas que implementan técnicas estadísticas y de machine learning (ML), no obstante, en general no existe un modelo de imputación que sea el más recomendado, si no que depende netamente del caso de aplicación y con la finalidad de evitar el sesgo estadístico cuando se realiza el análisis.

0.2 Tipos de valores faltantes

Introduciendo el concepto de mecanismo de ausencia como la causa de la existencia de valores faltante, la mayoría de métodos de imputación de datos exigen que la ocurrencia de valores perdidos pueda explicarse como algo al azar o debido a los valores observados en otras variables, proporcionando información acerca de los datos faltantes y la aleatoriedad de la falta (schafer Y Graham,2002).

  1. Datos faltantes completamente al azar (MCAR): La existencia de valores perdidos es independiente de los datos, por ejemplo, cuando se toma una muestra aleatoria de una población donde cada individuo tiene la misma probabilidad de pertenecer a la muestra, los datos faltantes de los miembros de la muestra con MCAR. La frecuencia con la que esto acontece es casi nula.
  2. Datos faltantes al azar (MAR): La probabilidad de ser un dato faltante es la misma dentro de los grupos definidos por los datos observados, por ejemplo, cuando al tomar la muestra de la población se considera, la probabilidad de ser incluida depende de alguna propiedad conocida. Este tipo de datos faltantes es el más común y más usado.
  3. Datos faltantes no aleatorios: La probabilidad de ser un dato faltante se debe a razón desconocidas. Tomando como caso de la opinión pública donde las personas con argumentos débiles responden con una menor frecuencia creando espacios en blanco o dejando respuestas vacías.

0.3 Técnicas de imputación de datos.

Se han propuesto diversas formas de tratar con datos faltantes, considerando técnicas que pueden considerarse básicas hasta aquellas que pueden considerarse complejas por lo sofisticados que pueden ser los conceptos que emplean en la imputación de datos. A continuación, se muestran algunas de estas técnicas.

0.3.0.1 Conjunto de datos

El conjunto de datos de iris da las medidas en centímetros de las variables longitud y anchura de los sépalos y longitud y anchura de los pétalos, respectivamente, para 50 flores de cada una de las 3 especies de iris. Las especies son Iris setosa, versicolor y virginica.

##   Sepal.Length    Sepal.Width     Petal.Length    Petal.Width   
##  Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100  
##  1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300  
##  Median :5.800   Median :3.000   Median :4.350   Median :1.300  
##  Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199  
##  3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800  
##  Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500  
##        Species  
##  setosa    :50  
##  versicolor:50  
##  virginica :50  
##                 
##                 
## 

Introducimos valores faltantes a los datos.

##   Sepal.Length   Sepal.Width     Petal.Length    Petal.Width          Species  
##  Min.   :4.30   Min.   :2.000   Min.   :1.100   Min.   :0.100   setosa    :45  
##  1st Qu.:5.10   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300   versicolor:50  
##  Median :5.80   Median :3.000   Median :4.450   Median :1.300   virginica :47  
##  Mean   :5.83   Mean   :3.045   Mean   :3.809   Mean   :1.184   NA's      : 8  
##  3rd Qu.:6.40   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800                  
##  Max.   :7.90   Max.   :4.400   Max.   :6.900   Max.   :2.500                  
##  NA's   :22     NA's   :20      NA's   :10      NA's   :15

Calculamos el porcentaje de datos perdidos para columnas y para filas.

## Sepal.Length  Sepal.Width Petal.Length  Petal.Width      Species 
##        14.67        13.33         6.67        10.00         5.33
##   [1] 20 40  0 20  0  0  0  0  0  0  0  0 20  0 20 20  0 20 20 20  0  0 40  0  0
##  [26]  0 20 40 20 20  0 20  0  0  0 40 20 40  0 20  0  0 20  0  0  0  0  0 20  0
##  [51] 20  0  0  0  0  0  0 20  0 20 20 20  0  0 20 20  0  0  0  0 20 20  0 40 20
##  [76]  0  0  0  0 20  0 20  0  0  0  0  0  0  0 20  0 20  0 20  0 40  0 20  0  0
## [101]  0  0  0  0  0 20  0  0 20  0 20  0 20  0  0  0 20  0 40  0 40 20 20  0 20
## [126] 40  0 20  0  0 20  0  0 20  0 40  0 20  0 20  0  0  0 40 40 20  0 20 20 20

0.3.1 Análisis de casos completos.

imputacion de datos

Consiste en considerar únicamente las observaciones que poseen todos sus campos completos, es decir se ignoran los valores faltantes. En la práctica el empleo de esta técnica no es recomendable a menos que se tenga una proporción de valores perdidos muy pequeña (menor al 5%).

## [1] 150   5
## [1] 88  5
## Sepal.Length  Sepal.Width Petal.Length  Petal.Width      Species 
##            0            0            0            0            0

  1. Ventajas:Puede usarse independientemente del tipo de valor faltante.
  2. Desventajas:Puede provocar sesgo en los resultados en caso de que el tipo de valor faltante no sea MCAR
  3. Utilidad: MCAR,MAR,MNAR

0.3.2 No hacer nada.

Consiste en permitir que el algoritmo que se emplea maneje los datos faltantes, puede que dentro de su funcionamiento tenga implementado un método de imputación, puede omitir los datos faltantes o enviar un mensaje de error dado que no puede realizar la operación requerida.

## Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
##     5.843333     3.057333     3.758000     1.199333
## Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
##           NA           NA           NA           NA
## Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
##     5.830469     3.044615     3.808571     1.183704
## Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
##    0.6856935    0.1899794    3.1162779    0.5810063
## Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
##    0.6969384    0.2060561    3.1331634    0.5727175

  1. Ventajas:Puede usarse independientemente del tipo de valor faltante.
  2. Desventajas:Puede provocar errores en el funcionamiento de algunos algoritmos, sesgo en los resultados.
  3. Utilidad: MCAR,MAR,MNAR

0.3.3 Imputación deductiva.

Consiste en la deducción de los valores faltantes a partir de la información disponible, en general su uso es recomendable cuando se tienen una cantidad pequeña de datos faltantes. Por ejemplo, cuando se posee la fecha de nacimiento y existen observaciones faltantes en la variable edad.

  1. Ventajas:En cantidades mínimas no produce sesgo.
  2. Desventajas:A menudo no es posible.
  3. Utilidad: MCAR,MAR,MNAR

0.3.4 Imputación de la media/mediana/moda.

Consiste en el reemplazo de los valores faltantes por los valores de la media, mediana o moda, en general es el de uso más común por su facilidad de implementación, no es recomendable puesto que reduce la variabilidad de los datos debido a que se introduce la misma cantidad para una gran cantidad de observaciones. Nunca debe ser usada con datos MNAR.

0.3.4.0.1 Gráfica: “Histograma valores predichos vs imputados”.

  1. Ventajas:Fácil de implementar.
  2. Desventajas:Distorciona el histograma y subestima la varianza.
  3. Utilidad: MCAR y MAR

0.3.5 Imputación multiple

imputacion de datos

La imputación multiple consiste en la creación de varios conjuntos de datos imputados plausibles diferentes y la combinación adecuada de los resultados obtenidos de cada uno de ellos. Estos se muestrean a partir de su distribución predictiva basada en los datos observados; por lo tanto, la imputación múltiple se basa en un enfoque bayesiano. El procedimiento de imputación debe tener plenamente en cuenta toda la incertidumbre al predecir los valores faltantes inyectando la variabilidad adecuada en los múltiples valores imputados; nunca podremos conocer los verdaderos valores de los datos faltantes.

La segunda etapa consiste en utilizar métodos estadísticos estándar para ajustar el modelo de interés a cada uno de los conjuntos de datos imputados. Las asociaciones estimadas en cada uno de los conjuntos de datos imputados diferirán debido a la variación introducida en la imputación de los valores faltantes, y solo son útiles cuando se promedian juntos para dar asociaciones estimadas generales. Los errores estándar se calculan utilizando las reglas de Rubin (1976) que tienen en cuenta la variabilidad de los resultados entre los conjuntos de datos imputados, lo que refleja la incertidumbre asociada con los valores perdidos. Se obtienen inferencias válidas porque estamos promediando la distribución de los datos faltantes dados los datos observados.

El paquete mice de R, posee un conjunto de técnicas que permiten imputar valores perdidos con valores de datos plausibles. Estos valores plausibles se extraen de una distribución diseñada específicamente para cada punto de datos que falta. Con la finalidad de poder resumir de forma intuitiva los hallazgos en cuanto a datos perdidos se hará uso de la biblioteca nombrada anteriormente junto con la biblioteca VIM .

## 
##  Variables sorted by number of missings: 
##      Variable      Count
##  Sepal.Length 0.14666667
##   Sepal.Width 0.13333333
##   Petal.Width 0.10000000
##  Petal.Length 0.06666667
##       Species 0.05333333

Los métodos implementados dentro del paquete son los siguiente:

##  [1] mice.impute.2l.bin       mice.impute.2l.lmer      mice.impute.2l.norm     
##  [4] mice.impute.2l.pan       mice.impute.2lonly.mean  mice.impute.2lonly.norm 
##  [7] mice.impute.2lonly.pmm   mice.impute.cart         mice.impute.jomoImpute  
## [10] mice.impute.lda          mice.impute.logreg       mice.impute.logreg.boot 
## [13] mice.impute.mean         mice.impute.midastouch   mice.impute.mnar.logreg 
## [16] mice.impute.mnar.norm    mice.impute.norm         mice.impute.norm.boot   
## [19] mice.impute.norm.nob     mice.impute.norm.predict mice.impute.panImpute   
## [22] mice.impute.passive      mice.impute.pmm          mice.impute.polr        
## [25] mice.impute.polyreg      mice.impute.quadratic    mice.impute.rf          
## [28] mice.impute.ri           mice.impute.sample       mice.mids               
## [31] mice.theme              
## see '?methods' for accessing help and source code

0.3.5.1 Coincidencia de media predictiva (PMM)

PMM implica seleccionar un punto de datos de los datos originales que no faltan, que tienen un valor predicho cercano al valor predicho de la muestra faltante. Los valores N más cercanos se eligen como candidatos, de los cuales se elige un valor al azar. Como se muestra en la siguiente figura:

pmm

## Class: mids
## Number of multiple imputations:  5 
## Imputation methods:
## Sepal.Length  Sepal.Width Petal.Length  Petal.Width      Species 
##        "pmm"        "pmm"        "pmm"        "pmm"        "pmm" 
## PredictorMatrix:
##              Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## Sepal.Length            0           1            1           1       1
## Sepal.Width             1           0            1           1       1
## Petal.Length            1           1            0           1       1
## Petal.Width             1           1            1           0       1
## Species                 1           1            1           1       0

  1. m:La cantidad de conjuntos de datos imputados.
  2. maxit:El número máximo de iteraciones a efectuarse.
  3. meth: El método a aplicarse.

Para observar los datos imputados:

##       1   2   3   4   5
## 2   4.9 4.4 4.8 5.1 5.4
## 4   4.7 4.6 4.7 4.8 5.0
## 15  5.0 4.8 4.8 5.0 5.3
## 28  5.0 5.4 5.0 5.0 4.9
## 30  5.1 5.1 4.8 5.0 5.0
## 37  4.9 5.1 5.0 5.0 5.0
## 60  5.8 5.1 4.9 5.8 5.8
## 65  5.7 5.1 5.1 5.5 5.7
## 71  6.4 6.4 6.7 6.7 6.0
## 72  6.3 5.5 6.3 5.6 6.2
## 74  6.7 6.4 6.4 6.7 6.3
## 82  5.7 5.7 5.5 5.5 5.5
## 96  6.3 6.4 6.1 6.3 6.0
## 109 6.0 6.4 6.7 6.9 6.7
## 111 6.3 6.2 6.0 6.7 6.8
## 121 7.2 6.5 6.4 7.1 6.9
## 122 6.0 5.7 5.6 6.3 6.2
## 126 7.2 6.9 6.3 7.4 7.2
## 128 5.8 5.5 5.8 5.7 5.4
## 136 7.4 7.1 7.2 6.7 6.7
## 144 7.4 7.1 6.7 7.2 6.3
## 150 6.4 5.9 6.1 6.1 6.1
##             1         2         3         4         5
## 19     setosa    setosa    setosa    setosa    setosa
## 23     setosa    setosa    setosa    setosa    setosa
## 27     setosa    setosa    setosa    setosa    setosa
## 40     setosa    setosa    setosa    setosa    setosa
## 49     setosa    setosa    setosa    setosa    setosa
## 119 virginica virginica virginica virginica virginica
## 123 virginica virginica virginica virginica virginica
## 136 virginica virginica virginica virginica virginica

Para completar los datos a partir de los cálculos anteriores, se utiliza la función “complete” indicando el índice del conjunto de datos imputados con el que se desea trabajar.

##   Sepal.Length    Sepal.Width     Petal.Length    Petal.Width   
##  Min.   :4.300   Min.   :2.000   Min.   :1.100   Min.   :0.100  
##  1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300  
##  Median :5.800   Median :3.000   Median :4.400   Median :1.300  
##  Mean   :5.821   Mean   :3.048   Mean   :3.778   Mean   :1.195  
##  3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800  
##  Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500  
##        Species  
##  setosa    :50  
##  versicolor:50  
##  virginica :50  
##                 
##                 
## 

0.3.5.2 Análisis de los datos imputados.

## [1] "Sepal.Length" "Sepal.Width"  "Petal.Length" "Petal.Width"  "Species"

En ambas gráficas se puede notar la forma en que los valores imputados (magenta) coincide con los valores conocidos (azules), por lo tanto, se puede considerar que esta imputación es plausible. Una forma se aseverar lo que se dijo anteriormente se realiza mediante el diagrama de densidad.

Para poder concluir que las imputaciones son plausibles, se desea que la distribución de los datos conocidos, sea similar a la de los datos imputados, de igual forma si se desea saber qué conjunto de datos seleccionar al momento de utilizar la función complete se puede analizar cuál de las curvar se adapta mejor a los datos conocidos. Finalmente se puede analizar las distribuciones de las variables como puntos individuales mediante la función stripplot().

0.4 Bibliografía

  1. Stef Van Buuren, 2018,“Flexible imputation of missing data”,“Chapman & Hall/CRC”.
  2. Schafer, J. L., and J. W. Graham. 2002. “Missing Data: Our View of the State of the Art.” Psychological Methods 7 (2): 147–77.
  3. Abayomi, K., A. Gelman, and M. Levy. 2008. “Diagnostics for Multivariate Imputations.” Journal of the Royal Statistical Society C 57 (3): 273–91.
  4. DONALD B. RUBIN, Inference and missing data, Biometrika, Volume 63, Issue 3, December 1976, Pages 581–592, https://doi.org/10.1093/biomet/63.3.581,