La estadística es un problema de datos faltantes.
— Roderick J.A. Little
Roderick Joseph Alexander Little es un estadístico académico, cuyas principales contribuciones a la investigación se encuentran en el análisis estadístico de datos con valores perdidos y el análisis de datos de encuestas por muestreo complejas. Little es profesor universitario distinguido Richard D. Remington de Bioestadística en el Departamento de Bioestadística de la Universidad de Michigan, donde también ocupa cargos académicos en el Departamento de Estadística y el Instituto de Investigación Social.
1 Introducción
1.1 El problema de los NA
1.1.1 Lo básico
Calculemos un promedio:
<- c(342, 234, 876)
y mean(y)
## [1] 484
Calculemos el mismo promedio introduciendo un NA:
<- c(342, 234, NA)
y mean(y)
## [1] NA
La media ahora no está definida y R nos informa de aquello estableciendo la media en NA. Para tratar con éste problema podemos agregar un argumento (na.rm = TRUE), para que R ignore todos los NA y trabaje sólo con los existentes.
<- c(342, 234, NA)
y mean(y, na.rm=TRUE)
## [1] 288
Verifiquemos (Recordemos que R también es una calculadora):
342 + 234)/2 (
## [1] 288
Esto permite calcular un resultado, pero, por supuesto, el conjunto de observaciones en el que se basan los cálculos ha cambiado. Esto puede causar problemas en la inferencia e interpretación estadísticas.
Empeora con el análisis multivariado. Por ejemplo, intentemos predecir la concentración diaria de ozono (ppb) a partir de la velocidad del viento (mph) utilizando el conjunto de datos de calidad del aire incorporado. Ajustamos un modelo de regresión lineal llamando a la función lm() para predecir los niveles diarios de ozono.
El siguiente código nos debiese dar un error, pues la variable a predecir contiene errores, pero R ya ha pensado en eso y lo soluciona por defecto:
<- lm(Ozone ~ Wind, data = airquality)
fit fit
##
## Call:
## lm(formula = Ozone ~ Wind, data = airquality)
##
## Coefficients:
## (Intercept) Wind
## 96.873 -5.551
Debemos forzar a R a considerar los valores NA:
<- lm(Ozone ~ Wind, data = airquality, na.rm = F) fit
## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
## extra argument 'na.rm' will be disregarded
fit
##
## Call:
## lm(formula = Ozone ~ Wind, data = airquality, na.rm = F)
##
## Coefficients:
## (Intercept) Wind
## 96.873 -5.551
Obtenemos una advertencia y R elimina todas las filas que contengan NA y ejecuta la regresion solo con filas que contengan datos:
Extraemos los campos de interes:
<- airquality[,c(1,3)]
airquality_2 head(airquality_2)
## Ozone Wind
## 1 41 7.4
## 2 36 8.0
## 3 12 12.6
## 4 18 11.5
## 5 NA 14.3
## 6 28 14.9
Quitamos del dataset los NA:
<- na.omit(airquality_2)
airquality_3 head(airquality_3)
## Ozone Wind
## 1 41 7.4
## 2 36 8.0
## 3 12 12.6
## 4 18 11.5
## 6 28 14.9
## 7 23 8.6
Y eso fue lo que paso. Los resultados son los mismos.
<- lm(Ozone ~ Wind, data = airquality_3)
fit fit
##
## Call:
## lm(formula = Ozone ~ Wind, data = airquality_3)
##
## Coefficients:
## (Intercept) Wind
## 96.873 -5.551
Podemos especificar que los NA sean omitidos:
<- lm(Ozone ~ Wind, data = airquality, na.action = na.omit)
fit fit
##
## Call:
## lm(formula = Ozone ~ Wind, data = airquality, na.action = na.omit)
##
## Coefficients:
## (Intercept) Wind
## 96.873 -5.551
Esto funciona. Por ejemplo, podemos producir gráficos de diagnóstico por gráfico (ajuste) para estudiar la calidad del modelo. En la práctica, es engorroso suministrar la función na.action() cada vez. Podemos cambiar la configuración en opciones como
options(na.action = na.omit)
que elimina el mensaje de error de una vez por todas.
A continuación, deseamos trazar los niveles de ozono pronosticados contra los datos observados, por lo que usamos predict() para calcular los valores predichos y los agregamos a los datos para prepararlos para el trazado.
# airquality4 <- cbind(airquality, predict(fit))
Error in data.frame(…, check.names = FALSE) : arguments imply differing number of rows: 153, 116
El mensaje de error nos dice que los dos conjuntos de datos tienen un número diferente de filas. Los datos de calidad del aire tienen 153 filas, mientras que solo hay 116 valores predichos. El problema, por supuesto, es que faltan datos. La función lm() eliminó las filas incompletas en los datos. Encontramos los índices de los primeros seis casos por
head(na.action(fit))
## 5 10 25 26 27 32
## 5 10 25 26 27 32
El número total de casos eliminados se encuentra como:
naprint(na.action(fit))
## [1] "37 observations deleted due to missingness"
El número de valores perdidos por variable en los datos es:
colSums(is.na(airquality))
## Ozone Solar.R Wind Temp Month Day
## 37 7 0 0 0 0
por tanto, en nuestro modelo de regresión, a los 37 casos eliminados les faltan puntuaciones de ozono.
La eliminación de los casos incompletos antes del análisis se conoce como eliminación por lista (listwise deletion) o análisis de casos completos. En R, hay dos funciones relacionadas para el subconjunto de casos completos, na.omit() y complete.cases().
La siguiente figura grafica lo pronosticado contra los valores observados. Aquí adoptamos la convención de Abayomi para los colores (Abayomi, Gelman y Levy 2008): azul se refiere a la parte observada de los datos, rojo a la parte sintética de los datos (también llamados valores imputados o imputaciones) y negro a los datos combinados (también denominados datos imputados o datos completos). Los puntos azules de la izquierda son todos de los casos completos, mientras que la figura de la derecha traza los puntos de los casos incompletos (en rojo). Dado que no hay niveles de ozono medidos en esa parte de los datos, los valores posibles se indican mediante 37 líneas horizontales.
<- cbind(na.omit(airquality[, c("Ozone", "Wind")]),
airquality2 predicted = predict(fit))
head(airquality2)
## Ozone Wind predicted
## 1 41 7.4 55.79607
## 2 36 8.0 52.46551
## 3 12 12.6 26.93127
## 4 18 11.5 33.03728
## 6 28 14.9 14.16414
## 7 23 8.6 49.13496
Imputaciones
El concepto imputación tiene cierta relación con su acepción legal: significa un dato cuestionable (pues no existe) y se lo castiga eliminándolo.
La eliminación por lista (Listwise) permite hacer los cálculos, pero puede introducir complejidades adicionales en la interpretación. Intentemos mejorar el modelo predictivo incluyendo la radiación solar (Solar.R):
<- lm(Ozone ~ Wind + Solar.R, data = airquality)
fit2 naprint(na.action(fit2))
## [1] "42 observations deleted due to missingness"
Observemos que la cantidad de días eliminados aumenta en 42 ya que algunas filas no tenían valor para Solar.R. Por lo tanto, cambiar el modelo alteró la muestra.
Hay cuestiones metodológicas y estadísticas asociadas con este procedimiento.
¿Podemos comparar los coeficientes de regresión de ambos modelos?
¿Deberíamos atribuir las diferencias en los coeficientes a cambios en el modelo o a cambios en la submuestra?
¿Los coeficientes estimados se generalizan a la población de estudio?
¿Tenemos suficientes casos para detectar el efecto de interés?
¿Estamos haciendo el mejor uso posible de los datos recopilados?
Hay muchos enfoques para sortear este problema. Cada uno de estos afecta el resultado final de una manera diferente. Algunas soluciones son claramente mejores que otras, y no existe una solución que funcione siempre.
A continuación revisaremos los enfoques principales y analizaremos sus ventajas y limitaciones.
1.1.2 Cambio de perspectiva sobre los datos faltantes
El enfoque estándar para los datos faltantes es eliminarlos.
La inclinación a borrar los datos faltantes es comprensible. Aparte de las dificultades técnicas impuestas por los NA, la aparición de datos faltantes se ha considerado durante mucho tiempo un signo de investigación descuidada. Es demasiado fácil para un árbitro escribir:
“Este estudio es débil debido a la gran cantidad de datos que faltan.”
Es probable que las posibilidades de publicación mejoren si no hay indicios de NAs.
Pero es imposible alcanzar este ideal en la empiria. La práctica científica predominante consiste en restar importancia a los datos que faltan. Las revisiones sobre las prácticas de presentación de informes están disponibles en varios campos: ensayos clínicos (Wood, White y Thompson 2004; Powney et al. 2014; Díaz-Ordaz et al. 2014; Akl et al. 2015), investigación sobre el cáncer (Burton y Altman 2004). , investigación educativa (Peugh y Enders 2004), epidemiología (Klebanoff y Cole 2008; Karahalios et al. 2012), psicología del desarrollo (Jeliĉić, Phelps y Lerner 2009), medicina general (Mackinnon 2010), pediatría del desarrollo (Aylward, Anderson, y Nelson 2010), y otorrinolaringología, cirugía de cabeza y cuello (Netten et al.2017). Estos estudios comparten en forma consistente lo siguiente:
La presencia de datos faltantes a menudo no se indica explícitamente en el texto.
Los métodos predeterminados, como la eliminación por lista (listwise deletion), se utilizan sin mencionarlos.
Las diferentes tablas se basan en diferentes tamaños de muestra.
Los métodos de datos faltantes basados en modelos, como la probabilidad directa (direct likelihood), la máxima probabilidad de información completa (full information maximum likelihood) y la imputación múltiple, están notablemente infrautilizados.
En las ciencias sociales, es casi imposible que algunos encuestados se nieguen a participar o a responder determinadas preguntas. En los estudios médicos, la deserción de pacientes es muy común.
Los principales paquetes de análisis estadístico ahora tienen facilidades para realizar los análisis apropiados.
En lo que sigue intentaremos comprender mejor los problemas involucrados y proporcionar una metodología para tratar los problemas de datos incompletos en la práctica.
1.2 Conceptos de MCAR, MAR y MNAR
Rubin (1976) clasificó los problemas de datos faltantes en tres categorías. En su teoría, cada punto de datos tiene alguna probabilidad de faltar. El proceso que gobierna estas probabilidades se denomina mecanismo de datos faltantes o mecanismo de respuesta. El modelo del proceso se denomina modelo de datos faltantes o modelo de respuesta.
1.2.1 MCAR
Si la probabilidad de que falten es la misma para todos los casos, entonces se dice que los datos faltan completamente al azar (MCAR). Esto implica efectivamente que las causas de los datos faltantes no están relacionadas con los datos. En consecuencia, podemos ignorar muchas de las complejidades que surgen con NA, además de la obvia pérdida de información. Un ejemplo de MCAR es una báscula que se quedó sin baterías. Algunos de los datos faltarán simplemente por mala suerte. Otro ejemplo es cuando tomamos una muestra aleatoria de una población, donde cada miembro tiene la misma probabilidad de ser incluido en la muestra. Los datos (no observados) de los miembros de la población que no se incluyeron en la muestra son MCAR. Si bien es conveniente, MCAR a menudo no es realista para los datos disponibles.
1.2.2 CAR
Si la probabilidad de que falten es la misma solo dentro de los grupos definidos por los datos observados, entonces los datos faltan al azar (MAR). MAR es una clase mucho más amplia que MCAR. Por ejemplo, cuando se coloca sobre una superficie blanda, una balanza puede producir más valores perdidos que cuando se coloca sobre una superficie dura. Por tanto, estos datos no son MCAR. Sin embargo, si conocemos el tipo de superficie y podemos asumir MCAR dentro del tipo de superficie, entonces los datos son MAR. Otro ejemplo de MAR es cuando tomamos una muestra de una población, donde la probabilidad de ser incluido depende de alguna propiedad conocida. MAR es más general y más realista que MCAR.
Los métodos modernos de datos faltantes generalmente parten del supuesto MAR.
1.2.3 NMAR (not missing at random) o (MNAR )missing not at random
Si ni MCAR ni MAR se cumplen, entonces hablamos de datos perdidos no al azar (MNAR). MNAR significa que la probabilidad de existencia de NAs varía por razones que desconocemos. Por ejemplo, el mecanismo de una balanza puede desgastarse con el tiempo, produciendo más datos faltantes a medida que avanza el tiempo, pero es posible que no lo notemos. Si los objetos más pesados se miden más tarde en el tiempo, obtenemos una distribución de las medidas que se distorsionará. MNAR incluye la posibilidad de que la escala produzca más valores perdidos para los objetos más pesados (como se indicó anteriormente), una situación que puede ser difícil de reconocer y manejar. Un ejemplo de MNAR en la investigación de la opinión pública ocurre si aquellos con opiniones más débiles responden con menos frecuencia. MNAR es el caso más complejo. Las estrategias para manejar MNAR son encontrar más datos sobre las causas de la falta, o realizar análisis hipotéticos para ver qué tan sensibles son los resultados en varios escenarios.
La distinción de Rubin es importante para comprender por qué algunos métodos funcionan y otros no. Su teoría establece las condiciones bajo las cuales un método de datos faltantes puede proporcionar inferencias estadísticas válidas. La mayoría de las soluciones simples solo funcionan bajo la suposición de MCAR restrictiva y, a menudo, poco realista. Si MCAR no es plausible, tales métodos pueden proporcionar estimaciones sesgadas.
1.3 Soluciones Ad-hoc
1.3.1 Eliminación por lista (Listwise deletion)
El análisis de caso completo (eliminación por lista) es la forma predeterminada de manejar datos incompletos en muchos paquetes estadísticos, incluidos SPSS, SAS y Stata. La función na.omit () hace lo mismo en S-PLUS y R. El procedimiento elimina todos los casos con uno o más valores perdidos en las variables de análisis. Una ventaja importante del análisis de casos completos es la conveniencia. Si los datos son MCAR, la eliminación por lista produce estimaciones no sesgadas de medias, varianzas y ponderaciones de regresión. Bajo MCAR, la eliminación por lista produce errores estándar y niveles de significancia que son correctos para el subconjunto reducido de datos, pero que a menudo son mayores en relación con todos los datos disponibles.
Una desventaja de la eliminación por listas es que es potencialmente un desperdicio. No es raro en aplicaciones de la vida real que se pierda más de la mitad de la muestra original, especialmente si el número de variables es grande. King y col. (2001) estimaron que el porcentaje de registros incompletos en las ciencias políticas excedía el 50% en promedio, con algunos estudios con más del 90% de registros incompletos. Quedará claro que una submuestra más pequeña podría degradar seriamente la capacidad de detectar los efectos de interés.
Si los datos no son MCAR, la eliminación por lista puede sesgar severamente las estimaciones de medias, coeficientes de regresión y correlaciones. Little y Rubin (2002, 41–44) mostraron que el sesgo en la media estimada aumenta con la diferencia entre las medias de los casos observados y faltantes, y con la proporción de datos faltantes. Schafer y Graham (2002) informaron de un elegante estudio de simulación que demuestra el sesgo de la eliminación listwise bajo MAR y MNAR. Sin embargo, el análisis de casos completos no siempre es malo. Las implicaciones de los datos faltantes son diferentes según el lugar donde ocurren (resultados o predictores) y el parámetro y la forma del modelo del modelo de datos completos. En el contexto del análisis de regresión, la eliminación por listas posee algunas propiedades únicas que la hacen atractiva en entornos particulares. Hay casos en los que la eliminación por lista puede proporcionar mejores estimaciones que incluso los procedimientos más sofisticados.
La eliminación por listas puede introducir inconsistencias en los informes. Dado que la eliminación por lista se aplica automáticamente al conjunto activo de variables, los diferentes análisis de los mismos datos a menudo se basan en diferentes submuestras. En principio, es posible producir una submuestra global usando todas las variables activas. En la práctica, esto no es atractivo ya que la submuestra global siempre tendrá menos casos que cada una de las submuestras locales, por lo que es común crear diferentes subconjuntos para diferentes tablas. Será evidente que esto complica su comparación y generalización a la población de estudio.
En algunos casos, la eliminación por lista puede dar lugar a submuestras sin sentido. Por ejemplo, las filas del conjunto de datos de calidad del aire utilizado en la Sección 1.1.1 corresponden a 154 días consecutivos entre el 1 de mayo de 1973 y el 30 de septiembre de 1973. La eliminación de días afecta la base del tiempo. Sería mucho más difícil, si no imposible, realizar análisis que involucren tiempo, por ejemplo, para identificar patrones semanales o para ajustar modelos autorregresivos que predicen de días anteriores.
Las opiniones sobre los méritos de la eliminación por listas varían. Miettinen (1985, 231) describió la deleción listwise como
... el único enfoque que asegura que no se introduzca ningún sesgo bajo ninguna circunstancia ...
una declaración audaz, pero incorrecta. En el otro extremo del espectro encontramos a Enders (2010, 39):
En la mayoría de las situaciones, las desventajas de la eliminación por listas superan con creces sus ventajas.
Schafer y Graham (2002, 156) cubren el término medio:
Si un problema de datos faltantes se puede resolver descartando solo una pequeña parte de la muestra, entonces el método puede ser bastante efectivo.
Sin embargo, los principales autores en el campo son cautelosos a la hora de proporcionar consejos sobre el porcentaje de casos faltantes por debajo del cual todavía es aceptable realizar una eliminación por lista. Little y Rubin (2002) argumentan que es difícil formular reglas empíricas, ya que las consecuencias de utilizar la eliminación por listas dependen de algo más que la tasa de datos faltantes por sí sola. Vach (1994, 113) expresó su disgusto por las reglas simplistas de la siguiente manera:
A menudo se supone que existe algo así como una tasa de falta crítica en la que los valores perdidos no son demasiado peligrosos. La creencia en una tasa global de desaparición de este tipo es bastante estúpida.
1.3.2 Eliminación por pares (Pairwise deletion) (análisis de casos disponibles - ACA)
En este caso, sólo se ignoran las observaciones faltantes y se hace un análisis de las variables presentes. Si hay datos que faltan en otra parte del conjunto de datos, se utilizan los valores existentes. Dado que una supresión por pares utiliza toda la información observada, conserva más información que la eliminación de la lista
Se sabe que la eliminación por pares está menos sesgada para los datos faltantes completamente al azar o faltantes al azar. Sin embargo, si hay muchas observaciones que faltan, el análisis será deficiente. El problema de la supresión por pares es que, aunque se toman los casos disponibles, no se pueden comparar los análisis porque la muestra es diferente cada vez.
En la eliminación por pares, en vez de descartar todos los casos con algún valor faltante, el investigador sólo usa los casos o encuestados con respuestas completas para cada cálculo. Como resultado, los distintos cálculos del análisis pueden basarse en muestras de diferentes tamaños. Este procedimiento puede ser apropiado cuando: 1. el tamaño de la muestra es grande, 2. las respuestas faltantes son pocas y 3. no hay mucha relación entre las variables. No obstante, el procedimiento puede producir resultados poco atractivos o incluso poco verosímiles.
La eliminación por pares, también conocida como análisis de casos disponibles, intenta solucionar el problema de pérdida de datos de la eliminación por listas. El método calcula las medias y (co) varianzas de todos los datos observados. Por lo tanto, la media de la variable X se basa en todos los casos con datos observados en X, la media de la variable Y usa todos los casos con valores Y observados, y así sucesivamente. Para la correlación y covarianza, se toman todos los datos en los que tanto X como Y
tienen puntuaciones que no faltan. Posteriormente, la matriz de estadísticas resumidas se introduce en un programa para análisis de regresión, análisis factorial u otros procedimientos de modelado.
SPSS, SAS y Stata contienen muchos procedimientos con una opción para la eliminación por pares. En R podemos calcular las medias y correlaciones de los datos de calidad del aire bajo eliminación por pares en R como:
<- airquality[, c("Ozone", "Solar.R", "Wind")]
data <- colMeans(data, na.rm = TRUE)
mu <- cov(data, use = "pairwise") cv
La función estándar lm() no toma medias y covarianzas como entrada, pero el paquete lavaan (Rosseel 2012) proporciona esta característica:
library(lavaan)
## This is lavaan 0.6-9
## lavaan is FREE software! Please report any bugs.
<- lavaan("Ozone ~ 1 + Wind + Solar.R
fit Ozone ~~ Ozone",
sample.mean = mu, sample.cov = cv,
sample.nobs = sum(complete.cases(data)))
fit
## lavaan 0.6-9 ended normally after 21 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 4
##
## Number of observations 111
##
## Model Test User Model:
##
## Test statistic 0.000
## Degrees of freedom 0
El método es simple y parece utilizar toda la información disponible. Bajo MCAR, produce estimaciones consistentes de media, correlaciones y covarianzas (Little y Rubin 2002, 55). El método también tiene algunas deficiencias. Primero, las estimaciones pueden estar sesgadas si los datos no son MCAR. Además, la matriz de covarianza y/o correlación puede no ser definida positiva, lo cual es un requisito para la mayoría de los procedimientos multivariados. Los problemas son generalmente más graves para las variables altamente correlacionadas (Little 1992). No está claro qué tamaño de muestra se debe utilizar para calcular los errores estándar. Si se toma el tamaño de muestra promedio, se obtienen errores estándar que son demasiado pequeños (Little 1992). Además, la eliminación por pares requiere datos numéricos que siguen una distribución normal aproximada, mientras que en la práctica a menudo tenemos variables de tipos mixtos.
La idea de utilizar toda la información disponible es buena, pero el análisis adecuado de la matriz por pares requiere técnicas de optimización sofisticadas y fórmulas especiales para calcular los errores estándar (Van Praag, Dijkstra y Van Velzen 1985; Marsh 1998), lo que en cierto modo frustra su utilidad. . La eliminación por pares funciona mejor si los datos se aproximan a una distribución normal multivariante, si las correlaciones entre las variables son bajas y si la suposición de MCAR es plausible. No se recomienda para otros casos.
1.3.3 Imputación con la media (Mean imputation)
Una solución rápida para el problema de los NA es reemplazarlos por la media. Podemos usar el modo para datos categóricos. Suponga que queremos imputar la media en Ozono y Solar.R de los datos de calidad del aire. Utilizamos el paquete mice.
Ahora se puede imputar la media en cada variable mediante:
library("mice")
<- mice::mice(airquality, method = "mean", m = 1, maxit = 1) imp
##
## iter imp variable
## 1 1 Ozone Solar.R
imp
## Class: mids
## Number of multiple imputations: 1
## Imputation methods:
## Ozone Solar.R Wind Temp Month Day
## "mean" "mean" "" "" "" ""
## PredictorMatrix:
## Ozone Solar.R Wind Temp Month Day
## Ozone 0 1 1 1 1 1
## Solar.R 1 0 1 1 1 1
## Wind 1 1 0 1 1 1
## Temp 1 1 1 0 1 1
## Month 1 1 1 1 0 1
## Day 1 1 1 1 1 0
El argumento method = “mean” especifica la imputación media, el argumento m = 1 solicita un único conjunto de datos imputados y maxit = 1 establece el número de iteraciones en 1 (sin iteración). Las dos últimas opciones se pueden dejar en sus valores predeterminados con esencialmente el mismo resultado.
Medias
La imputación media distorsiona la distribución de varias formas. La figura 1.2 muestra la distribución del ozono después de la imputación. En la figura de la izquierda, se destaca la barra roja en la media. La imputación de la media aquí crea en realidad una distribución bimodal. La desviación estándar en los datos imputados es igual a 28,7, mucho menor que la de los datos observados solamente, que es 33. La figura del lado derecho muestra que la relación entre Ozono y Solar.R está distorsionada debido a las imputaciones. La correlación cae de 0,35 en los puntos azules a 0,3 en los datos combinados.
La imputación media es una solución rápida y sencilla para los datos faltantes. Sin embargo, subestimará la varianza, perturbará las relaciones entre variables, sesgará casi cualquier estimación que no sea la media y sesgará la estimación de la media cuando los datos no sean MCAR. La imputación media quizás solo debería usarse como una solución rápida cuando faltan algunos valores, y debería evitarse en general.
1.3.4 Imputación de regresión (Regression imputation)
La imputación de regresión incorpora el conocimiento de otras variables con la idea de producir imputaciones más inteligentes. El primer paso consiste en construir un modelo a partir de los datos observados. Las predicciones para los casos incompletos se calculan luego bajo el modelo ajustado y sirven como reemplazos para los datos faltantes. Suponga que predecimos el ozono por regresión lineal de Solar.R.
<- lm(Ozone ~ Solar.R, data = airquality)
fit <- predict(fit, newdata = ic(airquality)) pred
Regresión
Otra posibilidad para la imputación de regresión usa mice:
<- airquality[, c("Ozone", "Solar.R")]
data <- mice(data, method = "norm.predict", seed = 1,
imp m = 1, print = FALSE)
xyplot(imp, Ozone ~ Solar.R)
Los valores imputados corresponden a los valores más probables del modelo. Sin embargo, el conjunto de valores imputados varía menos que los valores observados. Puede ser que cada uno de los puntos individuales sea el mejor según el modelo, pero es muy poco probable que los valores reales (pero no observados) del ozono hayan tenido esta distribución. La imputación de valores predichos también tiene un efecto sobre la correlación. Los puntos rojos tienen una correlación de 1 ya que están ubicados en una línea. Si se combinan los puntos rojo y azul, la correlación aumenta de 0,35 a 0,39. Tenga en cuenta que este sesgo ascendente crece con el porcentaje de niveles de ozono que faltan (aquí, el 24%).
La imputación de regresión produce estimaciones insesgadas de las medias bajo MCAR, al igual que la imputación de medias, y de las ponderaciones de regresión del modelo de imputación si las variables explicativas están completas. Además, las ponderaciones de regresión son insesgadas bajo MAR si los factores que influyen en la falta son parte del modelo de regresión. En el ejemplo, esto corresponde a la situación en la que Solar.R explicaría cualquier diferencia en la probabilidad de que falte ozono. Por otro lado, las correlaciones están sesgadas al alza y la variabilidad de los datos imputados se subestima sistemáticamente. El grado de subestimación depende de la varianza explicada y de la proporción de casos perdidos (Little y Rubin 2002, 64).
La imputación de valores predichos puede producir imputaciones realistas si la predicción se acerca a la perfección. Si es así, el método reconstruye las partes faltantes a partir de los datos disponibles. En esencia, en realidad no faltaba ninguna información en primer lugar, solo estaba codificada de una forma diferente.
La imputación de regresión, así como sus encarnaciones modernas en el aprendizaje automático, es probablemente el más peligroso de todos los métodos descritos aquí. Se nos puede hacer creer que vamos a hacer un buen trabajo preservando las relaciones entre las variables. En realidad, sin embargo, la imputación de regresión fortalece artificialmente las relaciones en los datos. Las correlaciones están sesgadas al alza. Se subestima la variabilidad. Las imputaciones son demasiado buenas para ser verdad. La imputación de regresión es una receta para relaciones falsas positivas y espurias.
1.3.5 Imputación de regresión estocástica (Stochastic regression imputation)
La imputación de regresión estocástica es un refinamiento de los intentos de imputación de regresión para abordar el sesgo de correlación agregando ruido a las predicciones. El siguiente código imputa Ozone de Solar.R mediante imputación de regresión estocástica.
<- airquality[, c("Ozone", "Solar.R")]
data <- mice(data, method = "norm.nob", m = 1, maxit = 1,
imp seed = 1, print = FALSE)
Regresión
El argumento method = norm.nob solicita un método de regresión estocástico simple, no bayesiano. Este método primero estima el intercepto, la pendiente y la varianza residual bajo el modelo lineal, luego calcula el valor predicho para cada valor faltante y agrega un sorteo aleatorio del residual a la predicción. Volveremos a los detalles en la Sección 3.2. El argumento semilla hace que la solución sea reproducible. La figura 1.4 muestra que la adición de ruido a las predicciones abre la distribución de los valores imputados, como se pretendía.
Tenga en cuenta que surgen algunas complejidades nuevas. Hay una imputación con valor negativo. Dichos valores no tienen por qué deberse a extracciones de la distribución residual, sino que también pueden ser una consecuencia del uso de un modelo lineal para datos no negativos. De hecho, la Figura 1.1 muestra varios valores predichos negativos en los datos observados. Dado que las concentraciones negativas de ozono no existen en el mundo real, no podemos considerar los valores negativos como imputaciones plausibles. Tenga en cuenta también que el extremo superior de la distribución no está bien cubierto. Los datos observados forman un cono, es decir, los datos son heterocedásticos, pero el modelo de imputación supone una dispersión igual alrededor de la línea de regresión. La variabilidad del ozono aumenta hasta el nivel de radiación solar de 250 langleys y luego disminuye. Aunque no está claro si se trata de un fenómeno meteorológico genuino, el modelo de imputación no tiene en cuenta esta característica.
No obstante, la imputación por regresión estocástica representa un avance conceptual importante. Algunos analistas pueden encontrar contradictorio “estropear” la mejor predicción agregando ruido aleatorio, pero esto es precisamente lo que la hace adecuada para la imputación. Una imputación de regresión estocástica bien ejecutada conserva no solo los pesos de regresión, sino también la correlación entre las variables. La idea principal para extraer de los residuos es muy poderosa y forma la base de técnicas de imputación más avanzadas.
1.3.6 LOCF y BOCF
La última observación trasladada (LOCF) y la observación de la línea de base trasladada (BOCF) son métodos de imputación ad-hoc para datos longitudinales. La idea es tomar el valor observado anteriormente como reemplazo de los datos faltantes. Cuando faltan varios valores seguidos, el método busca el último valor observado.
La función fill () del paquete tidyr aplica LOCF completando el último valor conocido. Esto es útil en situaciones en las que los valores se registran solo cuando cambian, como en los datos de tiempo transcurrido hasta el evento. Por ejemplo, podemos usar LOCF para completar el ozono por
<- tidyr::fill(airquality, Ozone)
airquality2 head(airquality2)
## Ozone Solar.R Wind Temp Month Day
## 1 41 190 7.4 67 5 1
## 2 36 118 8.0 72 5 2
## 3 12 149 12.6 74 5 3
## 4 18 313 11.5 62 5 4
## 5 18 NA 14.3 56 5 5
## 6 28 NA 14.9 66 5 6
LOCF y BOCF
La Figura 1.5 muestra los resultados de los primeros 80 días de la serie Ozone. Los tramos de puntos rojos indican las imputaciones y son constantes dentro del mismo lote de niveles de ozono faltantes. Es probable que los valores reales e invisibles varíen dentro de estos lotes, por lo que la aplicación de LOCF aquí da imputaciones inverosímiles.
LOCF es conveniente porque genera un conjunto de datos completo. Se puede aplicar con confianza en los casos en que tengamos certeza de cuáles deberían ser los valores faltantes, por ejemplo, para las variables administrativas en los datos longitudinales. En cuanto a los resultados, LOCF es dudoso. El método se ha utilizado durante mucho tiempo en ensayos clínicos. La Administración de Drogas y Alimentos de los Estados Unidos (FDA) ha considerado tradicionalmente a LOCF como el método de análisis preferido, considerándolo conservador y menos propenso a la selección que a la eliminación por listas. Sin embargo, Molenberghs y Kenward (2007, 47–50) muestran que el sesgo puede operar en ambas direcciones, y que LOCF puede producir estimaciones sesgadas incluso bajo MCAR. LOCF debe ir seguido de un método de análisis estadístico adecuado que distinga entre los datos reales y los imputados. Sin embargo, esto normalmente no se hace. En Kenward y Molenberghs (2009) se dan preocupaciones adicionales sobre una inversión de la dirección del tiempo.
El Panel sobre Manejo de Datos Faltantes en Ensayos Clínicos recomienda que LOCF y BOCF no se utilicen como el enfoque principal para manejar datos faltantes a menos que las suposiciones subyacentes estén científicamente justificadas (National Research Council 2010, 77).
1.3.7 Indicator method
Supongamos que queremos ajustar una regresión, pero faltan valores en una de las variables explicativas. El método del indicador (Miettinen 1985, 232) reemplaza cada valor faltante por un cero y extiende el modelo de regresión por el indicador de respuesta. El procedimiento se aplica a cada variable incompleta. El usuario analiza el modelo extendido en lugar del original.
En R, el método del indicador se puede codificar como
<- mice(airquality, method = "mean", m = 1,
imp maxit = 1, print = FALSE)
<- cbind(complete(imp),
airquality2 r.Ozone = is.na(airquality[, "Ozone"]))
<- lm(Wind ~ Ozone + r.Ozone, data = airquality2) fit
Observe que dado que los datos faltantes están en Ozone, necesitábamos invertir la dirección del modelo de regresión.
El método indicador ha sido popular en salud pública y epidemiología. Una ventaja es que el método del indicador conserva el conjunto de datos completo. Además, permite diferencias sistemáticas entre los datos observados y no observados mediante la inclusión del indicador de respuesta, y podría ser más eficiente. White y Thompson (2005) señalaron que el método puede ser útil para estimar el efecto del tratamiento en ensayos aleatorizados cuando se observa parcialmente una covariable inicial. Si los datos faltantes se limitan a la covariable, si el interés se limita únicamente a la estimación del efecto del tratamiento, si el cumplimiento del tratamiento asignado es perfecto y si el modelo es lineal sin interacciones, entonces el uso del método indicador para esa covariable produce una estimación no sesgada del efecto del tratamiento. Esto es cierto incluso si la ausencia depende de la covariable en sí. Se puede encontrar trabajo adicional en Groenwold et al. (2012; Sullivan et al.2018). Aún no está claro si la cobertura del intervalo de confianza en torno a la estimación del tratamiento será satisfactoria para múltiples covariables iniciales incompletas.
Es posible que en la práctica no se cumplan las condiciones en las que funciona el método de indicadores. Por ejemplo, el método no permite datos faltantes en el resultado y generalmente falla en los datos de observación. Se ha demostrado que el método puede producir estimaciones de regresión severamente sesgadas, incluso bajo MCAR y para pequeñas cantidades de datos faltantes (Vach y Blettner 1991; Greenland y Finkle 1995; Knol et al. 2010). El método del indicador puede tener sus usos en situaciones particulares, pero falla como método genérico para manejar los datos faltantes.
2 Resumen de los supuestos hechos por métodos ad-hoc.
Resumen
La Tabla proporciona un resumen de los métodos discutidos en esta sección. La tabla aborda dos temas: si el método produce los resultados correctos en promedio (imparcialidad) y si produce el error estándar correcto. La imparcialidad se evalúa con respecto a tres tipos de estimaciones: la media, el peso de regresión (con la variable incompleta como dependiente) y la correlación.
La tabla identifica las suposiciones sobre el mecanismo de datos faltantes que debe realizar cada método para producir estimaciones no sesgadas. La primera línea de la tabla debe leerse de la siguiente manera:
La eliminación por lista produce una estimación insesgada de la media siempre que los datos sean MCAR;
La eliminación por lista produce una estimación del error estándar que es demasiado grande.
La interpretación de las otras líneas es similar. El signo “-” en algunas celdas indica que el método no puede producir estimaciones no sesgadas. Observe que ambos métodos de eliminación requieren MCAR para todos los tipos. La imputación de regresión y la imputación de regresión estocástica pueden producir estimaciones insesgadas bajo MAR. Para que funcione, el modelo debe especificarse correctamente. LOCF y el método del indicador son incapaces de proporcionar estimaciones consistentes, incluso bajo MCAR. Tenga en cuenta que algunos casos especiales no se tratan en la Tabla 1.1. Por ejemplo, la eliminación por lista no es sesgada en dos escenarios especiales de MNAR (véase la sección 2.7).
La eliminación por lista produce errores estándar que son correctos para el subconjunto de casos completos, pero en general demasiado grandes para todo el conjunto de datos. El cálculo de los errores estándar con la eliminación por pares es complicado. Los errores estándar después de la imputación única son demasiado pequeños, ya que los cálculos estándar no hacen distinción entre los datos observados y los datos imputados. Se han desarrollado factores de corrección para algunas situaciones (Schafer y Schenker 2000), pero una solución más conveniente es la imputación múltiple.
3 Referencias
Todo Sobre El manejo De Datos Faltantes Baijayanta Roy Jul 10, 2020
https://www.datasource.ai/es/data-science-articles/todo-sobre-el-manejo-de-datos-faltantes
https://bookdown.org/yihui/rmarkdown-cookbook/number-lines.html