Los datos faltantes son valores que no se encuentran registrados en una o más variables de una base de datos. Su presencia puede reducir el tamaño efectivo de la muestra, afectar los análisis estadísticos y modificar las conclusiones obtenidas.
En este ejercicio se trabajará con una base de datos relacionada con
el impacto de las redes sociales en la vida de los estudiantes. Se
utilizará la variable Daily_Usage_Hours, correspondiente a
las horas de uso diario de redes sociales.
Para evaluar diferentes métodos de imputación, se generará artificialmente un 20% de datos faltantes en esta variable. Posteriormente se aplicarán diferentes métodos de imputación y se compararán algunos de sus resultados.
Primero se carga la base de datos desde el archivo Excel utilizando
la librería readxl.
library(readxl)
datos <- read_xlsx(
"C:/Users/leoxs/OneDrive/Escritorio/Diplomado/Segundo modulo/Expocición/Social_Media_Impact_Diego.xlsx"
)
# Trabajamos inicialmente con datos completos
datos <- na.omit(datos)
# Mostrar las primeras observaciones
head(datos)
## # A tibble: 6 × 16
## Student_ID Age Gender Academic_Level Primary_Platform Daily_Usage_Hours
## <chr> <dbl> <chr> <chr> <chr> <dbl>
## 1 STU_2024000 19 Female Undergraduate Snapchat 7.5
## 2 STU_2024001 19 Female Undergraduate Instagram 4.6
## 3 STU_2024002 17 Female High School TikTok 10.9
## 4 STU_2024003 16 Female High School YouTube 6
## 5 STU_2024004 17 Male High School LinkedIn 3.3
## 6 STU_2024005 16 Male High School TikTok 6.2
## # ℹ 10 more variables: Weekend_Extra_Hours <dbl>, Device_Type <chr>,
## # Sleep_Duration_Hours <dbl>, Sleep_Quality_Score <dbl>,
## # Late_Night_Usage <lgl>, Social_Comparison_Frequency <chr>,
## # Perceived_Stress_Score <dbl>, Mental_Health_Index <dbl>,
## # Academic_Performance_GPA <dbl>, Overall_Impact <chr>
En este primer paso se carga la base de datos utilizada para el
análisis. Posteriormente se eliminan las observaciones que ya presentan
valores faltantes mediante na.omit().
Esto permite trabajar inicialmente con una base completa y posteriormente introducir de manera controlada nuevos valores faltantes para evaluar los diferentes métodos de imputación.
Para poder evaluar los métodos de imputación se genera
artificialmente un 20% de datos faltantes en la variable
Daily_Usage_Hours.
set.seed(123)
datos_miss <- datos
n <- nrow(datos_miss)
ind <- sample(
1:n,
size = round(0.20 * n)
)
# Guardamos los valores verdaderos
datos_miss$Daily_Usage_Hours_real <- datos_miss$Daily_Usage_Hours
# Introducimos los valores faltantes
datos_miss$Daily_Usage_Hours[ind] <- NA
# Porcentaje de datos faltantes
mean(is.na(datos_miss$Daily_Usage_Hours))
## [1] 0.2000458
# Comprobamos que los valores reales permanecen completos
sum(is.na(datos_miss$Daily_Usage_Hours_real))
## [1] 0
En este paso se selecciona aleatoriamente el 20% de las observaciones
de la variable Daily_Usage_Hours y se reemplazan sus
valores por NA.
Antes de hacerlo se crea la variable
Daily_Usage_Hours_real, que conserva los valores
originales.
Esto es importante porque posteriormente podremos comparar los valores imputados con los valores verdaderos que fueron ocultados.
El resultado de mean(is.na(...)) permite comprobar que
aproximadamente el 20% de los valores fueron convertidos en
faltantes.
La primera técnica utilizada es la imputación mediante la media.
datos_media <- datos_miss
media_Daily_Usage_Hours <- mean(
datos_media$Daily_Usage_Hours,
na.rm = TRUE
)
datos_media$Daily_Usage_Hours[
is.na(datos_media$Daily_Usage_Hours)
] <- media_Daily_Usage_Hours
media_Daily_Usage_Hours
## [1] 5.36432
La imputación por la media consiste en reemplazar cada valor faltante por el promedio de los valores disponibles de la variable.
Es un procedimiento sencillo y fácil de aplicar. Sin embargo, todos los valores faltantes reciben exactamente el mismo valor, por lo que puede reducir la variabilidad de los datos.
El segundo método utilizado es la imputación mediante la mediana.
datos_mediana <- datos_miss
mediana_Daily_Usage_Hours <- median(
datos_mediana$Daily_Usage_Hours,
na.rm = TRUE
)
datos_mediana$Daily_Usage_Hours[
is.na(datos_mediana$Daily_Usage_Hours)
] <- mediana_Daily_Usage_Hours
mediana_Daily_Usage_Hours
## [1] 4.8
La mediana corresponde al valor que se encuentra en la posición central de los datos ordenados.
Al igual que la media, este método reemplaza todos los valores faltantes por un único valor. La mediana puede ser útil cuando existen valores extremos que pueden afectar el promedio.
Para aplicar el método Hot-Deck se utiliza la librería
VIM.
library(VIM)
## Cargando paquete requerido: colorspace
## Cargando paquete requerido: grid
## VIM is ready to use.
## Suggestions and bug-reports can be submitted at: https://github.com/statistikat/VIM/issues
##
## Adjuntando el paquete: 'VIM'
## The following object is masked from 'package:datasets':
##
## sleep
datos_hotdeck <- hotdeck(
datos_miss,
variable = "Daily_Usage_Hours"
)
El método Hot-Deck busca utilizar información de observaciones similares para reemplazar los valores faltantes.
En lugar de asignar un valor central como ocurre con la media o la mediana, se busca un valor proveniente de otra observación considerada adecuada como donante.
Por esta razón, el valor imputado corresponde a un valor que ya existe en la base de datos.
A continuación se utiliza el método de los vecinos más cercanos o k-NN.
datos_knn <- kNN(
datos_miss,
variable = "Daily_Usage_Hours",
k = 5
)
El método k-NN busca observaciones similares a aquella que presenta el dato faltante.
En este caso se utilizan k = 5, por lo que el método
considera cinco vecinos cercanos para realizar la imputación.
La idea principal es que estudiantes con características similares pueden presentar valores similares en sus horas de uso diario de redes sociales.
En este método se utiliza un modelo de regresión para estimar las horas de uso diario de redes sociales a partir de otras variables disponibles.
modelo <- lm(
Daily_Usage_Hours ~ Age +
Sleep_Duration_Hours +
Mental_Health_Index,
data = datos_miss
)
summary(modelo)
##
## Call:
## lm(formula = Daily_Usage_Hours ~ Age + Sleep_Duration_Hours +
## Mental_Health_Index, data = datos_miss)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.3015 -0.8861 0.0087 0.8422 5.8231
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 19.677343 0.257861 76.310 <2e-16 ***
## Age -0.013391 0.011622 -1.152 0.249
## Sleep_Duration_Hours -0.317135 0.030980 -10.237 <2e-16 ***
## Mental_Health_Index -0.150245 0.002831 -53.063 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.36 on 3491 degrees of freedom
## (874 observations deleted due to missingness)
## Multiple R-squared: 0.7338, Adjusted R-squared: 0.7336
## F-statistic: 3207 on 3 and 3491 DF, p-value: < 2.2e-16
Posteriormente se generan las predicciones:
predicciones <- predict(
modelo,
newdata = datos_miss
)
datos_reg <- datos_miss
faltantes <- is.na(datos_reg$Daily_Usage_Hours)
datos_reg$Daily_Usage_Hours[faltantes] <-
predicciones[faltantes]
La regresión múltiple utiliza la relación entre
Daily_Usage_Hours y otras variables de la base para estimar
los valores que hacen falta.
En este caso se utilizan:
El modelo aprende la relación existente entre estas variables y las
horas de uso de redes sociales. Posteriormente utiliza esa relación para
generar una predicción en las observaciones donde
Daily_Usage_Hours presenta un valor faltante.
Ahora se utiliza el método MICE con Predictive Mean Matching (PMM).
library(mice)
##
## Adjuntando el paquete: 'mice'
## The following object is masked from 'package:stats':
##
## filter
## The following objects are masked from 'package:base':
##
## cbind, rbind
imp_pmm <- mice(
datos_miss[, c(
"Daily_Usage_Hours",
"Age",
"Sleep_Duration_Hours",
"Mental_Health_Index"
)],
m = 5,
method = "pmm",
seed = 123
)
##
## iter imp variable
## 1 1 Daily_Usage_Hours
## 1 2 Daily_Usage_Hours
## 1 3 Daily_Usage_Hours
## 1 4 Daily_Usage_Hours
## 1 5 Daily_Usage_Hours
## 2 1 Daily_Usage_Hours
## 2 2 Daily_Usage_Hours
## 2 3 Daily_Usage_Hours
## 2 4 Daily_Usage_Hours
## 2 5 Daily_Usage_Hours
## 3 1 Daily_Usage_Hours
## 3 2 Daily_Usage_Hours
## 3 3 Daily_Usage_Hours
## 3 4 Daily_Usage_Hours
## 3 5 Daily_Usage_Hours
## 4 1 Daily_Usage_Hours
## 4 2 Daily_Usage_Hours
## 4 3 Daily_Usage_Hours
## 4 4 Daily_Usage_Hours
## 4 5 Daily_Usage_Hours
## 5 1 Daily_Usage_Hours
## 5 2 Daily_Usage_Hours
## 5 3 Daily_Usage_Hours
## 5 4 Daily_Usage_Hours
## 5 5 Daily_Usage_Hours
datos_pmm <- complete(
imp_pmm,
1
)
MICE significa Multiple Imputation by Chained Equations, o imputación múltiple mediante ecuaciones encadenadas.
En este caso se generan cinco bases imputadas mediante
m = 5.
El método PMM utiliza las relaciones entre las variables para encontrar observaciones similares y posteriormente utiliza valores observados para realizar la imputación.
Una característica importante de PMM es que los valores imputados provienen de valores observados en la base de datos.
También se utiliza MICE con el método Midastouch.
imp_midastouch <- mice(
datos_miss[, c(
"Daily_Usage_Hours",
"Age",
"Sleep_Duration_Hours",
"Mental_Health_Index"
)],
m = 5,
method = "midastouch",
seed = 123
)
##
## iter imp variable
## 1 1 Daily_Usage_Hours
## 1 2 Daily_Usage_Hours
## 1 3 Daily_Usage_Hours
## 1 4 Daily_Usage_Hours
## 1 5 Daily_Usage_Hours
## 2 1 Daily_Usage_Hours
## 2 2 Daily_Usage_Hours
## 2 3 Daily_Usage_Hours
## 2 4 Daily_Usage_Hours
## 2 5 Daily_Usage_Hours
## 3 1 Daily_Usage_Hours
## 3 2 Daily_Usage_Hours
## 3 3 Daily_Usage_Hours
## 3 4 Daily_Usage_Hours
## 3 5 Daily_Usage_Hours
## 4 1 Daily_Usage_Hours
## 4 2 Daily_Usage_Hours
## 4 3 Daily_Usage_Hours
## 4 4 Daily_Usage_Hours
## 4 5 Daily_Usage_Hours
## 5 1 Daily_Usage_Hours
## 5 2 Daily_Usage_Hours
## 5 3 Daily_Usage_Hours
## 5 4 Daily_Usage_Hours
## 5 5 Daily_Usage_Hours
datos_midastouch <- complete(
imp_midastouch,
1
)
El método Midastouch también pertenece a los métodos de imputación utilizados mediante MICE.
La selección de los valores donantes se realiza dando mayor probabilidad a las observaciones que presentan mayor similitud con el caso que tiene el dato faltante.
Al igual que PMM, busca utilizar información observada en lugar de simplemente asignar un valor promedio.
Ahora se identifican las observaciones donde originalmente se introdujeron los valores faltantes.
idx <- is.na(datos_miss$Daily_Usage_Hours)
real <- datos_miss$Daily_Usage_Hours_real[idx]
reg <- datos_reg$Daily_Usage_Hours[idx]
pmm <- datos_pmm$Daily_Usage_Hours[idx]
midastouch <- datos_midastouch$Daily_Usage_Hours[idx]
comparacion <- data.frame(
real = real,
regresion = reg,
PMM = pmm,
midastouch = midastouch
)
comparacion
## real regresion PMM midastouch
## 1 3.3 4.185121 3.5 4.4
## 2 7.2 6.151691 4.0 4.3
## 3 11.2 9.687388 7.2 9.3
## 4 3.6 3.939736 3.7 4.8
## 5 4.3 5.136761 3.2 4.3
## 6 4.3 5.717603 4.5 6.6
## 7 8.6 7.530674 7.6 6.3
## 8 4.9 5.490502 3.9 3.6
## 9 3.8 3.448829 3.0 3.3
## 10 4.6 7.393547 6.2 6.5
## 11 3.0 5.971410 6.1 5.6
## 12 8.5 7.625677 10.0 8.2
## 13 3.3 2.961550 2.9 2.6
## 14 3.2 6.220049 5.3 4.9
## 15 14.0 10.433542 13.5 10.5
## 16 5.5 5.765924 6.8 6.0
## 17 4.4 4.390332 3.4 4.8
## 18 5.7 5.400468 5.5 2.3
## 19 7.3 6.301798 3.5 4.2
## 20 8.0 7.588896 10.5 8.2
## 21 4.7 2.657844 5.0 1.8
## 22 4.6 3.113372 5.1 6.0
## 23 4.7 4.789178 3.5 3.0
## 24 2.7 4.390470 4.4 2.8
## 25 2.2 3.736201 3.8 5.3
## 26 3.8 3.105049 3.4 3.4
## 27 2.0 3.928022 3.7 3.6
## 28 5.1 2.689421 2.6 3.1
## 29 3.9 2.822882 2.0 4.6
## 30 14.0 11.042980 10.4 14.0
## 31 4.1 5.575643 6.4 4.5
## 32 5.4 3.527324 4.6 3.3
## 33 1.4 3.545783 3.9 2.0
## 34 6.2 5.323650 5.4 6.0
## 35 8.9 8.263300 9.1 6.9
## 36 4.9 3.203581 3.1 4.0
## 37 2.1 2.474072 3.5 2.6
## 38 4.2 3.924630 3.1 2.5
## 39 2.8 5.011447 4.5 5.0
## 40 4.0 5.624002 3.6 4.3
## 41 2.8 3.454034 3.1 4.3
## 42 2.1 2.383863 3.8 5.3
## 43 6.4 7.348579 8.3 7.8
## 44 4.2 4.058267 3.7 4.3
## 45 5.7 5.567359 5.0 4.9
## 46 3.3 2.225296 2.8 4.2
## 47 2.7 2.784698 3.3 3.9
## 48 4.4 3.988194 2.8 3.6
## 49 5.7 4.767777 5.6 6.6
## 50 9.0 7.179875 7.9 4.8
## 51 4.8 6.270085 5.7 6.4
## 52 5.5 3.729281 2.1 2.4
## 53 6.8 5.906306 6.0 6.3
## 54 1.4 2.225296 4.3 4.2
## 55 4.9 4.472356 3.1 4.7
## 56 3.8 5.243441 6.9 6.8
## 57 6.0 5.297005 3.2 4.1
## 58 5.0 7.066549 7.4 10.8
## 59 5.0 3.694351 2.9 2.9
## 60 5.3 4.472219 4.4 6.0
## 61 3.4 2.582604 2.5 4.3
## 62 4.9 3.983126 4.5 2.8
## 63 3.5 4.829626 4.2 6.0
## 64 4.1 4.709281 3.9 6.5
## 65 4.9 3.171731 2.4 2.0
## 66 3.0 3.772846 2.5 2.8
## 67 3.5 3.300398 2.7 4.2
## 68 4.4 5.286868 5.4 6.0
## 69 4.7 5.769316 5.4 5.3
## 70 6.0 5.288682 3.9 4.2
## 71 2.6 2.707606 3.1 2.4
## 72 2.7 3.427252 3.6 2.1
## 73 5.5 5.073197 4.5 3.2
## 74 8.4 8.258369 8.6 7.4
## 75 3.1 3.086727 2.5 1.9
## 76 3.2 1.980048 2.3 2.7
## 77 5.0 6.493893 5.6 6.6
## 78 6.0 8.123192 7.3 7.3
## 79 3.1 4.627532 6.2 4.2
## 80 2.3 2.275332 4.2 3.7
## 81 5.9 5.866133 4.5 2.9
## 82 4.4 5.550713 4.9 6.6
## 83 3.7 4.281938 6.1 4.8
## 84 4.5 3.560752 2.8 3.9
## 85 6.3 5.191728 7.6 2.9
## 86 4.6 4.123371 5.3 3.3
## 87 2.8 6.211726 6.5 4.3
## 88 11.2 10.750677 6.7 13.2
## 89 4.5 3.939873 4.8 5.3
## 90 3.5 3.460543 3.3 3.6
## 91 9.4 8.376763 10.9 6.5
## 92 11.3 11.264838 12.4 14.0
## 93 3.9 3.931413 3.7 2.8
## 94 3.8 6.139840 4.4 5.8
## 95 7.7 5.450504 5.5 6.6
## 96 9.3 8.966065 11.2 9.2
## 97 5.4 5.452181 2.9 6.2
## 98 6.6 8.241586 8.5 7.4
## 99 3.8 5.205119 5.2 7.1
## 100 3.5 4.301937 4.7 4.0
## 101 3.7 1.953266 3.0 3.2
## 102 3.2 3.145085 2.4 2.7
## 103 7.7 8.849211 6.8 7.9
## 104 3.2 3.083373 2.3 4.3
## 105 3.9 4.729417 3.9 4.7
## 106 3.4 4.144948 4.6 4.4
## 107 2.7 2.609348 2.4 4.9
## 108 2.9 2.328896 2.9 4.4
## 109 3.8 5.887847 5.8 6.9
## 110 3.5 2.066728 3.2 3.2
## 111 6.9 4.922952 5.5 7.1
## 112 4.5 5.109979 6.3 4.7
## 113 4.0 3.981449 6.1 2.8
## 114 6.0 4.809490 5.6 3.4
## 115 8.1 4.906307 5.4 3.9
## 116 5.1 4.240225 4.7 4.7
## 117 5.4 6.675851 5.0 8.6
## 118 6.1 6.433721 4.9 7.6
## 119 12.3 8.872601 7.3 9.8
## 120 4.1 5.879524 7.5 5.4
## 121 11.1 8.244841 8.9 11.0
## 122 5.0 4.609209 2.9 4.0
## 123 4.1 4.704350 2.9 6.8
## 124 5.1 5.059806 4.4 3.6
## 125 4.5 6.038091 6.4 4.2
## 126 7.9 8.018052 8.2 6.5
## 127 2.2 3.756101 3.9 5.1
## 128 3.2 3.095050 2.7 2.8
## 129 8.7 7.682359 8.0 6.0
## 130 4.0 3.776100 5.6 3.1
## 131 5.1 6.315190 5.9 6.8
## 132 8.7 7.617355 5.1 6.6
## 133 3.6 3.572565 4.5 4.6
## 134 2.3 2.412322 2.9 2.6
## 135 4.8 5.804421 5.9 7.3
## 136 4.4 5.078265 5.7 7.3
## 137 6.1 4.236971 5.0 2.7
## 138 2.2 3.343689 4.3 3.1
## 139 3.6 4.627669 6.5 5.2
## 140 9.9 7.615541 9.6 9.2
## 141 4.6 4.943089 2.9 3.8
## 142 2.4 3.550714 3.1 2.4
## 143 6.0 7.111380 4.4 7.9
## 144 8.0 5.088265 6.7 3.8
## 145 2.4 1.804698 2.6 2.4
## 146 6.6 3.627670 3.9 1.6
## 147 5.5 5.510677 5.4 3.3
## 148 5.8 5.355227 6.0 5.3
## 149 2.3 4.514069 3.8 3.6
## 150 3.6 2.567498 3.0 4.3
## 151 5.0 4.695890 5.9 3.5
## 152 2.5 3.514070 3.0 2.0
## 153 5.7 6.442043 7.6 8.5
## 154 1.4 2.238687 2.4 2.5
## 155 2.3 2.367355 1.9 2.5
## 156 3.9 3.796236 3.9 4.1
## 157 3.0 4.200189 4.7 2.3
## 158 2.8 2.233756 1.4 3.6
## 159 3.0 2.794560 1.4 3.0
## 160 4.5 3.358757 3.3 2.9
## 161 5.8 5.587358 8.1 7.3
## 162 4.0 6.879523 6.6 7.6
## 163 9.7 8.618894 4.9 8.7
## 164 6.6 5.485434 2.5 3.8
## 165 7.9 9.054559 8.6 9.2
## 166 3.6 3.160290 3.8 1.7
## 167 5.5 5.397077 4.2 2.9
## 168 3.2 3.856272 5.6 4.4
## 169 3.8 1.758054 2.3 2.3
## 170 3.8 4.166897 4.4 4.1
## 171 3.7 3.303653 2.7 5.8
## 172 10.0 11.712043 12.6 13.6
## 173 9.4 7.515469 7.9 5.0
## 174 2.4 5.447113 4.4 3.3
## 175 4.0 4.350433 4.9 4.9
## 176 2.1 1.813021 2.6 2.7
## 177 3.3 4.348718 2.6 3.8
## 178 4.4 4.609209 6.1 4.0
## 179 7.9 5.884455 4.5 6.1
## 180 8.9 7.627217 7.7 7.1
## 181 10.2 7.422143 6.5 6.1
## 182 5.2 4.023162 4.5 2.6
## 183 5.0 5.281937 3.9 4.5
## 184 8.7 7.852740 6.0 8.2
## 185 4.5 3.064914 3.3 4.9
## 186 4.0 4.922952 2.4 7.1
## 187 4.2 4.707741 4.4 4.8
## 188 6.0 7.210011 6.0 5.7
## 189 13.0 12.089487 14.0 13.9
## 190 6.2 5.619071 4.0 5.7
## 191 2.2 2.283791 2.5 4.8
## 192 4.5 4.992987 4.7 4.1
## 193 3.5 2.649384 2.7 2.9
## 194 4.6 4.704350 4.4 6.8
## 195 2.9 5.702634 5.8 6.6
## 196 4.9 6.645677 3.1 5.8
## 197 3.4 2.073199 3.1 2.8
## 198 1.6 1.609349 2.5 1.3
## 199 3.7 4.437251 3.4 4.8
## 200 4.8 5.154946 5.6 2.9
## 201 8.9 7.964625 5.7 6.1
## 202 2.1 2.193582 3.9 1.5
## 203 12.7 9.809174 9.7 10.4
## 204 4.3 4.943089 2.9 3.8
## 205 1.2 2.902955 3.7 4.7
## 206 5.1 5.220187 3.2 5.0
## 207 5.7 3.627532 2.8 2.1
## 208 9.6 8.618756 8.9 8.2
## 209 8.5 7.664136 6.9 7.9
## 210 6.0 6.755924 7.4 8.5
## 211 2.9 3.095187 3.5 4.4
## 212 5.1 6.929559 7.6 6.9
## 213 4.8 5.919560 5.3 6.9
## 214 8.5 7.173229 5.1 5.7
## 215 4.4 4.113234 5.1 4.5
## 216 14.0 12.024383 13.9 13.9
## 217 2.4 3.517324 4.3 1.6
## 218 2.0 2.045014 3.2 1.5
## 219 10.7 8.577181 8.5 10.5
## 220 14.0 10.520223 11.5 11.6
## 221 10.5 9.688928 7.7 9.3
## 222 7.5 7.108262 7.9 7.0
## 223 6.3 6.619070 6.4 6.7
## 224 5.0 7.914589 8.4 7.3
## 225 9.7 7.849348 6.1 7.2
## 226 3.9 3.140154 3.7 3.1
## 227 3.8 3.430507 3.6 2.9
## 228 4.9 2.121695 2.8 3.9
## 229 3.9 4.492355 3.5 6.1
## 230 2.2 2.270400 2.2 3.0
## 231 8.5 10.238193 12.0 6.9
## 232 5.7 6.547183 8.4 5.0
## 233 4.6 4.141693 4.6 4.5
## 234 3.7 5.027955 5.6 6.3
## 235 3.8 3.572565 3.2 4.6
## 236 2.8 4.764385 4.7 2.5
## 237 4.6 4.911238 4.1 5.9
## 238 3.4 5.375500 6.5 2.9
## 239 6.5 6.064873 4.4 5.4
## 240 4.3 4.719281 4.7 3.5
## 241 2.5 3.203581 3.1 4.0
## 242 1.7 1.799630 4.3 2.7
## 243 8.5 6.958018 8.6 8.0
## 244 4.8 5.856270 7.5 5.8
## 245 5.6 5.567221 4.8 5.0
## 246 2.2 3.190327 5.2 5.2
## 247 4.4 3.018231 4.9 3.2
## 248 11.1 11.089625 12.2 11.7
## 249 4.9 4.039808 4.2 3.0
## 250 4.7 5.133507 3.2 5.5
## 251 6.5 4.485747 4.0 4.7
## 252 4.1 3.602465 4.1 5.3
## 253 7.8 7.480501 7.8 7.5
## 254 5.6 5.064874 5.8 4.6
## 255 2.7 2.612602 1.9 2.9
## 256 3.8 3.485748 3.0 2.5
## 257 5.1 5.119879 4.9 5.3
## 258 3.6 5.046552 5.7 5.0
## 259 4.9 4.502217 5.2 6.0
## 260 4.6 4.350433 4.9 4.9
## 261 8.7 7.837771 7.8 5.1
## 262 4.0 6.624139 7.2 5.6
## 263 3.1 3.448829 4.2 3.3
## 264 4.6 4.443859 2.9 4.7
## 265 1.7 2.138615 3.4 2.1
## 266 5.7 6.867672 7.2 7.3
## 267 3.6 4.110117 4.5 4.4
## 268 6.4 5.455572 5.1 3.3
## 269 4.2 2.707880 3.7 3.0
## 270 8.1 6.967880 7.8 7.1
## 271 6.3 4.495610 3.6 3.0
## 272 5.4 5.402145 4.6 5.4
## 273 2.9 6.682596 6.9 4.1
## 274 2.1 2.283791 4.4 4.8
## 275 7.5 6.599033 7.0 7.0
## 276 5.7 8.740679 10.8 6.8
## 277 3.2 5.211727 6.7 4.2
## 278 10.0 13.082703 14.0 14.0
## 279 11.3 9.375047 8.3 10.6
## 280 4.8 5.891238 6.1 4.8
## 281 4.0 4.373824 5.2 2.7
## 282 9.4 6.326904 4.1 3.9
## 283 8.8 7.488687 6.5 5.6
## 284 7.7 6.418653 7.5 5.9
## 285 2.7 3.699419 3.0 4.0
## 286 3.5 2.600926 2.2 3.2
## 287 10.9 8.462041 8.3 7.8
## 288 5.8 4.275018 4.3 5.1
## 289 6.6 6.629070 7.3 8.6
## 290 5.6 4.620749 2.8 6.2
## 291 12.0 10.635362 13.5 10.5
## 292 1.8 5.408791 5.6 3.9
## 293 1.0 2.152006 2.5 4.4
## 294 5.5 4.904630 2.9 5.5
## 295 2.1 3.853055 3.2 5.1
## 296 2.5 3.021623 2.1 4.4
## 297 3.7 5.814420 7.4 4.8
## 298 1.9 2.158477 2.3 3.9
## 299 7.7 7.775922 5.4 8.0
## 300 2.2 5.438790 2.9 6.2
## 301 4.1 3.806236 2.6 3.9
## 302 6.4 7.021034 7.2 5.8
## 303 3.1 2.193582 2.7 1.5
## 304 6.1 6.984663 6.1 5.7
## 305 2.0 3.029946 4.2 2.9
## 306 5.8 4.983125 2.4 3.5
## 307 5.8 4.353825 1.7 4.1
## 308 11.7 9.323335 8.6 10.0
## 309 2.6 2.080120 2.3 3.2
## 310 2.3 2.437428 2.4 3.5
## 311 4.3 2.704351 2.1 2.7
## 312 7.1 7.263575 7.4 5.9
## 313 5.9 5.710957 3.9 4.3
## 314 3.9 5.241764 6.7 3.2
## 315 14.0 10.862600 13.4 13.4
## 316 3.2 2.834734 5.6 4.5
## 317 7.0 5.944627 5.3 6.1
## 318 8.9 7.315189 5.9 4.7
## 319 11.5 10.451728 10.5 11.6
## 320 6.0 4.991311 2.9 3.1
## 321 7.4 7.737601 7.0 7.9
## 322 9.5 6.233440 5.6 5.7
## 323 2.5 4.802882 5.1 3.0
## 324 8.1 7.875994 8.0 4.9
## 325 3.1 2.801344 5.2 3.7
## 326 3.3 4.235294 3.5 2.6
## 327 4.8 5.165220 4.0 7.2
## 328 4.7 3.040082 2.4 2.8
## 329 9.1 7.126311 8.8 6.6
## 330 3.4 4.155084 3.4 5.6
## 331 4.6 6.575642 6.4 7.0
## 332 5.4 5.602425 3.1 4.1
## 333 5.7 4.749180 6.1 4.8
## 334 2.8 2.754387 2.8 2.5
## 335 5.2 3.387216 4.5 3.2
## 336 5.7 6.578897 6.4 5.6
## 337 1.6 4.028230 2.8 1.9
## 338 12.6 12.398436 14.0 11.4
## 339 2.7 2.352150 4.0 2.6
## 340 6.8 5.689243 6.0 6.1
## 341 3.5 4.824459 4.2 3.3
## 342 2.9 4.115048 4.2 3.3
## 343 6.7 5.513931 6.6 3.8
## 344 3.7 5.346904 4.4 2.1
## 345 3.3 2.409068 2.9 3.7
## 346 2.6 5.774521 5.3 3.2
## 347 2.3 2.474072 3.6 2.6
## 348 8.0 6.310258 6.1 6.1
## 349 3.4 3.298721 4.3 3.9
## 350 5.6 4.687567 5.2 5.9
## 351 4.8 5.121655 3.9 4.0
## 352 5.1 5.737602 5.1 5.4
## 353 4.6 4.746063 4.4 6.5
## 354 4.5 3.941413 4.8 3.6
## 355 7.4 7.037953 8.8 6.4
## 356 7.4 8.466835 8.9 10.8
## 357 2.7 3.979772 4.3 3.9
## 358 3.1 3.764523 5.1 6.0
## 359 6.8 5.175082 6.2 6.3
## 360 6.3 4.797775 3.9 5.2
## 361 2.4 4.330259 5.2 6.3
## 362 4.5 3.986380 4.8 3.4
## 363 5.5 6.652460 5.0 8.6
## 364 1.8 3.053199 2.8 6.0
## 365 2.5 2.080120 2.6 3.2
## 366 1.2 1.813021 2.6 2.7
## 367 7.5 7.400017 7.5 6.9
## 368 4.3 5.301936 5.1 5.7
## 369 5.6 4.145085 5.6 5.2
## 370 4.4 6.116586 5.8 6.8
## 371 5.0 4.250225 2.3 3.2
## 372 3.2 2.085051 3.2 2.7
## 373 5.2 4.216834 7.2 3.2
## 374 4.2 4.791167 4.4 2.9
## 375 4.1 2.554244 1.1 3.1
## 376 10.7 9.236654 11.8 5.8
## 377 4.1 4.635855 4.7 5.5
## 378 2.7 3.525647 3.1 5.2
## 379 3.7 2.644316 1.9 2.4
## 380 2.8 1.836411 1.3 2.7
## 381 3.9 3.564106 3.4 4.6
## 382 10.8 8.657253 8.8 9.4
## 383 3.1 4.737740 3.6 6.5
## 384 2.1 2.288723 3.2 3.8
## 385 1.9 2.971587 2.2 2.1
## 386 3.2 4.290261 5.0 4.8
## 387 5.4 6.171690 3.6 4.2
## 388 1.5 2.420645 1.9 5.3
## 389 8.1 8.480363 8.3 8.0
## 390 9.8 6.510539 5.8 5.3
## 391 3.3 2.572429 2.2 4.0
## 392 10.0 9.331658 10.0 13.1
## 393 1.6 2.998232 0.9 3.6
## 394 7.2 6.093195 5.1 6.4
## 395 4.6 4.353688 4.9 2.8
## 396 10.2 9.682183 7.9 9.1
## 397 3.6 2.776101 2.1 2.2
## 398 6.5 6.971272 7.6 7.0
## 399 4.7 5.919560 6.5 6.9
## 400 8.6 8.435259 10.0 9.7
## 401 6.2 8.226656 8.3 8.9
## 402 5.1 3.759455 3.0 4.1
## 403 3.6 2.315505 2.5 2.3
## 404 2.0 2.847988 3.6 1.4
## 405 9.3 8.563789 8.3 10.8
## 406 3.4 7.939421 8.4 8.7
## 407 3.7 3.714350 1.3 4.3
## 408 6.5 7.103057 7.9 6.8
## 409 7.6 5.068266 3.8 7.2
## 410 14.0 11.839171 9.9 13.6
## 411 2.8 3.443898 1.1 3.6
## 412 10.5 7.602424 7.0 6.3
## 413 3.5 5.928020 4.9 4.8
## 414 5.4 4.500678 4.8 4.4
## 415 4.7 3.554106 2.5 1.6
## 416 6.0 7.719004 6.7 8.2
## 417 6.5 5.692498 5.4 3.6
## 418 6.5 5.861201 5.3 4.5
## 419 3.7 3.422321 3.9 5.8
## 420 7.1 6.592288 6.5 8.6
## 421 3.5 5.580437 2.8 5.7
## 422 2.9 3.836273 2.3 2.7
## 423 7.4 7.760854 10.3 6.3
## 424 2.4 2.080120 2.9 3.2
## 425 4.5 4.372010 4.3 4.4
## 426 9.7 9.610570 10.3 11.9
## 427 5.2 5.099979 3.7 4.3
## 428 6.3 7.361833 8.2 8.3
## 429 4.9 6.789314 8.9 8.3
## 430 2.5 2.881378 2.5 3.6
## 431 3.9 4.719281 3.8 6.0
## 432 2.0 2.026692 2.0 2.3
## 433 5.2 4.129880 5.3 4.7
## 434 3.3 2.807952 2.6 3.1
## 435 5.4 6.979595 7.6 7.5
## 436 5.9 5.343512 4.2 5.8
## 437 4.3 4.532254 4.1 5.9
## 438 2.5 3.831067 2.8 3.6
## 439 5.3 5.503932 3.7 6.4
## 440 4.0 6.204981 6.9 6.4
## 441 8.6 7.889385 8.6 8.8
## 442 3.2 4.065012 3.9 2.2
## 443 4.8 6.407076 6.7 8.7
## 444 3.8 6.730818 5.0 5.7
## 445 4.2 5.737602 5.5 5.4
## 446 6.5 5.482218 5.1 5.2
## 447 5.1 5.785786 5.2 5.4
## 448 3.2 3.859663 2.3 3.5
## 449 1.9 2.774561 3.7 4.5
## 450 4.8 5.205119 6.9 7.1
## 451 7.5 6.463856 7.5 3.7
## 452 2.5 3.577360 5.6 2.1
## 453 1.7 4.345365 6.8 3.5
## 454 3.4 2.370472 1.8 2.7
## 455 5.7 5.081520 6.2 4.2
## 456 9.8 9.395222 10.6 10.2
## 457 2.9 1.868125 2.7 3.4
## 458 2.6 3.627532 3.7 2.1
## 459 6.1 6.891199 7.1 6.2
## 460 5.3 5.664176 2.3 5.0
## 461 5.4 4.649246 6.8 4.4
## 462 5.3 4.350433 2.8 4.9
## 463 4.4 5.400468 5.5 2.3
## 464 9.8 9.954487 10.3 13.1
## 465 4.3 3.640924 1.9 2.1
## 466 5.3 6.839350 7.6 8.9
## 467 6.4 6.615679 9.4 8.6
## 468 5.1 4.337042 3.3 2.7
## 469 4.5 4.096725 3.8 2.1
## 470 6.4 7.889385 4.9 8.8
## 471 2.5 4.395538 4.4 3.5
## 472 11.0 11.214802 11.4 11.4
## 473 5.5 6.579034 8.2 7.3
## 474 4.7 6.196659 4.0 5.7
## 475 9.0 8.931097 11.4 10.4
## 476 2.8 3.310398 2.4 4.7
## 477 7.8 4.918021 5.4 1.7
## 478 7.7 9.378576 8.4 7.8
## 479 5.9 4.877985 5.2 3.0
## 480 2.2 4.607533 5.0 4.7
## 481 4.4 4.113371 4.6 3.0
## 482 6.0 5.178474 4.6 5.3
## 483 2.6 4.408792 3.5 4.4
## 484 3.9 3.473896 3.1 3.1
## 485 3.8 6.433721 4.9 7.6
## 486 12.6 12.713719 11.8 14.0
## 487 2.4 3.363825 4.1 3.2
## 488 5.4 6.827811 7.5 5.5
## 489 3.5 5.645853 6.2 5.7
## 490 1.7 2.744525 5.0 2.9
## 491 2.8 2.924806 2.8 2.9
## 492 3.6 6.281898 7.4 6.8
## 493 5.3 6.490364 3.0 8.0
## 494 2.3 3.243480 4.5 5.6
## 495 3.3 2.529176 3.3 2.9
## 496 5.8 7.335188 8.2 8.0
## 497 2.7 4.125047 2.2 4.3
## 498 2.9 2.116764 3.2 2.9
## 499 3.2 3.050082 2.7 4.7
## 500 3.5 4.592564 2.7 3.0
## 501 2.4 3.964666 4.8 6.4
## 502 5.7 5.286868 4.2 6.0
## 503 6.1 4.877848 4.7 4.9
## 504 2.7 4.018231 4.5 4.6
## 505 3.4 3.444035 1.8 4.3
## 506 4.9 5.056551 6.6 5.0
## 507 5.5 6.630747 8.0 3.4
## 508 3.9 3.405538 3.9 1.9
## 509 6.0 7.261761 3.9 10.8
## 510 6.0 6.038091 3.3 4.2
## 511 3.5 3.704213 3.2 2.4
## 512 4.6 5.377078 4.7 5.7
## 513 3.8 4.592427 5.1 4.4
## 514 2.6 4.660922 4.1 4.0
## 515 5.9 6.180051 6.2 8.3
## 516 5.8 5.380469 4.9 6.3
## 517 4.9 4.819489 4.5 4.1
## 518 1.8 2.722674 2.4 3.1
## 519 2.9 3.193582 3.9 4.0
## 520 10.6 9.658929 11.8 11.5
## 521 3.0 2.824597 3.8 1.5
## 522 3.8 6.138163 5.1 4.3
## 523 3.6 3.654315 4.6 3.7
## 524 1.4 1.414137 1.1 1.1
## 525 6.0 8.266692 7.5 9.6
## 526 4.8 4.891239 5.9 4.5
## 527 3.8 3.789491 3.6 5.0
## 528 2.0 2.225296 3.4 4.2
## 529 1.5 2.943128 2.8 2.8
## 530 4.1 3.231903 3.4 3.3
## 531 7.3 6.712633 5.7 5.6
## 532 9.6 9.719101 8.9 11.5
## 533 3.3 3.923090 2.6 3.1
## 534 3.9 4.732672 2.4 3.5
## 535 1.4 2.579349 4.5 2.9
## 536 3.6 4.617532 2.9 4.4
## 537 2.6 5.939559 6.0 4.9
## 538 3.6 3.936481 3.2 2.9
## 539 10.5 10.456933 13.5 10.5
## 540 4.5 5.861201 6.9 4.5
## 541 3.4 5.864456 5.7 7.4
## 542 4.2 3.789491 3.5 5.0
## 543 12.6 10.171375 10.8 9.9
## 544 2.6 5.574104 4.0 3.8
## 545 4.6 4.071658 2.0 4.9
## 546 2.5 3.013026 3.9 3.4
## 547 5.5 2.976381 3.4 2.1
## 548 6.8 7.867808 7.6 7.3
## 549 5.1 2.944805 3.0 2.3
## 550 5.9 7.458787 5.8 8.3
## 551 3.6 6.128300 6.4 4.3
## 552 3.1 3.393862 3.1 3.2
## 553 5.7 5.670921 3.2 6.0
## 554 6.3 7.904453 7.0 6.1
## 555 6.7 3.617533 4.3 1.6
## 556 5.3 4.582427 4.4 2.8
## 557 6.3 4.417252 5.6 4.9
## 558 5.6 6.133232 4.2 7.2
## 559 2.8 4.024976 2.8 3.6
## 560 2.5 2.397254 2.9 3.2
## 561 5.5 6.944627 6.6 7.6
## 562 5.7 4.288409 3.8 5.1
## 563 3.5 5.174808 6.8 4.2
## 564 7.6 8.345187 7.7 11.0
## 565 4.9 5.979595 6.3 4.7
## 566 6.3 5.143232 5.0 4.9
## 567 3.3 3.677705 4.1 1.6
## 568 3.1 2.258686 3.5 3.4
## 569 2.1 3.585819 5.3 2.3
## 570 2.5 2.261940 3.5 3.2
## 571 5.1 5.452181 3.7 6.2
## 572 7.6 7.375361 9.3 6.8
## 573 2.6 2.799629 2.8 2.8
## 574 4.1 2.911552 3.2 4.7
## 575 5.3 4.664313 5.4 4.9
## 576 5.9 7.271761 6.9 10.8
## 577 9.6 9.229909 13.4 9.6
## 578 9.1 11.712180 12.4 12.4
## 579 7.4 8.582249 9.8 6.2
## 580 2.4 3.949598 3.3 2.1
## 581 5.4 4.368619 4.6 2.5
## 582 3.4 3.777777 3.5 4.8
## 583 4.0 4.874593 3.7 4.2
## 584 9.1 9.450189 9.1 10.6
## 585 4.5 4.619072 4.2 4.7
## 586 7.2 5.081657 6.2 4.9
## 587 4.6 3.796099 6.2 3.3
## 588 3.9 2.475475 1.8 1.8
## 589 4.5 5.568898 4.9 6.6
## 590 6.8 4.144948 2.6 4.4
## 591 1.9 2.035015 3.8 2.8
## 592 6.9 5.320396 5.4 3.7
## 593 7.5 6.762669 5.4 4.5
## 594 2.2 2.492357 4.4 2.5
## 595 4.0 5.513931 1.9 3.8
## 596 4.8 6.038091 8.0 4.2
## 597 4.0 3.587496 2.9 2.5
## 598 3.6 5.325327 4.9 5.7
## 599 2.8 2.053337 3.1 2.5
## 600 5.2 5.205119 6.0 7.1
## 601 14.0 10.949380 14.0 11.9
## 602 3.0 4.258684 3.4 2.6
## 603 4.0 2.302114 3.1 3.6
## 604 3.4 2.747916 3.6 3.9
## 605 2.1 3.048268 4.2 2.1
## 606 3.7 4.387078 4.0 1.7
## 607 6.3 3.872917 4.7 4.0
## 608 3.7 3.923090 2.4 3.1
## 609 6.4 5.497285 5.3 4.2
## 610 5.9 4.370432 2.7 4.4
## 611 3.4 2.388794 2.3 2.8
## 612 2.7 3.432183 5.8 3.1
## 613 7.4 6.321935 6.1 8.3
## 614 4.8 3.859663 3.3 3.5
## 615 3.4 5.347041 6.0 6.6
## 616 3.8 3.772846 2.5 2.8
## 617 5.4 7.722358 9.6 6.4
## 618 2.8 3.253754 2.9 3.4
## 619 3.3 4.403861 4.1 3.9
## 620 4.0 3.161731 4.2 2.4
## 621 6.1 6.575642 6.4 7.0
## 622 3.2 2.120293 2.8 1.9
## 623 5.4 4.750994 8.6 4.4
## 624 6.5 5.901375 3.5 4.3
## 625 4.0 3.185259 2.6 4.9
## 626 4.9 4.719418 5.5 5.2
## 627 3.9 4.185121 5.3 4.4
## 628 6.3 5.465572 4.9 5.3
## 629 5.9 5.694311 5.9 6.2
## 630 7.2 5.482218 3.8 5.2
## 631 4.0 4.727740 3.1 4.8
## 632 2.1 4.974802 6.6 4.9
## 633 10.1 8.149975 8.3 7.3
## 634 5.5 3.462083 5.4 4.3
## 635 2.8 2.322113 2.4 3.2
## 636 14.0 11.817457 13.1 10.8
## 637 4.4 7.091480 6.4 8.6
## 638 3.9 5.014838 5.0 3.5
## 639 3.4 3.335503 3.2 3.9
## 640 9.9 7.527283 8.7 5.6
## 641 2.8 2.307045 4.4 2.3
## 642 5.1 5.261900 3.3 3.1
## 643 3.2 2.861379 4.4 1.5
## 644 4.8 4.143408 3.5 2.7
## 645 3.4 1.831343 2.3 2.7
## 646 7.6 6.752669 6.0 8.2
## 647 10.6 8.735748 8.3 8.8
## 648 3.6 4.123371 5.3 3.3
## 649 3.8 4.458965 5.2 4.5
## 650 3.4 1.482495 1.3 1.1
## 651 5.9 4.273615 3.3 4.5
## 652 6.7 6.056414 4.4 6.4
## 653 4.6 4.619209 5.3 5.3
## 654 2.3 3.352149 4.9 4.1
## 655 8.7 7.877709 9.4 6.8
## 656 5.5 7.722495 9.0 10.0
## 657 11.3 10.657213 14.0 13.2
## 658 2.5 3.243617 4.0 4.8
## 659 2.5 2.040083 3.0 2.3
## 660 4.6 5.774384 6.3 5.4
## 661 6.7 6.126585 4.5 5.2
## 662 2.3 4.897984 6.1 8.5
## 663 3.9 2.462358 1.8 1.1
## 664 10.3 7.303337 5.1 3.9
## 665 7.3 5.307005 2.2 8.7
## 666 2.1 3.747778 4.9 5.4
## 667 3.9 3.116626 3.1 4.1
## 668 2.7 4.709281 8.6 6.5
## 669 3.1 2.200053 1.5 4.1
## 670 6.6 4.707703 4.5 6.2
## 671 4.7 4.781168 6.5 6.6
## 672 2.4 1.836274 2.4 1.6
## 673 3.5 1.881379 2.2 3.2
## 674 5.7 6.927882 5.5 7.0
## 675 4.0 4.118302 4.2 4.6
## 676 11.4 10.086272 12.6 9.9
## 677 6.0 7.831163 8.7 7.9
## 678 4.7 3.968195 2.8 4.0
## 679 7.2 8.321659 8.6 9.8
## 680 3.0 4.198512 4.7 4.4
## 681 2.2 1.999773 2.7 1.9
## 682 7.7 6.448651 3.0 8.3
## 683 6.2 5.620748 5.7 6.2
## 684 4.2 6.934490 8.0 5.7
## 685 2.4 1.799630 2.0 2.7
## 686 3.9 4.755925 4.5 4.9
## 687 4.1 4.091657 3.7 3.7
## 688 3.0 2.607534 2.4 2.3
## 689 9.6 7.720818 5.7 6.4
## 690 6.2 8.323473 7.5 6.9
## 691 9.3 9.608756 7.7 11.5
## 692 4.7 6.690645 3.1 5.9
## 693 2.7 3.347081 2.1 4.3
## 694 6.7 7.221725 8.9 7.0
## 695 7.3 7.497010 7.6 7.9
## 696 2.5 5.866133 7.4 2.9
## 697 3.5 3.679420 2.7 3.5
## 698 3.9 4.500541 1.5 3.5
## 699 3.2 3.904768 5.2 5.6
## 700 5.6 6.535606 5.9 8.3
## 701 5.9 6.088127 2.5 4.9
## 702 3.9 3.261940 5.3 3.9
## 703 6.5 8.630707 7.9 9.0
## 704 3.8 2.796275 5.3 3.9
## 705 3.8 4.028367 3.7 2.8
## 706 3.1 4.291938 4.4 5.9
## 707 4.0 4.614141 1.9 4.1
## 708 5.4 5.150015 7.6 6.7
## 709 3.5 4.779491 3.8 3.0
## 710 6.9 4.854594 4.3 3.0
## 711 4.3 6.866132 5.0 7.6
## 712 4.2 4.350433 3.7 4.9
## 713 6.3 5.726025 5.3 6.1
## 714 2.2 2.021624 1.6 1.5
## 715 8.8 8.642284 9.8 8.7
## 716 3.3 4.854457 5.9 4.5
## 717 2.7 2.375677 2.0 2.3
## 718 2.3 2.420645 1.8 5.3
## 719 1.2 2.268548 2.4 4.8
## 720 2.8 3.393999 1.7 4.4
## 721 4.5 2.183720 2.2 3.9
## 722 3.2 4.677705 5.5 4.0
## 723 4.3 4.223442 4.8 4.6
## 724 4.5 4.569036 3.4 5.9
## 725 4.8 6.902777 7.3 5.7
## 726 14.0 11.077811 11.7 11.1
## 727 5.4 4.659245 4.5 5.4
## 728 5.4 6.028092 5.2 5.4
## 729 7.4 6.148299 4.8 4.2
## 730 3.7 4.724349 6.2 5.9
## 731 6.8 6.134946 3.5 6.2
## 732 5.9 7.548996 10.9 9.7
## 733 3.8 4.552527 3.1 2.3
## 734 2.5 3.989909 3.7 4.8
## 735 2.4 3.018231 1.9 3.2
## 736 7.5 7.563927 6.4 6.9
## 737 2.3 1.826412 2.3 2.7
## 738 6.5 7.538860 7.9 6.3
## 739 6.6 5.096588 4.1 4.7
## 740 2.1 2.487463 2.4 2.5
## 741 3.3 2.308859 1.3 3.9
## 742 4.0 4.619209 5.3 5.3
## 743 4.3 1.754525 1.1 3.0
## 744 4.3 4.058404 4.6 4.3
## 745 3.2 1.903230 2.5 2.0
## 746 3.3 5.191728 7.1 2.9
## 747 4.9 2.956519 3.2 3.1
## 748 5.8 6.670783 7.3 7.7
## 749 4.2 5.368755 3.7 4.5
## 750 2.3 4.091657 3.7 3.7
## 751 4.6 4.086726 3.8 4.8
## 752 10.2 8.936165 11.2 9.8
## 753 4.3 3.176936 3.3 2.7
## 754 4.8 5.473895 6.1 3.3
## 755 9.2 5.882778 6.5 3.7
## 756 5.1 6.755924 8.1 8.5
## 757 5.6 6.173405 6.3 6.6
## 758 4.9 6.164945 7.5 6.5
## 759 8.7 5.802706 3.1 6.0
## 760 3.6 4.879525 2.9 9.6
## 761 3.3 3.171731 2.3 2.0
## 762 2.5 3.687568 2.1 3.7
## 763 14.0 12.141336 14.0 13.9
## 764 7.6 6.692497 3.8 5.0
## 765 8.3 7.231725 3.6 7.9
## 766 4.2 2.961451 4.6 1.9
## 767 4.0 3.036691 4.7 4.7
## 768 4.2 3.827950 4.7 5.0
## 769 3.5 3.899700 3.1 2.9
## 770 4.7 4.715889 4.0 5.7
## 771 4.3 2.933129 2.2 3.6
## 772 5.4 5.906169 5.9 5.1
## 773 4.3 4.146761 3.6 4.9
## 774 2.7 4.345365 5.6 3.5
## 775 2.9 2.510854 1.5 2.6
## 776 2.1 2.143546 1.5 1.3
## 777 6.8 5.632462 3.2 5.5
## 778 4.9 5.313651 2.9 4.2
## 779 2.9 4.115185 3.3 4.3
## 780 3.4 5.293476 5.3 7.1
## 781 1.9 4.952814 5.6 2.8
## 782 4.7 4.443897 4.4 4.9
## 783 4.9 3.832881 3.7 3.3
## 784 6.8 8.218333 9.1 8.3
## 785 3.2 3.936481 4.5 2.9
## 786 8.1 6.061345 3.8 7.1
## 787 2.9 2.857987 4.4 3.6
## 788 4.1 3.225295 4.8 5.5
## 789 4.6 3.392147 3.2 1.9
## 790 2.6 3.509001 3.9 6.3
## 791 6.5 5.270086 4.5 6.0
## 792 2.5 4.435437 4.3 5.8
## 793 3.1 3.145085 2.4 2.7
## 794 4.3 3.741132 3.0 6.1
## 795 4.4 3.213581 3.5 3.5
## 796 4.3 4.482218 3.1 5.2
## 797 6.0 5.874593 5.9 6.4
## 798 3.5 4.573830 4.4 3.9
## 799 6.6 4.931412 4.4 1.7
## 800 3.4 4.759454 1.7 6.5
## 801 7.1 7.133056 7.3 6.9
## 802 7.7 8.408614 10.8 8.9
## 803 4.0 4.782845 6.7 6.5
## 804 3.2 3.687705 5.3 3.4
## 805 7.8 6.293476 5.8 5.8
## 806 6.9 5.777775 4.9 6.6
## 807 3.5 3.964803 1.9 3.6
## 808 8.3 8.243301 7.5 9.6
## 809 2.8 2.896172 1.4 2.6
## 810 2.8 2.791032 2.6 2.6
## 811 3.5 6.989594 5.9 5.4
## 812 6.5 6.265154 4.1 3.5
## 813 4.6 4.682636 3.9 5.2
## 814 12.8 9.088087 9.2 8.6
## 815 1.8 2.352150 4.1 2.6
## 816 9.5 9.089664 6.0 9.0
## 817 2.2 3.402185 5.3 4.7
## 818 2.5 1.944806 1.9 2.8
## 819 6.0 5.156623 4.5 4.9
## 820 7.0 8.410290 7.7 7.5
## 821 3.5 2.023301 2.6 2.0
## 822 3.6 1.898299 3.5 3.2
## 823 6.0 3.121695 2.7 3.8
## 824 3.7 3.964803 3.0 3.6
## 825 5.8 5.108302 7.1 3.0
## 826 5.1 7.220048 7.7 6.3
## 827 5.8 4.468827 3.2 3.3
## 828 7.1 5.559036 7.5 2.9
## 829 1.2 2.562704 2.7 2.1
## 830 8.0 8.296828 6.9 9.3
## 831 5.1 3.051622 5.2 3.2
## 832 2.8 2.442359 3.0 2.3
## 833 7.9 9.714033 11.2 8.7
## 834 7.8 7.093057 7.1 5.1
## 835 4.3 3.944804 3.3 4.6
## 836 2.0 3.545783 2.6 2.0
## 837 2.9 2.080120 2.3 3.2
## 838 3.2 3.549038 2.9 3.1
## 839 6.9 5.285291 5.2 3.1
## 840 3.3 5.527322 3.4 4.1
## 841 4.0 5.370294 5.1 2.1
## 842 7.0 6.976340 8.8 5.7
## 843 5.0 7.016376 6.6 8.2
## 844 3.0 3.607533 5.3 4.2
## 845 3.9 4.094912 2.3 3.2
## 846 5.5 3.752710 3.4 4.8
## 847 8.2 6.029905 5.2 5.8
## 848 4.2 4.445437 2.7 5.3
## 849 3.0 3.886309 3.7 3.1
## 850 8.0 6.562114 4.9 9.4
## 851 6.7 6.084872 7.9 8.5
## 852 7.0 6.704036 7.0 5.9
## 853 4.7 4.998094 6.2 6.8
## 854 4.5 3.335366 4.4 3.1
## 855 3.5 3.278722 3.8 3.9
## 856 2.1 4.537323 4.4 3.1
## 857 2.9 1.894770 2.2 3.1
## 858 4.4 5.363687 4.6 3.9
## 859 2.2 4.138439 3.8 5.1
## 860 4.4 3.290399 4.4 2.7
## 861 2.6 4.176661 4.9 3.6
## 862 4.1 4.395401 2.8 7.6
## 863 2.2 3.322112 3.2 3.9
## 864 2.7 2.035015 3.4 2.8
## 865 5.7 6.635815 5.6 7.0
## 866 9.5 7.288407 5.4 6.1
## 867 2.4 1.953266 3.0 3.2
## 868 9.1 7.657391 5.2 8.5
## 869 7.1 7.134770 9.2 7.9
## 870 5.0 3.614415 5.3 3.6
## 871 3.5 3.617533 3.2 1.6
## 872 9.7 8.638931 9.8 9.8
## 873 4.5 4.065012 3.0 2.2
## 874 4.6 4.140153 5.0 4.5
En esta tabla se comparan los valores reales que fueron ocultados con los valores obtenidos mediante tres métodos de imputación:
Por ejemplo, si el valor real de un estudiante era 20 horas y un método lo estima en 19 horas, la diferencia entre ambos valores es pequeña.
Esta comparación permite observar qué tan cercanos fueron los valores imputados respecto a los valores originales.
Para medir el error de cada método se utiliza el RMSE.
rmse <- function(real, imputado) {
sqrt(mean((real - imputado)^2))
}
resultados <- data.frame(
metodo = c(
"Regresión",
"PMM",
"Midastouch"
),
RMSE = c(
rmse(real, reg),
rmse(real, pmm),
rmse(real, midastouch)
)
)
resultados
## metodo RMSE
## 1 Regresión 1.336621
## 2 PMM 1.843769
## 3 Midastouch 1.855615
El RMSE permite medir qué tan alejados están los valores imputados de los valores reales.
La interpretación es sencilla:
Un RMSE más pequeño indica un menor error de imputación.
Por lo tanto, el método que presente el menor RMSE será el que haya logrado recuperar de mejor manera los valores que fueron ocultados artificialmente.
Los resultados obtenidos en esta tabla serán utilizados para determinar cuál de los tres métodos presentó el mejor desempeño en este ejercicio.
Finalmente, se ajustan modelos de regresión utilizando las bases generadas mediante PMM y Midastouch.
fit_pmm <- with(
imp_pmm,
lm(
Daily_Usage_Hours ~ Age +
Sleep_Duration_Hours +
Mental_Health_Index
)
)
summary(
pool(fit_pmm)
)
## term estimate std.error statistic df
## 1 (Intercept) 19.68967053 0.264669413 74.393449 69.21695
## 2 Age -0.01744847 0.011768805 -1.482603 73.79100
## 3 Sleep_Duration_Hours -0.32434880 0.029906204 -10.845535 128.22829
## 4 Mental_Health_Index -0.14877954 0.002639397 -56.368771 393.28389
## p.value
## 1 8.731703e-68
## 2 1.424382e-01
## 3 7.568090e-20
## 4 1.724718e-190
El modelo se ajusta sobre las bases imputadas mediante PMM.
La función with() permite realizar el mismo modelo en
las diferentes bases generadas por MICE.
Posteriormente, pool() combina los resultados
estadísticos de las diferentes imputaciones.
Esto permite obtener una estimación conjunta teniendo en cuenta la variabilidad producida por la imputación múltiple.
fit_midastouch <- with(
imp_midastouch,
lm(
Daily_Usage_Hours ~ Age +
Sleep_Duration_Hours +
Mental_Health_Index
)
)
summary(
pool(fit_midastouch)
)
## term estimate std.error statistic df
## 1 (Intercept) 19.68579762 0.237398819 82.922896 1147.83288
## 2 Age -0.01756296 0.011855007 -1.481480 68.36822
## 3 Sleep_Duration_Hours -0.32010429 0.036018161 -8.887303 21.58210
## 4 Mental_Health_Index -0.14916945 0.003004835 -49.643139 43.68911
## p.value
## 1 0.000000e+00
## 2 1.430731e-01
## 3 1.161781e-08
## 4 4.558793e-40
En este caso se realiza el mismo procedimiento utilizando las bases imputadas mediante Midastouch.
De esta manera es posible analizar si los resultados del modelo presentan diferencias dependiendo del método utilizado para tratar los datos faltantes.
Finalmente se construye un gráfico de densidad para comparar los valores reales con los valores imputados.
library(tidyr)
library(dplyr)
##
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
# Pasar a formato largo
datos_densidad <- comparacion %>%
pivot_longer(
cols = c(real, regresion, PMM, midastouch),
names_to = "metodo",
values_to = "Daily_Usage_Hours"
) %>%
mutate(
metodo = recode(
metodo,
real = "Valor real",
regresion = "Regresión múltiple",
PMM = "PMM",
midastouch = "Midastouch"
)
)
ggplot(
datos_densidad,
aes(
x = Daily_Usage_Hours,
color = metodo,
fill = metodo
)
) +
geom_density(
alpha = 0.15,
linewidth = 1
) +
scale_color_manual(
values = c(
"Valor real" = "black",
"Regresión múltiple" = "#E69F00",
"PMM" = "#0072B2",
"Midastouch" = "#009E73"
)
) +
scale_fill_manual(
values = c(
"Valor real" = "black",
"Regresión múltiple" = "#E69F00",
"PMM" = "#0072B2",
"Midastouch" = "#009E73"
)
) +
labs(
title = "Distribución de los valores reales e imputados",
subtitle = "Comparación mediante curvas de densidad",
x = "Horas de uso diario de redes sociales en estudiantes",
y = "Densidad",
color = "Método",
fill = "Método"
) +
theme_minimal(base_size = 13) +
theme(
legend.position = "bottom",
plot.title = element_text(face = "bold")
)
El gráfico permite observar visualmente la distribución de los valores reales y de los valores obtenidos mediante los diferentes métodos de imputación.
La curva correspondiente a los valores reales sirve como referencia. Mientras más similar sea la distribución de un método respecto a la distribución real, mayor similitud existe entre los valores observados y los valores imputados.
Sin embargo, la interpretación del gráfico debe complementarse con el RMSE, ya que este proporciona una medida numérica del error.
En este ejercicio se aplicaron diferentes métodos para tratar los
valores faltantes de la variable Daily_Usage_Hours.
Los métodos de media y mediana representan alternativas sencillas de imputación, mientras que Hot-Deck y k-NN utilizan información de observaciones similares.
Posteriormente se utilizaron métodos basados en modelos, como la regresión múltiple, y métodos de imputación múltiple mediante MICE, específicamente PMM y Midastouch.
La comparación mediante RMSE permite determinar cuál de los métodos de regresión, PMM y Midastouch presentó menor error al recuperar los valores que habían sido ocultados artificialmente.
Finalmente, las curvas de densidad permiten realizar una comparación visual entre los valores reales y los valores imputados.
En consecuencia, la elección del método de imputación debe considerar las características de los datos y el objetivo del análisis, ya que un método sencillo no necesariamente produce los mismos resultados que un método basado en modelos o imputación múltiple.