Advance Preprocessing

Herramientas para el preprocesamiento de los datos

Author

Dante Conti, Sergi Ramirez, (c) IDEAI

Published

September 30, 2025

Modified

September 30, 2025

1 Descripción del problema

Para hacer el apartado de preprocessing vamos a utilizar la base de datos valentine_dataset.csv.

2 Limpieza de los datos

2.1 Limpieza de los datos a nivel de variable

Los errores estructurales a nivel de variable se centran fundamentalmente en el tipo de dato de las variables. En primer lugar, se visualizan los datos con la función diagnose() de dlookr.

Code
library(dlookr)
dlookr::diagnose(dades)
# A tibble: 10 × 6
   variables        types missing_count missing_percent unique_count unique_rate
   <chr>            <chr>         <int>           <dbl>        <int>       <dbl>
 1 Name             char…             0               0        17795     0.890  
 2 Age              inte…             0               0           23     0.00115
 3 Gender           char…             0               0            2     0.0001 
 4 Income           inte…             0               0        17035     0.852  
 5 Appearance_Score nume…             0               0         8642     0.432  
 6 Interests_Score  nume…             0               0         8656     0.433  
 7 Confidence_Score nume…             0               0         8649     0.432  
 8 Educational_Sta… char…             0               0            4     0.0002 
 9 Job_Type         char…             0               0            2     0.0001 
10 Valentine_Date   inte…             0               0            2     0.0001 

2.2 Eliminación de observaciones duplicadas o irrelevantes

Las observaciones duplicadas aparecen frecuentemente durante la recogida de datos e integración de las bases de datos, por lo que dichas duplicidades deben ser eliminadas en esta fase de limpieza.

A continuación, se usa la función overview() del paquete dlookr.

Code
head(overview(dades), n = 9)
    division               metrics   value
1       size          observations   20000
2       size             variables      10
3       size                values  200000
4       size           memory size 2544080
5 duplicated duplicate observation       0
6    missing  complete observation   20000
7    missing   missing observation       0
8    missing     missing variables       0
9    missing        missing values       0

3 Outliers

Un outlier es un valor extremo que se aleja significativamente del resto de observaciones. Detectarlos es importante porque pueden distorsionar las estadísticas, influir en los modelos y generar conclusiones erróneas.

Existen diferentes enfoques: desde análisis univariantes (una variable a la vez) hasta multivariantes (considerando la relación entre varias variables).

Para detectar los valores atípicos podemos hacer uso de la función diagnose_numeric y diagnose_category.

Code
diagnose_numeric(dades)
         variables      min         Q1        mean   median         Q3      max
1              Age    18.00    23.0000    29.03380    29.00    35.0000    40.00
2           Income 20004.00 35013.2500 50051.03415 50230.00 65120.5000 79998.00
3 Appearance_Score     0.00    25.0700    50.13673    50.32    75.2225    99.99
4  Interests_Score     0.01    25.3100    49.95064    49.53    74.8800   100.00
5 Confidence_Score     0.01    24.8075    49.91399    49.96    74.9500   100.00
6   Valentine_Date     0.00     0.0000     0.49330     0.00     1.0000     1.00
   zero minus outlier
1     0     0       0
2     0     0       0
3     2     0       0
4     0     0       0
5     0     0       0
6 10134     0       0
Code
diagnose_category(dades)
            variables            levels     N  freq  ratio rank
1                Name   Michael Johnson 20000    13  0.065    1
2                Name Jennifer Williams 20000     9  0.045    2
3                Name      Ashley Jones 20000     8  0.040    3
4                Name     Michael Davis 20000     8  0.040    3
5                Name    Michael Miller 20000     8  0.040    3
6                Name     Michael Smith 20000     8  0.040    3
7                Name  Michael Williams 20000     8  0.040    3
8                Name     William Smith 20000     8  0.040    3
9                Name     David Johnson 20000     7  0.035    9
10               Name    Jennifer Smith 20000     7  0.035    9
11             Gender              Male 20000 10047 50.235    1
12             Gender            Female 20000  9953 49.765    2
13 Educational_Status       High School 20000  5107 25.535    1
14 Educational_Status               Bsc 20000  4985 24.925    2
15 Educational_Status               PhD 20000  4955 24.775    3
16 Educational_Status            Master 20000  4953 24.765    4
17           Job_Type          Employed 20000 10014 50.070    1
18           Job_Type     Self Employed 20000  9986 49.930    2

3.1 Univariate

En este caso analizamos variable por variable.

3.1.1 Max and Min

La primera estrategia consiste en observar los valores mínimos y máximos de cada variable numérica. Esto nos da una primera idea de los rangos de los datos y de si existen valores extraños.

Code
mapply(function(x, name) {
  cat("var. ", name, ": \n\t min: ", min(x), "\n\t max: ", max(x), "\n")
  invisible(NULL)  # Evita la salida de valores NULL
}, dades[, varNum], colnames(dades[, varNum]))
var.  Age : 
     min:  18 
     max:  40 
var.  Income : 
     min:  20004 
     max:  79998 
var.  Appearance_Score : 
     min:  0 
     max:  99.99 
var.  Interests_Score : 
     min:  0.01 
     max:  100 
var.  Confidence_Score : 
     min:  0.01 
     max:  100 
$Age
NULL

$Income
NULL

$Appearance_Score
NULL

$Interests_Score
NULL

$Confidence_Score
NULL

3.1.2 IQR

Otra manera de detectar outliers es usando el rango intercuartílico (IQR). Se definen como outliers los puntos que quedan fuera del intervalo:

\[ [Q1 - 1.5xIQR, Q3 + 1.5xIQR] \]

donde \(Q1\) es el primer cuartil, \(Q3\) el tercer cuartil e \(IQR = Q3 - Q1\).

Code
library(EnvStats)

IQROutlier <- function(variable, rmnas = TRUE) {
  IQ <- iqr(variable, na.rm = rmnas)
  intInf <- quantile(variable, probs = c(0.25, 0.75))[[1]] - 1.5*IQ
  intSup <- quantile(variable, probs = c(0.25, 0.75))[[2]] + 1.5*IQ
  posicions <- which(variable >= intSup | variable <= intInf)
  if (length(posicions) > 0) {
    cat("Existeixen outliers en les posicions:", paste0(posicions, collapse = ", "))
  } else {
    cat("No existeixen outliers")
  }
  return(posicions)
}
No existeixen outliers
integer(0)

👉 Aquí veremos cuántos valores son considerados extremos según este criterio en cada variable numérica.

3.1.3 Boxplot

Visualització basada en IQR per detectar outliers.

Code
library(ggplot2)

variable <- "Age"

boxplot(dades[, variable])

Code
boxplot.stats(dades[, variable])$out
integer(0)
Code
# Crear un boxplot
ggplot(dades, aes(y = get(variable))) +
  geom_boxplot(fill = "skyblue", color = "black") +
  labs(title = paste0("Boxplot de ", variable)) +
  theme_minimal()

3.1.4 Z-Score

Un outlier es un valor amb |z| > 3 deviació estándar

Code
variable <- "Age"
valorEscalado <- scale(dades[, variable])
hist(valorEscalado)

Code
ggplot(data.frame(valor = valorEscalado), aes(x = valor)) +
  geom_histogram(binwidth = 0.5, fill = "skyblue", color = "black") +  # Histograma
  geom_vline(xintercept = c(3, -3), linetype = "dashed", color = "red", size = 1) + # Líneas horizontales
  theme_minimal()

3.1.5 Hampel Identifier

Utilitza la mediana i la desviació absoluta mediana (MAD) en lloc de la mitjana

Code
variable <- "Age"

lower_bound <- median(dades[, variable]) - 3 * mad(dades[, variable], constant = 1)
upper_bound <- median(dades[, variable]) + 3 * mad(dades[, variable], constant = 1)
outlier_ind <- which((dades[, variable] < lower_bound) | (dades[, variable] > upper_bound))
outlier_ind
integer(0)

3.1.6 Tests Estadístics

3.1.6.1 Grubbs’ Test

Detecta valors extrems en una distribució normal

Code
library(outliers)

variable <- "Age"
test <- outliers::grubbs.test(dades[, variable], opposite = TRUE)
# amb el paràmetre opposite controles quina de les dues cues están buscant
test

    Grubbs test for one outlier

data:  dades[, variable]
G = 1.65591, U = 0.99986, p-value = 1
alternative hypothesis: highest value 40 is an outlier

3.1.6.2 Dixon’s Test

Només utilitzar per a bbdd petites (entre 3 - 30) observacions

Code
variable <- "Age"
test <- outliers::dixon.test(dades[, variable], opposite = FALSE)
test

3.1.6.3 Rosner’s Test

La prueba de Rosner para valores atípicos tiene las ventajas de que: 1. se utiliza para detectar varios valores atípicos a la vez (a diferencia de la prueba de Grubbs y Dixon, que debe realizarse de forma iterativa para detectar múltiples valores atípicos), 2. Está diseñado para evitar el problema del enmascaramiento, donde un valor atípico cercano en valor a otro valor atípico puede pasar desapercibido.

A diferencia de la prueba de Dixon, tenga en cuenta que la prueba de Rosner es más apropiada cuando el tamaño de la muestra es grande (n ≥ 20).

Esta función requiere al menos dos argumentos: - los datos - la cantidad de valores atípicos sospechosos k (k = 3 como cantidad predeterminada)

Asumeix normalitat de les dades

Code
library(EnvStats)

variable <- "Age"
test <- EnvStats::rosnerTest(dades[, variable], k = 1)
test
$distribution
[1] "Normal"

$statistic
     R.1 
1.666119 

$sample.size
[1] 20000

$parameters
k 
1 

$alpha
[1] 0.05

$crit.value
lambda.1 
4.706884 

$n.outliers
[1] 0

$alternative
[1] "Up to 1 observations are not\n                                 from the same Distribution."

$method
[1] "Rosner's Test for Outliers"

$data
    [1] 26 23 34 37 38 40 28 32 30 28 23 25 26 23 30 28 22 20 38 27 27 27 33 33
   [25] 33 38 26 33 22 27 23 37 35 34 19 23 40 19 25 25 33 24 24 21 22 36 37 38
   [49] 22 29 28 30 20 25 38 29 28 33 25 31 26 38 19 30 24 21 19 21 26 25 28 34
   [73] 18 33 22 19 34 28 37 39 26 30 26 34 38 32 29 21 31 19 21 27 19 27 26 38
   [97] 29 37 35 26 18 32 40 27 29 39 40 23 26 40 26 31 23 30 29 34 31 26 21 22
  [121] 37 28 20 21 35 18 22 36 40 24 18 33 25 34 34 33 25 24 35 20 19 20 20 19
  [145] 20 39 21 31 30 28 30 18 20 32 27 29 30 18 21 35 32 19 21 33 39 19 23 18
  [169] 31 18 37 35 32 18 26 20 24 39 20 27 38 34 39 25 25 22 26 37 40 27 34 38
  [193] 39 34 22 34 40 30 27 39 38 40 18 24 29 27 33 25 35 37 29 20 33 33 40 38
  [217] 20 20 32 36 20 32 22 36 32 35 34 30 20 39 24 23 22 29 20 35 21 40 24 21
  [241] 40 20 26 31 32 32 32 18 29 33 30 34 21 32 20 26 21 19 32 36 19 21 40 22
  [265] 19 18 36 31 28 23 23 36 29 33 40 38 31 32 39 18 33 31 30 34 28 25 36 21
  [289] 20 21 31 30 31 30 25 20 31 33 33 21 20 27 34 18 32 22 27 32 40 22 26 37
  [313] 38 18 38 29 40 31 26 28 33 28 19 29 25 31 30 24 24 20 23 20 40 36 37 27
  [337] 32 18 35 33 25 34 28 21 32 35 24 23 39 27 27 34 24 39 27 31 36 20 39 24
  [361] 25 35 29 32 40 33 30 24 29 24 20 27 18 30 19 20 33 20 28 39 34 40 21 36
  [385] 22 32 21 38 30 36 38 25 25 25 27 33 18 21 26 20 40 31 39 22 18 21 25 20
  [409] 39 20 31 37 37 24 26 36 38 33 24 23 24 32 24 24 29 23 20 20 28 40 19 20
  [433] 33 38 38 34 22 25 21 27 36 19 19 37 30 33 26 20 40 18 35 23 23 34 20 20
  [457] 29 22 37 18 22 31 25 30 34 23 38 20 18 40 35 38 33 21 32 37 34 38 36 22
  [481] 26 18 37 35 34 29 32 33 39 35 34 35 28 34 35 39 37 40 33 40 25 36 34 29
  [505] 39 23 35 23 38 20 26 34 28 30 38 32 39 30 18 28 40 37 33 24 37 39 23 24
  [529] 31 24 19 27 32 29 38 39 18 22 29 28 32 35 23 40 19 28 26 19 37 40 39 24
  [553] 23 38 24 34 24 18 40 31 27 34 25 24 40 34 27 37 39 26 26 34 38 27 38 32
  [577] 27 27 32 36 33 26 37 21 36 23 30 35 25 32 37 27 33 30 39 21 34 25 37 36
  [601] 20 21 31 26 21 33 25 19 23 36 27 36 31 23 27 20 21 39 35 33 20 35 19 36
  [625] 32 33 22 36 38 39 38 24 19 37 20 29 36 35 36 37 27 35 31 40 39 30 26 23
  [649] 34 23 25 30 38 27 23 35 33 25 23 30 39 22 28 20 31 23 18 39 29 25 20 31
  [673] 22 26 29 26 31 26 36 38 35 20 38 20 25 28 26 28 18 22 19 24 28 35 24 32
  [697] 18 23 34 30 19 39 18 22 27 32 28 20 26 35 36 38 19 40 36 31 38 18 24 19
  [721] 23 37 36 38 34 34 19 24 22 25 20 23 32 38 40 36 36 22 20 33 23 25 29 27
  [745] 40 20 30 25 32 24 28 18 20 34 28 20 40 30 25 34 31 30 31 32 20 30 33 38
  [769] 22 30 23 24 38 38 27 25 36 37 23 37 27 29 26 27 18 29 18 26 31 26 21 32
  [793] 30 37 34 28 40 29 31 32 22 26 19 25 28 37 29 33 24 18 33 19 29 18 23 28
  [817] 37 34 20 31 39 33 30 32 35 29 23 39 37 30 19 36 26 18 33 35 30 29 32 30
  [841] 20 31 32 33 23 20 33 30 39 31 30 38 31 23 39 38 20 40 40 36 18 35 38 32
  [865] 23 39 23 30 40 20 22 22 21 39 20 25 26 18 40 33 34 26 35 39 36 26 21 38
  [889] 21 31 25 32 37 20 35 34 37 31 28 31 27 19 18 33 28 26 35 26 24 19 24 33
  [913] 35 35 25 25 34 31 24 24 23 24 21 38 38 39 32 31 26 33 18 22 38 24 30 20
  [937] 27 35 25 22 22 23 40 27 38 39 18 21 35 33 39 32 31 31 32 22 28 19 32 20
  [961] 27 28 28 31 28 27 38 19 34 23 23 33 23 31 38 18 37 40 28 21 36 21 39 38
  [985] 37 21 26 29 30 27 26 39 18 25 28 32 30 29 25 19 22 24 19 35 30 23 37 22
 [1009] 20 32 38 29 30 38 25 21 20 36 30 39 28 32 23 30 21 18 22 35 37 27 29 19
 [1033] 26 29 26 18 34 34 22 35 20 40 40 34 29 31 29 20 18 23 18 24 34 36 38 40
 [1057] 22 40 22 37 33 18 40 36 36 40 38 21 32 27 35 34 29 26 27 22 28 35 37 18
 [1081] 21 26 37 25 40 19 33 39 33 28 30 34 34 37 33 36 24 21 26 34 24 27 20 38
 [1105] 22 29 37 23 24 30 37 39 24 40 30 34 27 23 19 26 28 39 27 27 24 37 35 34
 [1129] 36 40 29 19 39 21 29 23 28 38 21 19 20 19 34 40 22 35 23 31 22 26 25 22
 [1153] 35 38 31 26 38 23 28 36 26 30 24 36 34 26 24 30 38 31 31 36 33 25 37 25
 [1177] 19 28 26 37 36 26 18 28 30 40 21 26 34 29 35 35 28 40 22 36 34 31 26 24
 [1201] 34 33 31 38 38 25 38 20 30 26 34 18 26 22 18 22 35 29 29 32 31 29 34 31
 [1225] 32 21 32 18 37 18 20 25 39 32 23 23 30 29 28 20 18 32 24 21 36 23 28 38
 [1249] 20 37 22 33 27 31 36 25 39 24 20 33 40 22 23 21 37 37 26 35 40 32 35 39
 [1273] 37 20 35 38 40 18 32 39 21 27 36 29 22 21 26 25 33 23 35 23 24 22 24 32
 [1297] 31 21 26 22 38 35 28 38 38 39 28 30 37 37 29 24 33 19 20 30 33 35 32 34
 [1321] 29 31 25 19 19 21 26 33 32 32 18 18 33 40 33 28 25 27 20 26 28 32 34 34
 [1345] 21 33 23 21 25 31 22 23 37 25 37 26 19 34 28 27 28 32 35 32 30 19 26 31
 [1369] 22 40 39 30 37 26 22 36 28 23 39 30 37 21 31 32 28 28 31 37 27 29 21 22
 [1393] 35 34 20 18 21 32 24 37 22 39 30 22 30 20 25 39 38 31 36 36 34 35 37 21
 [1417] 32 25 20 23 39 37 38 32 18 32 33 20 35 38 40 18 31 25 22 31 32 31 26 38
 [1441] 20 36 33 40 40 37 40 31 32 24 19 36 32 37 26 32 31 22 20 40 22 35 28 29
 [1465] 23 27 24 30 39 39 20 23 24 40 20 28 24 31 33 31 21 24 40 18 38 21 33 40
 [1489] 30 35 33 18 32 39 24 21 33 34 27 29 22 29 37 22 19 30 39 35 22 32 35 33
 [1513] 37 40 19 31 23 20 30 36 35 39 40 18 23 32 23 36 27 35 24 27 38 24 31 36
 [1537] 32 25 33 21 38 29 21 40 21 30 31 35 27 33 27 35 36 22 38 35 22 34 28 31
 [1561] 27 33 22 29 24 21 25 21 35 20 21 35 20 25 34 31 21 38 32 18 36 35 24 40
 [1585] 32 34 26 36 39 32 29 39 34 38 30 18 33 39 23 19 21 24 33 27 32 22 22 39
 [1609] 35 18 21 29 33 20 37 23 26 37 39 24 31 25 31 26 20 24 30 39 32 21 37 40
 [1633] 39 28 20 21 35 26 38 37 34 22 40 37 18 19 29 36 34 24 40 40 32 30 35 28
 [1657] 25 32 23 35 22 36 20 39 40 19 35 28 25 31 26 25 22 22 30 32 36 27 21 29
 [1681] 37 40 37 30 30 29 30 36 24 24 18 38 22 19 30 19 37 34 31 40 36 32 25 23
 [1705] 40 36 26 20 40 21 34 26 35 37 31 23 34 32 29 34 30 24 38 32 35 28 32 36
 [1729] 18 40 31 32 39 35 21 18 25 38 26 39 39 39 24 29 27 30 32 19 35 33 20 38
 [1753] 27 29 35 38 19 33 18 30 39 40 24 38 27 20 23 27 28 34 18 36 37 22 36 35
 [1777] 38 24 32 34 29 26 37 25 22 25 36 18 20 26 38 19 22 37 18 36 28 29 25 40
 [1801] 36 31 23 30 29 28 29 20 32 22 24 39 26 28 26 19 37 39 22 34 32 24 25 29
 [1825] 22 34 25 23 26 39 32 20 39 30 24 25 32 29 38 34 23 27 34 21 20 37 20 38
 [1849] 38 32 40 35 19 25 23 23 33 37 36 35 33 30 23 31 19 29 36 38 23 32 19 28
 [1873] 19 34 19 24 37 40 35 35 35 34 32 29 29 40 35 20 37 34 22 20 20 27 23 21
 [1897] 36 32 21 27 30 32 18 32 37 23 34 24 38 19 25 21 34 32 36 40 35 34 36 26
 [1921] 36 26 32 24 29 29 21 35 37 19 30 25 34 22 20 31 39 30 21 38 20 35 36 22
 [1945] 38 35 30 23 29 26 33 39 40 40 20 27 18 29 33 33 25 38 30 33 18 27 21 34
 [1969] 30 38 34 23 29 21 37 32 20 21 20 27 22 29 33 40 30 32 39 19 27 29 39 37
 [1993] 40 37 22 25 18 35 36 19 18 38 20 33 20 25 38 39 18 27 21 26 32 37 33 38
 [2017] 37 36 40 34 34 39 34 23 37 29 22 33 38 35 31 39 35 22 24 40 37 34 35 24
 [2041] 19 36 37 35 37 34 38 23 24 24 34 27 26 22 30 21 28 26 24 31 18 18 37 30
 [2065] 34 33 19 36 31 25 28 39 25 40 22 18 36 21 29 23 19 22 36 23 30 28 40 18
 [2089] 36 23 25 33 21 30 31 22 26 28 27 22 19 22 31 40 40 39 21 37 27 36 36 39
 [2113] 27 28 35 24 24 21 18 23 27 38 26 28 22 23 32 30 39 23 20 29 40 28 23 31
 [2137] 22 29 28 18 39 32 40 30 40 40 23 33 30 39 28 29 26 40 19 40 21 31 28 29
 [2161] 37 24 28 40 20 28 22 28 30 26 39 39 24 33 33 30 23 34 19 37 24 20 28 25
 [2185] 39 30 18 29 39 36 31 18 24 29 39 36 33 35 19 39 40 31 24 21 39 36 19 33
 [2209] 28 32 32 39 36 40 35 40 25 26 40 20 18 35 29 40 18 18 38 29 29 25 27 19
 [2233] 31 22 22 40 38 23 30 24 24 39 33 40 26 30 21 33 21 18 27 28 33 20 33 19
 [2257] 35 25 38 24 26 24 26 29 20 27 39 26 31 33 31 36 34 40 40 28 38 29 32 34
 [2281] 18 27 20 23 22 19 28 19 38 35 18 33 20 24 18 33 27 39 30 30 25 20 25 22
 [2305] 32 39 40 30 19 28 36 19 39 31 25 36 24 28 32 23 29 30 35 18 21 27 35 40
 [2329] 36 29 19 28 26 26 36 27 36 26 26 29 37 36 22 22 18 24 33 23 38 40 18 30
 [2353] 22 26 33 20 28 39 25 22 40 21 40 38 30 21 35 21 19 25 22 27 38 24 28 28
 [2377] 36 22 26 22 18 19 21 39 20 27 30 21 25 18 23 34 20 34 34 21 23 23 27 31
 [2401] 31 23 24 36 29 26 28 24 35 29 38 24 35 22 20 19 20 24 32 26 32 23 28 40
 [2425] 28 36 30 26 23 40 27 26 30 23 20 39 23 40 31 36 31 19 36 33 29 32 20 22
 [2449] 31 27 35 25 35 26 30 26 35 37 22 24 30 36 39 39 29 38 27 31 31 24 28 20
 [2473] 34 19 32 24 18 26 35 40 34 36 24 34 21 22 39 35 25 32 25 38 21 25 24 22
 [2497] 31 27 22 18 33 20 27 33 38 30 35 24 26 21 25 38 21 38 39 39 28 23 24 35
 [2521] 29 33 34 40 40 27 23 39 23 37 29 33 23 30 35 38 21 31 23 40 39 18 34 25
 [2545] 37 18 24 26 39 35 25 37 39 32 27 23 22 31 32 23 32 29 31 31 33 35 31 37
 [2569] 20 36 31 19 25 37 26 38 40 20 35 35 20 18 40 36 40 28 35 18 39 32 20 35
 [2593] 21 32 35 35 25 33 23 34 31 31 22 38 24 31 38 27 24 33 18 29 29 36 19 21
 [2617] 37 38 21 26 23 36 36 31 19 18 37 26 36 27 40 35 29 23 26 34 18 19 19 18
 [2641] 38 35 25 25 34 39 22 22 28 27 18 27 33 40 37 26 21 38 23 38 30 36 33 21
 [2665] 32 33 28 38 18 29 36 26 39 34 40 29 33 24 37 22 24 25 22 27 39 40 24 35
 [2689] 37 21 32 20 27 39 39 35 35 33 33 29 30 21 23 26 35 30 26 38 32 38 26 36
 [2713] 37 28 35 19 31 33 20 19 31 25 28 30 34 25 27 37 30 31 40 29 32 35 32 32
 [2737] 22 19 39 36 19 28 26 19 18 31 38 27 24 38 32 25 26 32 36 29 27 22 32 21
 [2761] 38 18 24 21 39 28 25 38 18 20 37 21 34 24 36 21 23 19 26 35 32 27 22 33
 [2785] 34 27 18 26 24 26 22 24 30 23 30 32 26 32 39 32 34 38 26 21 18 25 36 20
 [2809] 18 40 35 18 23 31 21 24 36 28 34 31 24 26 40 30 19 20 32 35 36 27 36 27
 [2833] 30 30 32 23 23 24 24 18 31 39 34 31 30 22 27 36 32 24 36 28 19 35 23 37
 [2857] 37 31 19 40 20 35 20 30 21 29 27 35 18 27 24 21 21 28 30 19 34 38 35 32
 [2881] 37 27 37 32 23 34 29 20 39 29 19 31 33 32 29 38 38 22 35 26 29 37 34 28
 [2905] 40 20 40 19 34 26 20 40 31 36 40 30 24 25 24 26 20 20 34 33 19 36 29 29
 [2929] 23 38 21 34 29 35 18 39 22 40 30 23 38 36 34 33 32 25 24 27 35 39 23 33
 [2953] 32 23 34 34 38 34 20 33 38 30 40 22 38 35 30 40 27 20 29 27 22 30 40 35
 [2977] 22 37 33 28 26 23 24 21 33 38 36 28 26 18 37 23 18 31 20 36 36 30 39 26
 [3001] 24 21 24 36 25 29 23 23 37 27 33 21 35 19 38 36 23 19 38 31 30 30 25 39
 [3025] 32 30 36 38 23 19 34 18 29 21 33 24 34 21 40 35 38 29 35 25 27 29 36 39
 [3049] 38 31 34 31 30 21 39 24 24 28 35 28 23 26 39 38 35 23 29 29 23 28 27 18
 [3073] 36 37 31 31 35 21 27 39 18 23 38 25 34 24 29 31 34 27 36 21 31 27 21 18
 [3097] 37 23 30 32 27 35 39 39 28 34 30 22 39 37 30 39 32 24 35 24 27 30 34 28
 [3121] 19 33 37 27 23 31 34 18 18 33 20 27 29 19 20 31 31 21 32 40 25 32 20 22
 [3145] 20 31 22 24 40 28 18 26 35 27 22 24 21 19 23 23 36 37 30 29 40 36 30 19
 [3169] 22 29 22 18 33 38 31 38 20 33 26 31 30 38 37 18 19 27 30 26 39 29 20 27
 [3193] 39 23 26 28 23 22 29 36 25 37 39 30 29 40 18 19 35 21 36 33 32 21 40 19
 [3217] 21 36 40 25 27 20 35 28 22 28 29 30 40 24 28 40 20 31 33 21 21 33 31 23
 [3241] 36 39 35 23 35 33 32 20 25 20 26 38 22 18 20 28 34 37 27 37 39 39 24 19
 [3265] 27 22 27 39 33 18 32 18 38 21 22 27 26 32 33 28 37 32 23 28 23 38 32 18
 [3289] 22 25 40 39 34 31 22 30 26 38 33 22 24 20 27 34 31 22 24 18 24 28 39 23
 [3313] 32 21 24 25 28 36 26 29 38 38 37 37 35 29 32 40 23 34 18 33 18 28 26 22
 [3337] 31 30 26 25 38 35 23 19 24 26 38 37 31 25 22 19 36 32 26 22 32 22 24 34
 [3361] 37 32 34 37 21 36 31 38 29 39 23 25 18 19 21 26 25 33 34 35 38 25 32 39
 [3385] 21 34 21 32 33 36 25 39 20 40 38 23 28 28 23 39 38 20 29 21 33 33 31 26
 [3409] 24 29 40 27 32 24 20 39 21 31 23 38 27 18 23 33 35 37 26 36 36 36 40 36
 [3433] 24 23 20 22 34 19 28 38 36 37 39 36 31 38 21 39 36 40 19 19 35 38 26 26
 [3457] 28 34 32 22 38 21 36 32 27 38 19 23 20 36 32 31 38 35 30 18 20 19 39 31
 [3481] 38 40 34 19 38 33 33 25 25 26 20 35 25 32 30 24 34 20 23 39 22 33 26 31
 [3505] 29 18 31 29 37 22 39 18 40 29 23 28 29 23 27 20 25 36 36 40 25 23 21 28
 [3529] 20 21 27 39 20 27 34 26 20 35 29 25 25 19 22 36 28 18 26 39 24 18 29 35
 [3553] 24 20 33 35 37 27 28 18 25 19 28 35 21 39 33 19 26 25 29 32 29 25 19 34
 [3577] 29 19 22 22 27 29 39 36 29 33 36 39 33 30 23 35 34 38 20 23 24 36 18 31
 [3601] 32 24 39 20 18 22 25 30 32 19 19 26 26 21 19 32 31 18 32 30 19 32 40 38
 [3625] 40 35 18 38 25 40 31 28 20 25 28 22 19 38 37 19 25 27 39 40 37 24 40 37
 [3649] 24 27 20 23 30 22 26 22 32 19 24 27 35 23 37 34 20 39 20 40 35 25 25 18
 [3673] 19 18 23 20 38 36 29 27 21 37 21 26 36 22 40 32 38 21 37 23 32 32 27 25
 [3697] 19 22 30 28 30 28 24 23 34 28 24 29 38 33 39 18 22 20 35 24 25 38 29 34
 [3721] 18 27 32 19 29 29 20 35 26 35 34 28 37 24 35 28 18 37 27 28 21 23 29 26
 [3745] 39 34 31 34 24 27 25 22 18 24 29 18 37 27 37 35 32 30 27 25 18 30 35 29
 [3769] 20 33 19 38 24 28 24 36 33 40 25 37 27 34 20 23 34 36 21 26 37 24 18 37
 [3793] 24 40 37 39 38 39 32 38 24 24 24 39 22 26 18 18 19 28 22 23 28 29 34 23
 [3817] 26 22 28 29 31 26 21 38 27 36 26 31 29 27 29 32 24 18 18 38 33 39 34 18
 [3841] 26 33 28 38 22 19 24 32 28 26 36 30 22 31 21 33 37 22 18 22 40 20 37 38
 [3865] 31 19 27 22 32 30 24 18 22 36 22 35 32 30 29 38 37 28 35 18 24 28 30 28
 [3889] 29 23 36 22 33 27 38 33 24 36 32 25 19 23 28 34 32 23 32 23 22 31 20 19
 [3913] 39 35 35 30 22 40 28 26 23 27 33 21 31 37 29 30 28 27 31 32 36 27 39 18
 [3937] 35 33 20 27 24 35 40 38 35 27 20 18 37 29 19 35 21 31 25 22 37 20 38 37
 [3961] 38 30 20 34 40 35 27 33 33 29 25 39 34 18 39 23 18 31 40 32 21 29 39 19
 [3985] 31 23 23 27 20 38 23 34 19 31 23 25 20 33 39 34 40 27 32 26 36 38 31 20
 [4009] 18 20 22 32 26 35 35 24 24 27 28 18 21 36 37 23 19 18 30 39 28 30 22 36
 [4033] 18 23 36 22 36 33 31 26 23 30 34 34 37 18 39 36 18 27 23 25 23 22 37 18
 [4057] 38 28 37 35 39 27 26 24 22 20 23 37 18 30 19 19 28 18 29 21 36 33 32 39
 [4081] 34 25 20 33 24 39 27 18 24 38 23 30 27 21 23 35 25 18 35 35 32 38 38 35
 [4105] 39 36 39 29 18 23 37 32 34 24 25 35 18 18 25 36 27 40 35 20 19 19 34 19
 [4129] 20 19 40 34 40 39 29 24 39 33 20 34 40 27 25 25 25 19 31 22 39 31 26 39
 [4153] 25 28 20 22 29 32 28 27 26 24 25 19 37 37 23 38 24 32 25 29 31 38 37 32
 [4177] 21 36 32 22 39 36 39 22 34 23 36 37 29 18 35 25 21 34 33 34 24 37 33 26
 [4201] 35 21 29 38 25 37 27 32 18 25 23 18 21 24 26 31 20 28 37 22 40 19 29 39
 [4225] 21 27 31 28 33 29 26 39 22 33 27 32 19 39 37 25 18 35 24 23 20 34 21 30
 [4249] 29 38 21 25 33 29 31 25 33 22 34 28 20 36 27 35 25 19 36 28 20 26 23 21
 [4273] 36 32 34 40 29 34 31 32 36 38 37 36 21 35 18 22 22 21 30 34 32 31 38 24
 [4297] 27 34 28 27 26 28 26 27 35 38 34 36 18 20 31 26 30 30 21 23 40 40 39 27
 [4321] 27 28 32 39 32 26 39 19 24 20 22 18 38 26 29 26 40 26 21 27 20 40 27 39
 [4345] 28 29 38 38 23 25 30 33 34 36 31 35 30 30 31 39 29 36 37 36 18 27 36 18
 [4369] 33 38 31 36 32 30 21 21 38 22 37 37 28 34 18 23 22 32 18 30 30 30 33 26
 [4393] 38 28 30 37 27 31 37 22 25 39 31 23 33 21 21 22 32 35 26 21 34 25 36 23
 [4417] 31 36 37 25 35 35 29 37 34 37 23 22 21 24 20 32 21 33 24 29 23 24 35 23
 [4441] 34 29 25 35 27 20 24 23 35 20 32 30 28 20 32 23 19 26 25 33 20 39 38 27
 [4465] 29 28 21 39 35 21 36 30 18 37 36 28 21 39 37 31 23 27 39 34 36 25 22 33
 [4489] 29 23 21 29 30 37 29 23 26 19 38 23 24 35 29 27 36 19 27 24 31 39 23 24
 [4513] 19 29 30 18 37 23 20 32 31 39 22 27 23 35 36 25 26 38 37 19 25 30 38 33
 [4537] 31 39 23 37 31 18 22 27 35 26 33 26 28 23 24 32 31 24 37 27 27 21 36 24
 [4561] 19 30 23 37 26 32 39 37 24 26 38 22 22 23 37 19 18 29 19 29 19 35 22 28
 [4585] 25 30 33 26 21 32 23 20 39 24 22 33 30 26 20 38 33 40 18 30 34 28 39 40
 [4609] 28 35 23 37 40 22 25 21 34 38 28 38 40 21 24 33 20 22 20 37 25 37 18 29
 [4633] 26 25 18 26 38 30 33 31 35 29 35 21 25 35 19 25 22 30 19 25 36 37 22 29
 [4657] 32 28 21 38 27 40 29 19 24 38 39 33 33 37 29 25 25 36 33 30 39 23 33 38
 [4681] 18 34 34 33 24 38 24 26 25 33 36 28 23 22 23 26 18 24 27 24 30 29 24 24
 [4705] 31 36 31 37 28 27 26 19 29 40 19 37 21 34 29 19 35 31 30 18 30 40 26 31
 [4729] 24 31 37 32 35 30 27 31 39 31 35 33 29 19 35 37 29 33 21 29 40 38 20 24
 [4753] 33 30 31 29 18 36 40 28 25 37 23 19 25 39 22 24 25 35 24 36 28 27 26 30
 [4777] 22 24 37 26 24 28 36 20 38 29 26 32 34 33 27 33 25 34 27 22 38 22 28 28
 [4801] 23 31 36 22 40 19 39 31 26 21 39 39 29 18 19 38 39 37 39 23 31 25 22 38
 [4825] 29 18 32 20 23 24 26 35 27 36 31 31 37 35 31 37 35 30 31 20 21 22 29 23
 [4849] 19 32 26 20 18 23 33 30 32 28 39 35 29 35 36 32 38 34 23 29 30 25 18 32
 [4873] 40 33 31 27 31 26 23 19 37 22 23 22 39 38 18 32 34 25 23 23 32 30 29 38
 [4897] 21 31 34 18 34 32 27 20 35 20 25 39 30 23 37 23 29 26 21 36 22 25 37 18
 [4921] 23 35 21 21 36 27 20 29 22 25 38 38 25 30 23 40 39 29 22 19 32 25 25 39
 [4945] 26 30 37 40 31 34 28 23 35 19 31 39 23 18 20 26 37 23 27 40 25 23 29 40
 [4969] 23 30 29 26 30 18 31 26 32 34 26 39 36 24 18 39 39 19 35 24 22 38 30 37
 [4993] 39 40 19 26 32 33 21 30 24 40 21 32 30 39 20 33 28 32 25 25 26 34 29 27
 [5017] 36 30 21 29 38 36 29 34 26 34 40 31 34 22 27 28 25 35 19 30 21 21 21 37
 [5041] 38 18 37 27 29 31 31 36 32 29 35 26 34 21 18 40 38 31 34 33 40 36 37 20
 [5065] 40 22 35 26 38 23 18 23 19 40 24 22 23 32 40 40 28 25 36 23 35 29 39 21
 [5089] 32 31 28 33 31 24 28 31 27 32 20 27 18 29 33 23 33 19 27 29 29 24 19 30
 [5113] 22 28 40 30 26 36 19 32 29 34 32 25 30 39 28 40 33 28 32 25 37 37 36 33
 [5137] 22 29 31 25 29 33 21 20 31 31 40 36 34 29 25 19 36 30 36 22 35 21 26 37
 [5161] 32 32 36 34 29 23 29 23 37 27 40 37 18 27 18 19 26 35 31 34 20 29 28 38
 [5185] 26 30 21 35 28 31 40 19 40 38 31 33 37 37 28 34 33 33 18 35 24 32 35 35
 [5209] 27 28 24 32 18 38 23 19 40 37 20 38 19 40 25 38 39 37 33 22 35 23 35 34
 [5233] 22 31 20 31 20 38 35 26 21 22 33 23 23 38 24 40 23 22 25 38 23 21 40 26
 [5257] 34 33 30 33 31 23 26 39 28 32 36 29 22 28 38 22 29 21 23 30 32 34 27 19
 [5281] 19 20 39 29 36 35 27 37 21 35 21 22 26 20 39 26 27 34 37 40 35 21 29 39
 [5305] 20 24 37 24 29 18 26 35 40 35 22 30 40 25 39 31 32 23 30 25 26 23 21 24
 [5329] 24 35 25 25 30 24 29 29 23 31 25 22 23 25 23 21 19 37 26 35 40 29 21 20
 [5353] 30 23 32 24 33 21 32 18 19 28 25 31 27 38 26 27 37 22 36 27 26 38 36 36
 [5377] 31 27 20 26 19 40 22 22 29 29 36 40 30 32 20 19 26 28 37 22 40 28 27 25
 [5401] 40 30 22 32 31 39 24 37 26 31 34 39 24 35 34 21 26 33 27 40 21 20 18 33
 [5425] 26 22 35 31 29 35 35 32 30 18 31 40 38 24 26 19 33 33 40 26 25 19 26 24
 [5449] 24 21 31 27 39 23 18 18 38 20 18 38 38 34 35 33 33 32 35 35 34 30 29 27
 [5473] 35 19 21 23 31 35 26 20 36 25 33 34 25 33 28 25 38 19 22 33 29 22 22 21
 [5497] 39 22 25 39 25 36 28 20 29 21 27 33 27 24 32 33 38 18 24 35 34 35 30 25
 [5521] 23 30 30 26 33 33 40 24 29 19 40 22 24 31 34 40 25 18 29 36 20 24 40 18
 [5545] 26 23 26 30 21 24 36 32 32 40 39 26 28 30 31 28 20 25 29 33 23 20 32 39
 [5569] 32 30 33 39 28 38 20 29 39 22 39 29 21 29 30 25 32 28 19 30 30 27 24 26
 [5593] 33 34 29 25 18 21 39 36 21 19 28 30 20 21 25 34 25 24 18 19 22 24 24 26
 [5617] 37 28 24 32 37 18 25 33 30 32 32 37 38 21 39 35 35 18 30 36 39 34 34 21
 [5641] 20 25 38 30 31 25 25 25 32 26 25 19 27 32 27 19 25 37 37 32 31 36 36 39
 [5665] 30 28 30 32 34 31 35 28 27 30 32 26 40 38 25 33 33 37 38 20 38 20 28 33
 [5689] 19 29 20 26 30 22 19 25 20 31 33 32 28 26 21 19 39 27 23 35 25 18 24 28
 [5713] 34 40 34 40 20 32 30 32 36 32 18 40 23 29 22 26 32 37 32 28 40 23 35 38
 [5737] 37 32 22 19 34 35 32 18 18 37 40 29 37 21 19 21 22 29 36 18 28 36 24 32
 [5761] 35 36 39 31 28 21 36 22 25 32 29 29 24 27 33 30 34 23 33 34 27 39 36 35
 [5785] 36 19 18 38 36 34 31 29 40 31 21 36 29 30 40 31 36 29 33 34 18 27 22 26
 [5809] 24 31 35 39 20 30 33 33 39 18 39 18 28 22 20 34 31 39 25 31 35 39 37 22
 [5833] 19 30 20 33 38 40 21 21 22 36 30 34 26 22 21 33 40 24 27 23 37 19 19 24
 [5857] 38 37 37 30 23 30 21 38 32 22 23 23 28 40 21 20 29 23 31 33 19 36 28 34
 [5881] 34 31 40 31 29 39 23 28 24 19 35 39 40 32 34 31 31 18 24 39 37 38 22 24
 [5905] 22 32 32 34 32 23 20 24 18 24 21 25 31 24 26 31 19 24 34 39 20 24 25 31
 [5929] 35 23 37 33 27 21 36 33 25 33 26 38 25 23 32 23 23 33 37 18 33 25 34 32
 [5953] 33 36 30 30 38 30 20 38 35 31 35 37 29 25 20 38 30 39 21 21 25 28 34 28
 [5977] 23 31 37 24 27 28 38 22 26 20 28 20 32 19 37 40 36 21 23 20 38 29 32 19
 [6001] 32 34 35 30 25 20 38 28 20 32 40 33 34 37 19 32 40 30 33 21 38 38 38 27
 [6025] 28 26 37 26 30 33 28 40 40 38 19 23 28 29 20 34 30 34 33 23 22 40 28 25
 [6049] 27 39 25 20 27 40 28 40 35 24 32 38 24 19 26 20 36 28 31 32 33 23 31 29
 [6073] 25 19 21 34 24 39 35 38 31 24 19 38 33 30 31 40 37 20 39 38 24 30 36 33
 [6097] 21 38 29 33 20 23 35 34 29 40 35 20 37 23 35 38 21 34 28 27 38 25 29 32
 [6121] 24 30 29 22 27 40 20 29 24 32 34 36 23 29 19 20 32 33 23 35 40 37 24 34
 [6145] 25 34 37 20 28 31 19 19 34 18 29 25 21 33 37 34 23 40 24 19 32 26 39 19
 [6169] 32 39 30 36 37 26 20 26 21 23 36 39 20 25 33 32 34 25 33 31 20 35 21 30
 [6193] 28 18 27 37 37 24 25 28 27 23 24 38 24 36 35 30 40 22 19 19 21 38 18 29
 [6217] 23 30 26 33 18 28 33 36 18 35 38 21 36 24 20 24 32 35 20 29 36 32 22 25
 [6241] 40 22 19 20 35 18 30 25 22 40 24 21 24 27 24 26 27 30 24 32 40 36 27 20
 [6265] 33 22 21 23 25 29 26 36 24 21 36 40 21 32 32 34 27 30 35 35 19 34 33 33
 [6289] 31 23 21 29 33 28 34 20 18 33 30 38 22 30 39 24 23 25 36 18 19 33 28 21
 [6313] 39 31 30 27 21 31 37 37 39 34 39 31 37 40 37 20 18 27 26 32 36 22 28 24
 [6337] 40 38 22 20 33 38 36 18 40 25 28 19 32 29 27 18 25 27 22 21 35 38 21 29
 [6361] 35 33 33 30 39 22 33 31 21 40 18 31 18 30 30 23 33 19 38 36 30 22 25 29
 [6385] 22 26 28 30 34 28 25 18 18 26 25 37 29 21 27 35 36 36 20 39 39 28 32 23
 [6409] 19 24 29 35 25 25 24 28 38 35 34 22 40 21 23 18 36 20 34 20 19 18 35 24
 [6433] 34 35 28 34 29 23 36 30 25 32 25 30 37 27 37 24 20 25 34 20 34 37 18 22
 [6457] 23 32 36 39 25 34 34 34 27 19 25 35 40 37 21 27 34 20 37 23 24 25 18 18
 [6481] 31 33 23 28 20 25 40 38 25 30 40 40 28 35 23 39 18 38 18 18 26 38 32 35
 [6505] 35 39 29 32 39 22 28 24 32 20 19 37 23 31 19 19 36 25 26 38 19 27 29 30
 [6529] 20 34 30 25 33 26 31 18 31 40 29 26 33 28 24 28 22 27 27 33 39 34 35 18
 [6553] 26 38 38 20 37 39 32 23 35 20 39 34 20 22 40 28 38 19 26 36 37 21 23 36
 [6577] 20 27 39 22 33 23 19 19 35 23 22 38 35 28 24 36 25 26 34 18 25 37 19 22
 [6601] 18 21 34 23 38 22 34 36 19 23 32 38 31 40 35 19 19 27 20 22 28 21 35 27
 [6625] 32 32 20 40 31 39 27 33 29 23 30 22 36 36 33 27 34 18 35 18 26 21 28 24
 [6649] 28 33 38 26 24 30 29 33 24 40 29 32 31 36 32 35 18 34 34 30 18 22 38 30
 [6673] 32 21 27 19 34 34 29 36 23 24 29 18 21 27 38 38 22 26 40 28 18 21 20 24
 [6697] 29 39 39 19 37 20 25 39 26 33 30 34 31 27 34 34 34 19 37 18 19 23 39 27
 [6721] 38 19 37 33 21 20 21 25 27 23 22 36 29 24 25 27 31 37 26 37 24 28 30 37
 [6745] 23 27 22 35 26 28 33 40 38 24 28 28 40 31 25 20 19 30 21 24 29 25 19 25
 [6769] 20 22 25 23 23 31 36 35 27 37 31 18 27 40 22 29 39 18 33 27 33 29 30 19
 [6793] 25 39 32 36 33 39 32 28 40 20 37 21 28 32 35 23 34 19 29 26 38 38 36 36
 [6817] 20 35 22 39 23 20 22 31 24 19 18 31 18 32 32 35 28 40 27 30 40 29 35 32
 [6841] 28 38 35 38 33 38 23 18 32 23 31 39 33 23 20 34 32 32 31 36 35 21 35 26
 [6865] 33 22 37 34 26 35 36 31 22 19 36 39 38 35 38 33 28 36 18 40 18 34 36 20
 [6889] 25 38 26 25 18 29 36 22 34 23 25 24 19 40 36 39 32 36 24 27 38 27 27 21
 [6913] 30 38 18 22 30 33 38 26 21 31 25 31 40 36 40 19 39 31 20 30 28 35 37 40
 [6937] 23 37 31 28 39 34 20 29 23 22 35 27 40 33 31 24 32 36 38 20 25 35 32 39
 [6961] 37 18 35 36 34 28 21 37 18 32 39 25 22 28 32 36 25 25 40 18 27 32 22 31
 [6985] 38 36 26 23 27 35 33 21 24 30 34 38 23 39 29 40 40 33 39 38 33 19 34 33
 [7009] 30 37 28 40 39 26 20 23 40 21 31 30 21 22 32 22 31 29 30 37 31 39 21 35
 [7033] 20 23 18 21 28 34 40 31 18 32 28 27 25 32 26 34 36 33 22 39 18 18 25 28
 [7057] 33 28 25 37 31 22 25 31 34 35 24 22 26 30 24 19 23 20 31 24 18 19 29 18
 [7081] 37 25 35 23 38 23 35 39 34 18 19 34 31 26 34 40 29 19 20 31 18 32 33 36
 [7105] 30 26 29 36 40 35 34 37 36 23 22 30 18 27 31 29 34 20 25 18 35 21 30 39
 [7129] 20 21 20 31 18 35 25 38 32 24 30 24 31 35 18 25 19 32 20 31 29 29 35 27
 [7153] 21 33 39 19 18 21 29 19 29 19 21 21 18 26 21 40 21 35 32 32 31 21 34 30
 [7177] 19 29 21 23 18 29 23 36 28 37 24 18 27 25 37 33 34 25 36 20 26 32 38 38
 [7201] 37 32 20 28 21 40 26 32 23 38 30 27 38 32 38 27 35 35 28 25 28 28 20 30
 [7225] 26 30 27 22 37 31 35 38 30 19 25 29 25 30 21 24 27 18 20 32 30 31 28 24
 [7249] 37 38 33 22 26 20 34 39 32 27 28 32 29 23 34 34 32 22 34 27 30 39 26 26
 [7273] 29 31 25 31 28 37 33 24 35 24 32 20 18 29 40 19 23 37 20 32 24 40 27 21
 [7297] 33 33 29 23 21 23 22 32 23 29 32 24 39 30 28 24 34 33 27 24 22 24 31 38
 [7321] 27 32 30 25 32 35 27 25 20 36 19 31 23 35 29 36 28 23 40 25 39 29 32 31
 [7345] 31 33 34 35 26 38 37 40 40 35 31 20 33 19 39 23 19 26 31 29 19 33 38 35
 [7369] 31 23 28 35 28 19 36 32 27 21 25 23 23 40 20 33 28 28 37 33 21 18 40 33
 [7393] 36 34 35 20 31 32 39 24 20 36 34 24 29 23 33 19 23 33 37 18 40 32 23 40
 [7417] 25 25 31 34 27 20 18 30 22 21 30 26 29 25 38 21 38 28 30 18 30 23 29 28
 [7441] 20 38 25 25 24 31 31 38 25 40 27 37 34 40 28 30 21 25 35 25 25 33 21 31
 [7465] 24 27 34 18 32 38 20 26 24 19 37 33 25 33 21 22 34 33 36 28 25 35 23 29
 [7489] 23 22 21 33 26 33 40 18 21 21 33 40 27 33 37 38 32 25 18 36 20 27 40 35
 [7513] 38 36 27 21 22 40 39 28 28 29 26 22 25 24 40 25 22 32 27 19 32 27 20 40
 [7537] 21 20 37 40 29 39 30 32 23 22 19 23 35 34 32 26 26 30 28 20 35 37 28 18
 [7561] 36 23 38 27 30 19 34 28 24 18 40 34 37 19 32 38 37 20 19 36 21 22 32 28
 [7585] 35 18 32 29 30 19 39 19 34 19 18 29 23 18 27 32 24 23 20 29 18 28 18 27
 [7609] 35 33 37 19 26 37 29 36 25 30 23 38 23 27 19 26 21 29 29 37 25 28 36 22
 [7633] 38 27 38 32 21 40 25 33 23 37 40 35 20 40 33 28 36 27 27 25 27 21 37 30
 [7657] 27 38 25 36 24 21 38 36 32 23 22 32 27 32 24 19 27 32 26 24 21 39 23 20
 [7681] 39 22 28 24 32 20 35 34 32 18 27 20 33 32 34 27 40 25 19 27 40 34 23 22
 [7705] 20 24 21 26 29 38 35 37 30 40 32 35 40 38 33 40 33 33 34 20 19 39 32 32
 [7729] 21 38 22 23 34 20 18 30 29 39 40 40 33 24 37 29 34 19 20 22 27 32 20 22
 [7753] 18 29 32 25 23 30 36 34 19 26 34 19 24 39 24 37 21 21 23 25 25 27 37 28
 [7777] 18 31 21 23 23 23 30 28 21 28 33 22 27 33 23 25 39 38 30 31 29 30 25 39
 [7801] 21 19 32 19 26 30 29 25 35 30 34 31 36 34 24 37 29 32 24 36 27 20 37 28
 [7825] 27 23 26 33 36 18 23 25 36 28 40 34 21 18 20 23 39 39 33 33 25 27 21 18
 [7849] 20 40 40 32 33 19 27 32 26 38 37 21 18 33 38 30 21 28 37 35 21 21 35 34
 [7873] 26 19 32 25 19 30 38 40 18 29 38 30 40 23 28 30 32 34 18 37 26 39 37 25
 [7897] 23 27 32 38 36 34 25 19 18 31 31 23 33 35 33 26 21 31 33 36 19 22 39 18
 [7921] 31 30 18 26 32 19 29 36 22 20 19 40 33 33 19 35 28 26 29 34 31 33 26 22
 [7945] 32 31 26 27 35 37 35 35 19 35 38 29 34 21 26 19 31 35 24 23 23 39 37 29
 [7969] 27 22 24 28 31 28 22 37 23 30 35 35 22 33 30 30 28 20 30 20 26 20 40 19
 [7993] 18 27 32 19 18 34 18 40 20 23 35 36 26 34 34 27 36 35 36 24 39 21 38 30
 [8017] 29 27 33 18 31 32 32 33 32 23 20 19 36 27 26 27 40 21 30 33 27 31 32 21
 [8041] 39 23 21 30 23 21 36 21 25 25 36 23 39 21 29 33 18 37 34 32 19 37 33 40
 [8065] 21 39 21 26 26 33 24 30 37 24 20 19 25 37 33 20 26 21 25 23 23 22 31 32
 [8089] 36 40 32 30 21 23 18 36 33 22 25 25 28 22 20 28 19 20 29 20 38 22 23 32
 [8113] 39 33 28 39 23 25 24 22 25 36 35 24 20 37 26 33 35 21 25 34 30 25 29 25
 [8137] 38 40 19 40 37 26 22 30 28 25 34 24 19 20 30 30 27 25 32 18 38 37 24 22
 [8161] 34 23 26 19 25 21 18 38 31 18 36 31 30 24 38 19 22 22 34 32 28 19 24 34
 [8185] 20 26 28 24 34 37 26 30 25 20 26 40 31 18 35 25 31 40 23 35 29 22 38 40
 [8209] 31 35 30 24 22 36 32 40 18 39 36 19 31 31 35 29 19 32 32 26 22 22 36 38
 [8233] 34 28 34 19 29 32 39 36 18 26 21 33 38 19 24 28 40 39 26 29 25 23 31 23
 [8257] 25 39 20 28 39 38 29 33 25 26 18 27 21 31 37 18 20 40 28 24 23 39 25 21
 [8281] 27 38 18 31 22 36 33 38 30 19 36 37 29 25 32 40 33 28 19 23 27 29 40 21
 [8305] 38 23 37 40 40 27 20 36 34 39 25 37 38 34 25 33 22 20 31 25 38 18 24 31
 [8329] 23 22 34 39 34 39 25 39 32 20 27 39 40 39 26 39 28 24 23 19 36 26 31 23
 [8353] 24 39 25 39 33 20 27 32 31 30 23 21 26 26 23 33 27 29 37 30 39 31 26 25
 [8377] 21 19 34 38 28 35 30 23 37 25 34 35 25 27 39 20 19 32 34 20 24 34 27 19
 [8401] 25 40 24 31 31 36 25 28 35 25 36 24 39 37 28 39 36 18 29 24 37 30 36 31
 [8425] 19 39 35 37 38 28 21 35 36 35 31 36 31 37 37 20 34 27 32 22 19 30 37 40
 [8449] 40 39 21 34 19 32 32 33 36 24 21 29 25 24 30 24 27 35 40 22 18 34 33 23
 [8473] 40 36 22 36 40 21 23 36 22 25 21 23 30 37 40 30 32 23 32 22 36 31 39 35
 [8497] 28 29 25 36 33 26 28 35 33 35 34 32 30 20 24 30 34 35 26 37 39 20 19 21
 [8521] 27 31 33 30 32 29 25 20 30 23 36 22 35 37 26 27 24 27 36 21 28 32 32 23
 [8545] 23 19 34 23 33 30 29 23 18 36 38 40 22 25 40 36 26 29 25 27 40 40 29 22
 [8569] 18 31 32 26 27 31 37 28 28 24 39 34 39 32 30 37 24 30 37 18 30 28 32 34
 [8593] 29 40 34 28 21 19 30 26 22 39 19 18 31 19 33 28 40 39 22 36 21 22 20 35
 [8617] 38 21 21 33 18 23 26 36 18 34 32 22 35 30 36 31 39 33 27 34 33 34 19 35
 [8641] 22 34 20 38 38 31 29 19 37 20 28 25 38 39 28 22 32 20 33 25 37 37 40 22
 [8665] 35 36 20 33 37 24 39 29 19 23 27 36 29 26 24 33 29 38 40 28 26 34 20 24
 [8689] 30 21 20 25 22 18 36 20 36 26 18 22 26 28 34 38 37 30 37 39 31 36 32 38
 [8713] 20 34 23 37 33 38 26 38 38 27 33 20 26 30 21 23 18 30 22 37 27 21 39 31
 [8737] 20 22 36 18 38 19 29 27 36 25 37 27 32 27 29 35 19 28 24 19 28 26 18 33
 [8761] 36 30 40 34 24 30 33 40 22 39 33 28 21 26 22 31 20 25 28 25 34 20 39 31
 [8785] 28 35 34 23 23 19 29 36 38 27 33 39 32 20 24 36 38 19 20 25 36 37 27 37
 [8809] 39 30 38 20 30 40 36 23 36 39 21 31 30 40 35 34 19 30 39 21 26 35 18 20
 [8833] 20 26 29 29 20 33 38 21 19 30 21 29 20 18 24 26 29 33 21 37 34 19 23 24
 [8857] 18 32 36 21 40 39 22 39 18 39 26 25 21 34 35 36 21 37 18 23 25 27 19 25
 [8881] 25 33 33 39 40 18 34 40 36 19 18 27 33 22 21 33 21 39 20 34 31 40 29 26
 [8905] 38 21 20 39 25 30 18 33 27 28 39 20 22 35 19 28 38 38 28 36 23 28 39 36
 [8929] 34 30 38 32 29 27 23 33 23 18 37 37 18 30 33 38 40 36 40 36 38 27 22 34
 [8953] 29 31 29 32 35 24 25 40 34 22 36 32 28 40 23 23 21 22 40 30 34 35 23 30
 [8977] 25 26 31 32 36 31 38 27 38 30 31 36 40 36 29 19 19 31 29 34 34 34 25 29
 [9001] 22 32 33 20 29 35 30 35 32 30 37 39 36 38 38 25 32 34 30 29 35 29 38 25
 [9025] 37 18 38 32 36 28 37 31 30 36 21 35 28 23 34 39 23 35 18 22 27 31 20 35
 [9049] 27 30 24 38 29 34 39 21 23 32 32 34 37 27 23 33 27 39 29 36 39 29 37 38
 [9073] 38 22 38 19 31 34 20 21 28 26 28 29 19 20 26 35 34 34 33 27 26 31 35 40
 [9097] 18 18 35 25 38 29 19 34 40 38 24 20 35 27 32 33 23 40 26 30 19 37 27 22
 [9121] 33 30 32 26 25 22 30 30 36 39 27 24 34 25 35 26 38 29 37 29 22 31 19 38
 [9145] 33 27 21 29 31 29 28 37 23 29 30 25 18 32 19 26 19 38 31 20 34 21 28 34
 [9169] 33 25 25 35 19 24 39 40 35 20 37 20 31 40 30 30 32 23 20 29 36 18 31 33
 [9193] 37 26 28 25 27 37 34 29 27 37 36 18 38 28 36 26 35 37 24 26 31 31 37 40
 [9217] 37 38 36 33 32 32 27 23 26 32 27 24 27 37 39 26 30 38 23 18 23 18 39 27
 [9241] 24 19 20 23 19 21 32 40 29 18 28 37 37 28 40 26 29 39 21 35 25 35 35 27
 [9265] 37 39 33 27 39 24 23 40 29 27 40 18 20 19 37 25 18 35 21 21 32 23 34 40
 [9289] 21 34 27 29 36 25 26 38 40 36 26 34 30 35 29 20 22 39 23 29 29 23 30 20
 [9313] 40 34 35 27 27 21 38 31 22 23 40 33 35 36 19 33 30 39 26 34 20 21 23 34
 [9337] 28 25 22 34 39 38 24 34 22 36 38 18 38 34 40 24 30 34 21 39 33 23 30 35
 [9361] 21 27 38 29 19 31 39 35 31 34 35 26 21 36 31 26 32 27 24 29 28 38 33 24
 [9385] 39 33 33 30 24 33 21 25 35 37 27 18 35 31 35 40 32 23 23 39 19 33 25 33
 [9409] 35 30 23 30 22 25 18 31 27 31 19 19 35 39 40 35 37 37 27 18 20 39 36 22
 [9433] 34 26 36 38 24 32 33 23 34 26 31 37 27 30 19 25 21 22 18 29 35 32 22 21
 [9457] 32 27 31 36 28 33 40 36 22 36 32 37 29 39 32 31 33 36 35 30 40 40 39 27
 [9481] 35 37 20 31 24 37 25 37 31 22 28 35 30 40 27 30 30 27 29 37 25 23 29 23
 [9505] 22 22 28 40 35 26 36 40 34 35 40 21 18 38 27 39 31 20 22 30 29 25 27 40
 [9529] 36 39 26 24 27 26 20 31 35 35 19 40 23 24 20 32 25 33 27 26 20 34 22 35
 [9553] 36 31 38 37 23 30 22 26 28 40 36 38 39 24 39 19 38 40 21 38 18 38 19 24
 [9577] 35 30 31 26 35 20 33 29 27 18 31 40 28 19 40 23 27 33 21 37 22 27 20 37
 [9601] 35 36 18 38 34 21 26 20 26 25 39 31 28 27 29 29 38 29 21 38 19 19 39 31
 [9625] 34 28 26 34 30 40 22 29 36 22 32 32 19 32 22 18 23 21 33 23 19 26 20 19
 [9649] 33 28 39 24 23 27 38 22 24 28 19 32 39 23 27 18 19 19 32 24 38 36 22 31
 [9673] 18 27 39 35 19 18 24 34 22 26 37 28 25 29 27 27 40 29 23 20 22 31 36 25
 [9697] 27 23 33 31 36 28 24 39 19 32 22 28 26 38 34 28 30 18 36 37 26 28 29 31
 [9721] 30 39 33 30 21 20 20 18 33 28 40 28 22 36 39 25 39 19 29 30 30 22 24 27
 [9745] 39 20 29 32 26 27 23 34 31 31 27 22 38 32 39 22 30 27 21 30 28 34 35 36
 [9769] 40 31 20 19 29 33 29 34 24 18 27 20 22 39 36 39 37 21 31 33 31 38 40 22
 [9793] 26 24 31 29 36 20 27 35 23 34 31 20 39 29 31 26 23 21 32 32 40 29 36 32
 [9817] 23 35 28 34 28 31 31 39 21 34 38 27 28 28 18 27 37 38 27 23 19 25 31 18
 [9841] 19 25 35 25 18 25 31 24 30 27 35 28 32 26 26 40 35 28 28 38 31 31 34 30
 [9865] 39 19 26 36 31 30 22 18 29 38 20 31 34 23 24 19 39 26 22 40 33 36 21 40
 [9889] 38 29 20 39 23 25 35 35 39 35 35 36 37 39 24 39 39 22 20 26 29 34 29 28
 [9913] 26 35 33 35 21 25 40 38 35 26 19 24 21 22 33 19 23 25 32 30 31 27 23 36
 [9937] 39 36 29 26 24 22 29 31 23 23 30 27 19 22 24 18 26 22 35 28 34 26 22 34
 [9961] 21 28 20 21 33 35 30 26 18 28 26 27 27 33 31 32 20 36 30 19 35 38 21 18
 [9985] 39 30 32 31 22 33 32 29 34 38 26 37 36 37 22 18 37 39 25 31 20 38 22 36
[10009] 34 26 38 24 37 25 35 28 18 32 37 26 40 25 27 33 40 31 38 31 39 29 30 28
[10033] 20 39 22 24 36 26 21 21 26 18 20 39 25 29 38 39 24 34 21 20 25 38 23 28
[10057] 18 37 38 22 19 39 23 26 27 34 30 23 22 24 36 35 36 34 25 27 18 21 22 28
[10081] 37 34 34 37 25 23 23 32 23 27 35 26 39 25 22 33 19 27 26 25 19 27 24 22
[10105] 36 36 31 29 29 38 40 25 38 25 28 31 35 26 27 22 23 39 29 39 30 26 37 18
[10129] 22 20 39 34 22 40 27 34 23 36 30 20 39 29 29 28 20 32 27 33 33 28 22 28
[10153] 25 24 39 24 22 23 36 21 35 33 26 40 24 33 35 34 23 40 20 24 22 37 29 26
[10177] 31 31 33 22 23 40 29 21 27 31 24 23 24 28 35 27 33 35 21 31 22 25 39 19
[10201] 33 28 24 27 35 34 36 31 26 26 32 25 19 38 25 18 36 29 32 30 31 23 32 25
[10225] 24 35 26 39 37 34 19 38 22 39 33 40 36 33 30 28 36 39 26 29 19 20 26 28
[10249] 29 35 37 19 35 39 24 35 29 32 26 20 30 25 20 39 34 27 38 25 24 39 19 35
[10273] 20 36 19 40 39 29 19 31 38 36 23 37 23 33 24 40 38 32 40 27 19 29 32 27
[10297] 35 33 34 27 37 20 26 33 18 34 32 30 25 22 25 22 34 19 26 38 36 32 39 25
[10321] 20 30 26 32 31 18 38 32 40 33 26 40 30 25 25 32 30 36 27 24 28 26 28 40
[10345] 39 40 33 24 35 29 22 31 22 40 32 29 28 28 32 29 24 38 24 19 23 36 21 20
[10369] 24 40 26 24 25 18 36 36 20 32 24 29 18 27 23 30 39 37 20 18 20 37 28 28
[10393] 24 36 19 29 20 30 33 34 20 31 18 28 23 28 22 32 21 27 36 25 20 29 33 30
[10417] 24 37 39 29 22 36 37 32 40 38 23 26 38 32 38 34 39 33 34 34 40 22 29 31
[10441] 39 27 36 38 34 30 19 35 39 26 37 31 19 24 34 37 36 33 30 29 19 25 36 36
[10465] 26 25 40 31 28 36 30 26 22 29 30 19 34 30 39 40 25 28 28 38 34 40 23 38
[10489] 19 38 18 30 18 19 26 37 31 19 29 26 36 38 37 35 33 26 40 30 39 27 32 29
[10513] 26 29 32 26 39 38 30 34 25 19 24 30 18 35 18 38 34 18 23 36 36 40 40 32
[10537] 40 29 27 21 27 35 33 36 38 38 23 20 36 24 32 35 29 23 37 23 22 19 29 37
[10561] 32 18 32 35 24 34 35 36 19 21 35 25 18 23 35 19 38 31 23 26 32 21 35 21
[10585] 34 29 18 33 35 27 36 30 27 21 24 18 34 28 33 35 24 40 21 21 29 19 32 36
[10609] 29 29 20 21 30 20 30 19 33 23 29 33 34 19 28 40 35 27 22 24 28 25 18 26
[10633] 24 31 21 25 28 24 18 35 31 27 32 20 40 18 35 35 29 25 18 22 26 38 25 22
[10657] 40 21 34 32 20 28 24 35 19 29 20 29 24 34 26 32 29 40 38 20 21 37 30 22
[10681] 36 38 20 22 33 33 21 38 34 40 27 26 23 18 28 36 25 19 19 19 21 25 22 37
[10705] 22 33 29 31 22 26 18 32 29 34 38 30 22 27 22 28 21 29 23 39 33 18 19 27
[10729] 23 34 40 21 24 39 23 25 26 35 20 21 37 33 23 32 37 24 22 33 38 21 18 23
[10753] 35 37 25 30 29 33 22 18 28 30 26 29 35 33 33 29 29 31 25 36 29 22 31 26
[10777] 35 31 28 39 22 33 27 39 30 34 35 19 31 39 30 36 30 31 21 29 19 21 24 22
[10801] 18 31 35 29 29 29 19 37 37 27 24 23 23 21 35 25 38 31 25 33 39 37 29 33
[10825] 27 30 33 23 25 39 37 25 22 20 26 20 39 39 24 21 35 36 22 33 30 39 21 33
[10849] 24 19 23 39 24 23 28 31 40 34 23 23 28 38 31 33 33 40 29 21 18 26 28 39
[10873] 33 29 29 27 28 33 33 26 29 20 29 26 28 30 23 18 24 23 25 38 25 30 37 34
[10897] 36 32 25 35 35 20 23 33 27 40 35 24 24 25 24 19 28 29 33 33 28 40 35 38
[10921] 37 21 33 23 39 32 32 21 27 29 32 26 28 19 27 22 19 34 18 34 21 30 25 34
[10945] 18 36 19 36 32 20 34 27 19 20 26 39 29 21 28 30 25 27 37 36 23 30 22 38
[10969] 38 32 30 25 39 30 29 36 28 26 27 20 34 29 35 34 33 37 38 20 39 36 19 38
[10993] 39 35 23 24 34 38 31 30 19 29 34 37 39 40 36 23 33 35 18 33 20 28 31 35
[11017] 23 26 23 29 25 25 36 27 20 28 22 39 23 27 28 21 34 36 38 29 18 33 31 28
[11041] 24 29 33 36 25 34 21 37 40 37 28 18 39 31 18 27 23 30 37 30 20 36 33 33
[11065] 36 40 30 29 28 35 23 39 21 32 36 33 35 20 23 30 21 28 36 23 40 21 23 40
[11089] 38 28 33 37 37 37 19 27 21 39 23 33 21 24 33 18 23 39 30 38 39 23 30 18
[11113] 18 27 20 25 37 18 39 40 25 19 18 37 21 22 34 20 40 21 31 35 27 37 29 34
[11137] 18 24 26 30 35 28 32 38 20 38 30 35 36 29 21 39 35 26 22 28 28 36 30 36
[11161] 39 23 28 21 28 39 23 40 22 30 36 22 23 40 18 34 30 28 20 27 19 30 31 40
[11185] 22 30 20 34 33 36 19 26 34 21 30 24 36 38 31 21 35 19 32 30 33 27 39 32
[11209] 28 28 21 18 33 22 23 38 26 26 18 33 23 31 34 33 28 27 30 27 30 34 34 35
[11233] 29 32 30 39 20 21 24 38 40 31 37 28 22 40 30 27 28 33 32 31 24 35 39 39
[11257] 34 29 23 26 18 29 25 18 40 36 18 33 36 25 20 31 40 22 39 26 21 40 25 21
[11281] 27 40 32 35 34 34 29 25 25 21 38 19 26 20 18 18 38 30 31 37 18 37 21 26
[11305] 32 18 22 34 28 35 33 28 28 35 33 24 21 30 26 30 34 28 37 30 35 30 33 28
[11329] 19 38 28 26 39 20 18 32 39 29 33 23 21 19 34 19 20 24 30 29 31 26 20 28
[11353] 26 33 29 22 26 26 31 26 28 30 21 19 19 21 29 25 29 27 22 40 20 27 23 36
[11377] 18 24 26 18 21 21 39 24 37 28 33 40 36 24 25 23 24 38 31 32 22 25 21 29
[11401] 36 37 37 19 38 28 39 24 28 21 36 37 35 40 28 20 39 32 23 34 34 27 18 31
[11425] 20 33 33 22 22 28 18 32 23 38 23 29 19 37 30 22 38 38 39 39 35 32 20 25
[11449] 36 35 23 28 29 36 20 22 30 18 26 23 37 40 19 37 19 29 29 28 18 26 40 29
[11473] 40 40 23 31 30 22 24 19 20 26 35 32 36 39 32 23 38 34 38 23 20 21 27 20
[11497] 29 23 33 28 40 27 22 34 32 40 36 22 19 38 30 22 29 21 35 32 39 20 30 40
[11521] 21 23 36 35 37 35 30 31 34 21 32 19 37 22 29 40 19 37 40 32 18 30 35 25
[11545] 18 29 35 34 25 20 40 29 21 24 33 25 22 38 33 19 19 28 22 36 29 38 28 22
[11569] 30 27 36 23 23 40 28 37 32 32 28 31 18 26 40 35 33 26 21 22 38 39 40 30
[11593] 23 38 29 32 34 39 37 24 33 25 39 28 25 40 39 20 34 33 31 35 26 25 28 21
[11617] 27 18 19 19 34 23 24 26 36 18 20 25 26 25 32 30 21 37 30 23 25 22 32 38
[11641] 38 25 38 22 20 39 21 35 39 39 37 27 32 22 36 33 37 33 36 31 21 29 22 27
[11665] 24 37 35 36 24 18 39 28 27 18 32 38 36 33 28 30 37 21 28 35 27 34 27 38
[11689] 39 28 35 32 35 20 39 30 20 39 23 18 27 33 33 27 18 28 39 40 36 38 22 20
[11713] 38 28 24 37 22 35 31 24 27 25 38 35 38 20 20 27 20 29 24 21 29 20 20 23
[11737] 26 33 18 36 26 36 36 31 18 31 28 27 40 19 32 27 32 37 18 22 37 38 25 32
[11761] 25 20 31 33 33 40 28 26 22 34 28 24 23 40 29 22 40 36 38 25 30 36 33 24
[11785] 23 20 22 27 36 38 20 37 29 18 35 36 23 30 35 18 18 21 24 19 22 40 33 38
[11809] 32 26 24 38 34 19 31 23 39 40 31 32 23 25 40 29 22 36 23 39 27 33 34 19
[11833] 18 19 26 29 37 21 37 22 26 21 32 31 19 37 26 18 37 29 21 39 25 19 26 39
[11857] 34 18 28 37 28 31 39 37 40 21 37 36 37 19 39 24 36 21 23 29 35 35 25 33
[11881] 30 26 24 37 39 39 28 38 33 38 24 29 18 22 19 31 27 30 36 30 28 38 34 34
[11905] 19 25 29 33 33 28 37 22 30 28 40 31 20 30 22 26 18 23 22 34 18 39 19 20
[11929] 24 33 24 21 18 38 23 36 37 35 22 39 18 19 38 22 25 35 25 29 32 33 19 40
[11953] 23 39 19 40 25 31 26 18 34 33 32 27 23 23 32 29 26 38 26 30 24 22 35 28
[11977] 33 21 32 36 28 30 22 24 29 35 20 21 37 40 38 38 35 24 22 20 32 34 28 37
[12001] 33 40 23 21 24 30 19 24 32 18 19 27 39 28 38 30 18 29 31 29 29 31 35 32
[12025] 39 22 18 18 27 31 40 39 33 19 34 26 36 30 27 31 26 23 35 29 18 21 37 26
[12049] 35 19 18 32 26 31 21 25 22 18 27 37 21 35 27 38 31 39 40 19 25 18 22 39
[12073] 33 39 27 20 33 37 28 24 25 18 19 33 33 39 30 25 27 23 35 20 26 24 34 40
[12097] 36 38 39 18 24 20 40 24 19 28 37 20 30 18 38 38 25 22 30 18 31 19 28 22
[12121] 40 28 29 19 35 36 23 21 28 29 28 30 26 35 34 27 21 20 30 29 38 29 34 22
[12145] 35 33 24 24 19 29 24 21 34 25 37 40 31 34 32 34 27 21 34 24 22 18 25 26
[12169] 34 31 26 29 23 29 20 27 36 39 29 23 36 23 29 37 33 21 39 22 34 34 26 27
[12193] 39 39 21 19 27 23 27 39 37 21 37 21 30 20 31 23 28 24 35 25 22 24 34 28
[12217] 31 20 26 40 24 23 18 19 25 23 32 34 22 28 28 21 18 38 26 22 20 37 37 27
[12241] 24 35 26 21 19 21 34 25 32 22 40 19 21 32 26 40 31 37 24 31 33 30 26 33
[12265] 31 32 22 19 35 25 32 34 31 39 18 21 24 21 28 29 33 30 25 34 33 29 38 25
[12289] 23 26 30 35 30 40 38 34 33 40 37 32 32 33 38 26 25 40 30 22 31 25 38 33
[12313] 30 32 24 33 28 22 38 30 35 39 30 20 20 22 22 20 30 20 33 28 28 22 32 34
[12337] 40 26 26 31 28 26 40 39 26 31 33 37 31 22 33 20 31 34 21 32 26 19 30 38
[12361] 32 39 37 28 24 33 38 23 21 30 28 18 31 22 19 27 18 29 18 40 21 25 32 28
[12385] 24 36 39 40 20 22 33 35 28 19 37 32 36 38 33 30 27 38 23 31 18 32 30 40
[12409] 26 32 33 36 18 19 26 28 33 27 23 30 35 37 32 32 24 39 40 30 35 18 19 18
[12433] 19 23 39 26 35 40 35 30 40 22 27 36 33 25 35 35 25 24 18 37 37 23 27 28
[12457] 24 19 32 30 35 38 29 22 28 32 35 20 38 32 25 19 32 37 28 36 18 30 28 31
[12481] 24 30 27 20 25 19 19 23 26 23 31 19 33 35 19 27 34 32 39 33 34 19 38 36
[12505] 28 23 26 21 34 38 27 32 23 24 37 29 32 22 28 23 25 27 32 27 40 20 26 29
[12529] 34 22 23 38 23 40 26 19 33 24 39 36 37 33 28 32 34 35 30 32 24 23 33 31
[12553] 30 40 38 30 28 24 27 30 21 35 33 18 32 22 24 25 29 40 34 38 35 28 36 39
[12577] 40 19 32 27 36 33 33 35 39 31 25 25 27 40 40 38 26 24 18 38 27 25 18 20
[12601] 38 36 21 18 28 39 30 20 36 26 28 38 24 34 26 19 34 35 32 33 19 34 34 28
[12625] 22 33 34 27 24 31 18 24 40 40 39 28 36 18 22 26 33 24 18 35 40 31 29 30
[12649] 37 40 21 24 25 36 21 25 21 31 27 37 23 20 30 19 24 33 38 21 24 33 18 39
[12673] 24 35 37 26 40 23 22 27 38 35 31 27 18 33 21 35 23 37 36 21 37 18 29 33
[12697] 37 21 38 23 29 39 30 26 25 37 21 40 38 27 18 24 39 25 20 37 18 30 28 32
[12721] 23 21 40 35 33 20 18 36 37 30 40 40 30 25 23 21 34 19 36 18 22 21 21 40
[12745] 25 31 28 20 29 36 30 32 32 29 36 21 24 22 30 26 34 22 29 29 27 27 38 40
[12769] 27 25 22 20 33 38 28 36 36 20 29 27 21 30 20 39 19 31 40 23 27 37 21 25
[12793] 34 19 24 23 29 25 37 27 34 18 36 38 38 28 18 32 21 20 34 40 29 29 23 38
[12817] 33 27 37 29 18 26 38 21 21 35 33 23 32 36 40 26 19 25 18 19 38 39 20 25
[12841] 34 19 39 22 35 18 36 22 24 31 21 35 18 37 32 33 21 33 34 35 23 20 22 22
[12865] 20 28 32 18 32 25 33 40 40 30 18 18 19 20 37 24 28 29 29 24 35 30 40 23
[12889] 33 25 20 21 40 23 34 25 26 30 24 33 29 35 30 32 22 24 40 33 25 24 30 19
[12913] 40 24 27 27 36 23 21 30 30 20 35 28 37 32 34 32 20 21 27 24 22 22 21 32
[12937] 28 18 23 21 26 22 36 32 35 27 26 32 37 18 30 30 33 34 32 26 27 26 21 24
[12961] 27 20 22 34 37 25 34 23 21 38 21 36 27 18 27 40 19 36 27 40 33 21 26 28
[12985] 19 25 37 37 34 22 37 25 21 34 40 37 28 29 38 19 21 25 33 26 18 37 38 34
[13009] 27 36 30 35 34 38 28 20 37 35 33 31 33 29 27 34 28 18 18 31 32 21 20 40
[13033] 30 18 36 25 27 21 35 18 20 30 35 34 40 37 23 22 31 26 31 36 38 28 34 25
[13057] 38 34 33 36 32 18 21 30 33 34 22 21 40 23 20 28 36 26 35 36 19 32 33 40
[13081] 26 40 39 20 32 18 23 26 32 22 27 18 23 29 37 31 30 18 22 27 33 33 25 21
[13105] 20 23 33 32 18 30 27 31 27 39 30 37 24 32 27 28 39 40 37 26 38 31 40 40
[13129] 25 28 25 32 33 28 24 19 27 29 40 28 33 26 18 21 35 23 18 35 30 31 35 30
[13153] 33 31 39 31 32 28 29 40 35 22 25 21 34 29 25 27 18 23 34 24 39 38 33 33
[13177] 18 19 39 27 31 23 33 38 24 39 21 34 35 33 28 30 27 35 21 29 22 22 31 22
[13201] 31 22 32 34 39 34 28 25 28 33 36 33 38 31 19 25 26 36 22 20 26 34 37 29
[13225] 20 23 18 20 32 35 38 18 35 20 23 33 19 32 20 32 32 21 25 33 35 22 37 38
[13249] 20 27 23 29 27 30 38 35 21 20 18 27 21 27 25 35 34 27 24 32 32 35 18 20
[13273] 34 27 40 29 20 26 26 33 30 37 34 37 38 22 19 21 34 24 35 40 32 31 38 29
[13297] 38 22 21 33 25 36 29 38 24 30 21 38 23 27 40 28 24 30 40 32 20 38 21 19
[13321] 22 21 30 19 28 32 37 35 31 33 21 20 40 29 20 22 34 30 29 29 39 24 38 38
[13345] 23 26 25 20 23 21 33 24 22 37 24 28 27 37 21 22 21 30 34 24 18 30 18 30
[13369] 36 39 23 34 32 35 22 30 24 22 21 38 22 38 36 27 32 27 23 24 36 23 31 37
[13393] 20 31 35 35 27 24 27 39 22 26 22 27 26 26 33 35 22 30 27 36 29 26 29 18
[13417] 28 20 26 35 34 23 23 24 23 22 37 21 18 38 30 28 20 22 33 18 37 28 29 32
[13441] 39 24 19 30 36 26 21 31 24 26 20 24 24 26 40 32 19 24 27 30 20 24 27 19
[13465] 27 37 19 22 21 37 18 38 37 28 31 37 18 34 40 29 33 37 26 28 26 26 31 38
[13489] 31 23 36 35 23 39 31 23 38 32 26 38 21 30 38 28 24 38 32 38 40 40 30 20
[13513] 28 20 34 30 28 18 36 18 35 29 40 32 31 38 33 30 25 31 21 36 40 34 22 39
[13537] 24 18 21 20 22 33 18 36 36 40 25 34 39 25 31 24 29 32 39 38 36 25 25 40
[13561] 39 27 38 24 30 26 19 34 24 21 36 39 19 31 24 36 36 34 26 26 27 28 40 38
[13585] 18 25 40 40 26 37 19 19 35 22 30 24 33 28 24 18 35 33 30 25 37 39 23 38
[13609] 29 38 21 39 35 20 22 22 40 39 26 36 26 39 26 38 39 34 22 39 23 23 36 26
[13633] 39 21 39 19 34 25 39 36 40 38 40 27 31 28 37 33 34 18 21 27 29 31 21 33
[13657] 27 19 31 20 37 39 32 36 35 40 34 22 22 31 35 28 39 25 34 18 20 29 29 22
[13681] 30 27 38 32 30 18 21 21 27 30 26 38 24 24 32 27 23 22 27 27 19 20 20 39
[13705] 26 24 31 26 34 31 23 25 39 39 39 27 39 28 33 22 23 35 27 32 30 21 19 32
[13729] 38 24 39 27 25 33 36 40 39 25 25 26 26 22 38 33 21 20 38 19 34 23 37 40
[13753] 38 20 40 40 27 19 36 21 39 21 25 33 28 34 36 19 38 30 20 19 34 18 35 31
[13777] 26 27 23 25 38 28 31 21 32 34 28 26 25 35 31 21 22 40 21 36 36 29 21 39
[13801] 31 21 39 26 29 40 24 20 30 37 26 24 30 26 28 37 32 25 23 19 39 23 32 31
[13825] 26 35 37 32 30 32 38 40 25 38 27 38 30 22 26 23 22 26 22 28 19 26 29 40
[13849] 27 20 26 32 29 21 38 23 18 38 20 35 26 33 20 34 32 39 35 21 32 23 27 32
[13873] 19 29 27 40 20 35 24 23 18 39 25 40 30 23 37 36 27 23 36 22 26 32 37 28
[13897] 31 37 33 24 34 18 30 24 28 32 24 19 39 31 39 38 36 30 35 22 22 29 33 20
[13921] 38 31 37 32 24 27 30 26 32 35 31 35 40 32 26 26 30 23 31 19 18 19 39 33
[13945] 18 25 37 25 20 30 34 33 20 22 30 38 35 23 22 32 23 18 37 35 34 19 21 37
[13969] 32 22 24 35 26 32 18 29 38 24 23 27 28 38 40 23 27 18 18 20 36 31 20 37
[13993] 40 21 30 34 24 37 35 22 20 37 28 19 24 29 22 24 32 23 23 22 23 25 33 23
[14017] 40 28 23 37 34 21 20 18 39 20 30 34 34 23 30 36 30 34 40 32 36 20 38 36
[14041] 24 18 28 35 32 29 31 35 39 22 39 27 24 26 28 38 26 18 31 25 21 34 27 24
[14065] 30 33 39 39 33 25 36 18 32 30 37 32 20 30 25 22 22 40 32 38 33 27 23 28
[14089] 22 33 38 18 36 21 33 18 32 37 30 20 38 25 31 23 18 23 30 26 39 26 29 31
[14113] 36 28 19 22 40 36 39 39 20 26 29 32 20 39 40 22 26 40 26 25 21 39 36 35
[14137] 36 23 35 24 19 32 24 23 37 33 21 32 18 26 39 37 35 36 33 39 36 23 23 30
[14161] 30 37 29 34 26 25 20 23 19 21 28 22 26 28 24 26 36 25 30 40 34 20 23 28
[14185] 34 23 19 30 35 27 34 40 25 34 19 36 22 27 21 35 20 38 34 25 23 36 29 36
[14209] 20 31 21 36 40 39 25 36 36 32 34 33 20 29 35 36 35 39 33 32 40 39 34 26
[14233] 35 38 27 32 38 38 20 38 19 24 28 29 24 34 24 22 25 37 39 24 39 39 19 27
[14257] 21 39 25 28 25 34 18 20 20 22 37 39 37 33 30 29 28 27 40 27 18 25 29 38
[14281] 37 40 28 21 28 32 26 31 19 21 31 40 36 21 32 38 40 23 20 28 37 30 40 36
[14305] 27 34 39 24 29 28 27 18 29 21 21 21 28 37 32 37 32 37 32 23 28 20 40 21
[14329] 40 20 40 20 39 36 23 32 25 30 20 18 27 23 31 39 26 30 27 37 40 23 33 35
[14353] 27 21 22 28 35 34 37 29 39 32 36 29 39 34 36 24 29 36 23 36 33 32 31 36
[14377] 35 35 32 29 28 37 19 40 40 29 27 35 21 33 33 34 22 35 34 18 36 22 30 19
[14401] 34 27 34 40 35 36 30 27 30 24 35 21 23 34 32 21 32 39 26 29 36 33 29 27
[14425] 23 24 22 20 29 35 28 40 35 29 22 26 36 33 39 38 36 36 24 23 23 25 20 32
[14449] 32 30 21 21 38 29 24 28 37 25 27 38 20 32 18 33 26 23 30 29 26 37 24 20
[14473] 32 24 21 36 21 21 24 20 34 30 19 36 28 23 28 19 19 39 35 23 25 21 18 38
[14497] 27 39 22 23 28 21 35 23 36 27 40 29 27 26 25 37 28 21 36 33 22 21 34 38
[14521] 18 39 36 25 31 37 22 28 38 20 39 27 27 20 21 21 32 31 39 28 22 35 21 18
[14545] 39 22 35 32 37 32 30 34 22 30 33 26 39 40 31 20 18 27 32 22 21 33 37 26
[14569] 37 35 32 18 29 22 28 26 26 32 28 34 20 30 36 40 34 20 33 25 30 23 24 23
[14593] 33 38 27 38 34 32 18 18 22 30 22 34 19 35 24 28 19 30 22 24 35 32 25 20
[14617] 26 21 26 37 31 37 36 34 29 37 22 36 18 31 33 21 20 27 28 40 22 29 21 18
[14641] 38 23 22 34 38 26 36 38 22 18 25 21 23 23 24 27 24 40 23 26 31 18 32 21
[14665] 29 19 34 29 27 28 39 20 25 20 36 40 28 32 27 36 24 32 29 35 40 20 37 22
[14689] 40 30 20 32 34 36 28 19 36 19 38 28 25 31 18 31 38 27 39 29 23 27 32 28
[14713] 22 22 28 22 25 35 40 22 36 26 28 20 38 26 24 25 19 24 40 27 30 40 33 31
[14737] 39 37 26 33 23 28 33 20 25 39 24 33 24 21 22 18 19 39 36 25 30 25 36 32
[14761] 22 36 32 37 22 40 31 22 31 29 31 31 37 33 36 35 27 28 27 36 25 24 19 36
[14785] 40 28 34 25 19 31 22 21 26 18 20 29 31 39 30 30 34 27 29 26 39 19 26 29
[14809] 32 38 31 31 26 28 18 30 38 38 20 30 37 27 22 26 36 28 33 27 39 20 29 36
[14833] 36 30 34 28 39 29 29 20 32 20 27 37 31 25 25 25 25 34 18 22 18 23 34 34
[14857] 26 40 38 24 33 22 19 30 31 23 31 18 24 23 20 21 36 18 18 32 29 31 27 28
[14881] 33 21 25 18 30 36 39 30 39 37 28 25 40 28 37 28 37 21 27 37 22 27 37 23
[14905] 37 21 28 20 21 31 36 24 22 26 33 38 31 28 26 31 38 25 29 19 29 28 28 20
[14929] 19 29 25 34 21 27 20 26 28 30 18 18 37 25 18 40 39 32 33 18 34 33 35 40
[14953] 23 21 18 32 19 21 38 19 23 30 28 27 19 21 18 28 37 19 20 40 32 27 23 37
[14977] 26 22 26 27 33 39 26 32 37 19 22 26 33 23 21 36 39 40 24 31 28 35 30 34
[15001] 29 22 33 31 29 34 27 40 30 30 30 23 24 36 19 38 37 26 37 20 38 36 29 36
[15025] 20 21 29 21 22 20 31 18 35 28 19 28 26 32 33 35 29 23 26 31 22 21 33 37
[15049] 25 25 25 28 29 38 39 25 18 30 34 20 23 25 31 21 24 39 25 32 19 33 33 26
[15073] 24 36 36 37 37 35 28 36 26 30 39 35 36 22 32 29 18 25 37 40 39 37 35 20
[15097] 28 29 23 39 28 38 34 19 40 39 37 40 29 37 40 34 32 28 37 23 24 35 31 24
[15121] 28 32 26 39 23 21 28 19 29 25 22 25 39 33 21 35 31 35 38 36 36 18 33 28
[15145] 27 22 25 38 28 19 18 32 23 26 18 24 29 19 27 37 18 34 31 23 21 24 29 30
[15169] 33 19 27 27 26 31 40 36 19 24 21 20 33 31 28 19 21 36 38 27 26 29 36 38
[15193] 23 18 38 32 26 37 29 19 20 28 30 27 28 28 33 22 32 21 19 37 18 29 21 38
[15217] 40 37 25 20 36 27 28 30 22 24 24 28 22 30 25 31 20 26 25 26 35 19 23 37
[15241] 27 35 38 21 23 38 25 32 19 31 28 37 36 30 29 19 24 26 31 21 22 21 26 26
[15265] 26 26 32 40 26 33 20 27 39 28 39 29 36 31 31 37 36 29 20 19 21 33 22 23
[15289] 23 23 25 32 21 28 37 20 18 35 34 36 22 34 36 25 29 29 22 35 31 31 39 40
[15313] 25 31 37 35 24 39 35 20 19 35 32 25 22 39 38 29 24 29 32 19 25 31 37 20
[15337] 23 26 32 34 18 36 26 30 29 34 21 20 24 30 25 33 18 22 30 23 34 36 37 28
[15361] 28 25 34 19 40 21 29 38 29 36 32 32 19 35 22 31 28 39 34 40 38 18 27 35
[15385] 23 38 37 26 24 19 20 40 18 29 25 20 32 24 40 37 25 30 21 28 36 36 25 24
[15409] 37 30 38 27 33 22 19 29 29 35 27 24 28 28 19 19 24 40 18 19 23 19 33 18
[15433] 37 40 29 29 39 36 34 31 32 35 23 20 18 36 20 26 27 22 32 22 25 40 37 29
[15457] 38 35 35 36 28 25 28 40 38 30 31 28 27 34 30 27 18 24 37 37 35 21 28 38
[15481] 32 32 28 23 26 30 21 34 37 38 40 32 39 26 38 34 34 19 20 34 36 30 20 32
[15505] 39 20 36 24 39 39 40 25 18 24 19 21 21 38 18 22 19 40 34 29 25 34 33 22
[15529] 19 23 26 33 36 34 26 32 20 23 39 23 22 23 25 22 32 18 23 32 32 33 40 29
[15553] 29 39 24 38 34 33 25 30 18 20 29 18 40 26 36 24 39 31 22 24 31 31 30 39
[15577] 19 34 39 19 18 40 27 25 38 26 35 24 27 24 38 18 36 37 18 18 37 24 25 30
[15601] 18 25 39 32 25 39 18 24 20 36 18 20 26 37 21 18 21 22 23 24 28 22 24 22
[15625] 24 25 30 40 24 27 33 31 29 23 33 35 28 38 22 28 35 36 19 20 32 26 27 23
[15649] 21 37 28 38 27 21 30 28 29 20 24 25 29 36 35 23 23 18 35 21 28 29 24 18
[15673] 34 18 36 33 25 33 37 29 37 24 20 21 36 22 37 26 38 40 38 27 26 35 30 25
[15697] 33 31 35 23 34 21 35 33 19 40 40 32 25 37 31 24 39 36 38 34 22 34 35 31
[15721] 18 37 19 33 26 35 36 19 21 21 27 21 22 20 31 32 31 40 19 29 27 37 22 38
[15745] 32 38 25 22 39 23 18 25 26 35 39 35 18 28 30 37 20 28 36 29 33 26 25 32
[15769] 26 26 38 23 29 23 20 26 36 40 20 28 26 30 28 36 18 24 34 31 22 18 39 32
[15793] 33 34 36 30 31 28 29 35 32 20 22 24 37 38 34 40 27 18 32 37 27 31 39 21
[15817] 35 35 35 38 40 33 27 20 29 24 39 38 30 36 32 19 37 26 23 34 40 25 19 34
[15841] 22 24 25 19 35 24 25 38 21 23 34 35 27 26 37 19 18 34 27 38 32 39 21 39
[15865] 24 29 20 29 32 28 40 20 40 23 38 18 27 24 31 35 33 22 18 19 22 27 18 31
[15889] 39 25 31 21 25 24 32 39 33 39 18 31 26 30 30 27 19 35 18 23 28 39 18 20
[15913] 25 30 36 34 18 34 27 36 26 23 18 30 27 22 30 35 18 33 30 32 25 31 30 21
[15937] 39 36 23 31 22 34 38 26 36 19 18 39 24 30 24 23 34 38 29 36 32 38 40 23
[15961] 35 37 34 26 18 39 38 32 30 38 20 21 40 34 37 21 36 32 22 27 31 30 18 33
[15985] 30 30 35 28 33 37 34 33 27 32 22 36 25 27 38 20 35 36 22 28 37 38 37 22
[16009] 37 18 23 40 40 32 33 40 20 29 31 37 37 33 24 35 27 23 21 23 40 31 22 25
[16033] 19 30 36 18 20 18 20 18 19 25 26 32 26 26 40 28 29 37 18 29 33 25 18 21
[16057] 25 18 37 37 20 39 36 32 32 34 18 37 20 36 32 26 23 19 26 30 18 39 35 19
[16081] 33 25 32 39 33 31 31 23 20 39 25 30 30 32 28 23 30 36 21 35 39 31 34 30
[16105] 30 23 18 29 34 26 29 34 32 38 24 28 18 28 32 23 21 24 27 18 38 31 18 20
[16129] 39 19 33 29 34 23 22 23 25 24 30 40 33 33 33 25 21 19 27 28 22 38 28 23
[16153] 38 40 21 36 20 40 27 28 39 39 26 36 35 36 19 21 21 36 39 34 37 26 35 20
[16177] 26 23 38 36 40 28 33 26 21 34 40 23 25 19 29 39 29 34 31 26 38 40 32 27
[16201] 28 40 29 22 39 31 32 26 38 21 20 39 22 18 36 37 18 34 39 28 25 31 22 20
[16225] 40 39 20 37 39 36 40 26 34 30 21 18 20 35 39 25 22 33 26 36 22 34 20 30
[16249] 22 21 38 20 27 27 33 33 30 38 37 36 36 39 36 39 26 26 33 32 36 37 25 28
[16273] 35 32 22 29 33 19 35 37 29 34 32 24 27 26 39 25 35 24 18 26 25 28 19 33
[16297] 38 21 18 39 38 24 23 33 20 23 35 32 37 21 18 24 31 32 24 40 23 23 29 33
[16321] 19 36 25 18 39 32 28 23 24 27 28 30 39 39 38 36 26 25 40 25 36 26 35 38
[16345] 19 32 36 24 39 39 19 31 23 31 23 33 35 32 32 28 20 20 34 40 31 33 18 30
[16369] 20 28 37 22 21 30 30 24 27 28 39 38 38 35 23 25 20 28 24 34 21 29 36 21
[16393] 36 20 32 35 22 20 29 24 39 32 29 25 26 36 35 24 26 27 26 30 21 24 33 24
[16417] 18 33 36 40 35 27 23 30 36 39 20 19 31 32 25 21 20 21 39 32 21 30 21 19
[16441] 22 33 31 21 28 39 35 27 20 29 31 39 23 24 39 29 35 31 28 18 28 37 27 38
[16465] 30 31 35 28 30 39 22 26 40 36 20 32 30 20 26 31 39 26 18 29 31 22 29 22
[16489] 32 36 21 22 28 22 22 35 29 32 29 22 29 28 29 28 25 37 33 23 20 38 21 24
[16513] 29 21 19 27 27 35 29 38 25 18 19 28 37 38 38 20 31 40 18 22 37 27 23 32
[16537] 27 38 19 37 40 28 37 34 37 40 36 21 28 19 21 30 34 33 27 35 31 32 25 20
[16561] 18 37 32 26 40 19 35 33 29 31 35 23 37 20 37 22 19 35 28 31 37 28 33 36
[16585] 28 31 34 36 28 40 30 25 20 35 37 21 33 22 33 33 28 33 22 38 23 39 21 35
[16609] 26 34 36 25 37 34 26 33 27 23 34 29 34 37 29 33 20 30 35 24 20 36 19 39
[16633] 27 27 31 39 28 28 19 39 23 26 33 35 38 29 35 19 32 37 26 25 20 27 34 25
[16657] 21 37 18 24 37 30 23 26 28 32 19 20 35 34 34 26 27 22 30 29 30 39 18 23
[16681] 23 36 31 20 37 31 38 28 35 32 23 32 23 31 24 23 30 31 30 20 25 22 32 26
[16705] 35 39 23 25 18 33 21 19 22 38 40 21 36 25 22 24 35 30 23 38 20 27 19 25
[16729] 34 35 23 20 21 40 33 40 37 37 27 23 33 33 29 22 33 39 25 22 37 33 28 28
[16753] 28 32 23 37 23 40 27 25 36 36 23 32 36 37 34 18 19 25 23 25 22 40 36 25
[16777] 38 27 36 32 31 23 40 22 40 34 24 29 40 23 38 40 23 23 38 38 20 27 40 36
[16801] 26 22 24 39 36 39 19 36 35 29 21 40 39 30 38 35 36 31 30 29 29 20 30 22
[16825] 20 40 26 28 33 29 40 36 30 34 40 20 27 32 38 19 37 25 22 39 30 40 38 32
[16849] 28 31 20 25 32 24 25 35 38 21 40 39 32 40 39 20 38 40 18 21 26 27 19 36
[16873] 40 32 28 20 23 36 37 25 30 22 25 21 39 40 39 38 29 26 29 26 28 38 24 33
[16897] 40 37 23 29 22 20 33 39 29 31 25 25 31 29 23 38 39 30 18 37 38 38 35 39
[16921] 25 40 18 35 26 37 22 28 35 31 19 29 23 25 36 18 38 30 20 38 26 27 31 26
[16945] 19 35 33 30 37 34 19 19 38 35 24 21 35 35 31 29 39 29 18 31 36 37 26 19
[16969] 24 33 19 22 32 19 22 31 32 24 39 31 32 21 34 21 18 22 39 38 18 19 25 34
[16993] 37 24 31 20 34 34 39 27 25 24 35 22 23 24 39 37 23 40 23 38 37 31 22 18
[17017] 26 21 21 35 19 27 20 34 21 28 20 30 34 31 31 37 34 33 29 20 39 30 26 24
[17041] 29 30 28 31 35 34 40 32 24 20 28 22 21 29 33 20 30 24 31 34 26 38 25 32
[17065] 27 34 28 39 27 18 20 34 33 26 26 31 40 38 30 34 35 38 32 31 37 38 36 30
[17089] 35 25 18 18 20 19 36 22 18 21 20 26 31 20 40 21 30 26 33 20 25 19 19 31
[17113] 24 28 18 20 25 21 39 26 25 22 40 19 33 23 36 37 24 24 21 38 29 38 25 40
[17137] 23 27 20 19 21 22 31 32 31 27 35 36 36 34 18 36 22 36 24 29 20 19 30 23
[17161] 26 39 37 34 30 23 37 26 20 38 20 27 35 40 36 32 38 31 39 37 27 37 19 24
[17185] 31 38 19 35 33 30 24 26 39 29 22 31 31 21 34 32 25 27 23 39 34 37 25 18
[17209] 33 28 24 33 31 26 28 24 19 24 37 37 20 37 18 36 25 21 31 18 22 33 28 39
[17233] 29 29 34 18 35 23 35 22 35 33 36 32 28 21 38 32 19 20 24 40 18 26 39 32
[17257] 28 36 37 20 33 26 27 30 37 38 26 34 22 28 18 30 28 30 27 39 35 29 21 31
[17281] 28 26 24 38 18 21 32 36 37 36 33 33 20 22 38 24 38 22 20 22 27 31 37 20
[17305] 29 37 34 23 35 19 22 22 31 27 40 32 21 30 22 38 26 32 33 26 30 35 24 39
[17329] 40 23 24 20 18 33 35 35 37 24 22 25 25 32 18 21 20 25 28 39 24 30 37 27
[17353] 31 20 32 36 18 32 28 29 29 30 20 31 25 21 36 37 19 32 25 34 28 20 38 36
[17377] 21 21 22 20 35 23 23 34 40 36 33 22 18 25 34 25 32 21 38 36 35 34 19 31
[17401] 40 38 20 36 30 32 33 36 24 38 39 18 39 29 33 38 34 37 40 28 25 26 37 18
[17425] 29 38 29 39 33 29 29 34 31 30 32 27 37 18 37 19 35 34 31 31 20 22 36 20
[17449] 29 33 36 36 32 32 25 37 23 38 28 25 22 25 30 19 34 23 38 31 20 19 40 35
[17473] 19 40 38 18 39 29 26 21 26 21 40 30 28 33 20 29 37 35 20 18 34 19 25 37
[17497] 31 18 27 20 36 32 33 36 22 34 35 24 18 23 35 38 28 37 25 32 36 23 31 21
[17521] 38 19 35 38 36 27 19 21 34 23 35 26 19 22 19 40 28 30 40 26 31 35 28 31
[17545] 26 36 32 35 23 40 25 27 30 30 24 38 31 32 39 28 38 26 37 25 36 29 26 37
[17569] 31 28 36 35 35 20 34 35 28 27 34 25 22 34 33 34 20 39 34 26 28 20 38 21
[17593] 28 33 24 38 32 30 29 19 30 29 20 36 27 39 38 34 36 21 26 40 37 26 34 24
[17617] 23 36 22 34 34 20 23 36 21 25 33 32 24 29 31 32 38 24 32 35 36 33 20 36
[17641] 22 19 21 35 29 21 22 23 30 32 19 21 40 37 24 23 40 25 40 20 22 36 28 34
[17665] 20 29 36 24 37 26 34 29 19 37 40 33 30 35 31 19 21 22 29 29 22 34 25 35
[17689] 29 32 29 34 40 32 24 24 20 24 34 30 39 24 29 19 37 33 19 37 28 32 29 32
[17713] 31 34 23 29 24 26 30 33 29 33 36 28 39 33 23 26 18 18 19 38 28 40 31 18
[17737] 34 25 29 25 24 39 28 23 36 37 35 39 19 37 38 40 39 40 18 19 32 34 36 33
[17761] 20 35 26 34 29 37 28 39 21 39 36 38 20 31 38 38 29 24 25 39 40 21 23 28
[17785] 32 26 30 23 24 30 33 33 27 20 37 38 28 19 38 27 28 18 19 27 19 18 24 38
[17809] 29 30 19 25 19 26 40 31 26 22 38 37 25 36 21 20 38 22 25 19 31 25 36 25
[17833] 29 36 21 24 40 31 18 20 37 40 19 21 26 34 40 18 24 30 19 25 29 20 40 19
[17857] 22 24 29 38 39 25 30 19 20 39 40 38 18 40 27 34 40 19 21 20 27 28 21 39
[17881] 28 24 27 31 31 21 30 34 30 34 23 32 27 38 40 28 28 27 23 23 21 37 33 26
[17905] 27 28 35 21 28 22 27 25 24 32 39 36 32 24 40 25 27 32 23 36 29 24 34 40
[17929] 22 25 19 29 23 20 38 35 40 31 18 30 19 32 21 20 34 36 34 33 32 20 39 20
[17953] 20 26 20 19 31 34 24 27 21 39 28 35 34 21 26 39 26 18 35 29 18 24 39 23
[17977] 31 28 20 40 28 36 28 35 27 24 34 23 35 18 35 21 32 23 39 24 21 34 37 32
[18001] 28 38 27 37 19 20 33 28 29 26 31 18 22 38 37 38 19 25 27 33 37 28 28 36
[18025] 21 22 25 32 27 34 19 31 22 28 18 28 22 22 20 37 26 20 18 27 20 24 24 37
[18049] 38 23 19 25 23 37 28 33 23 21 36 32 40 22 20 27 20 32 23 40 27 40 27 30
[18073] 28 34 18 21 30 30 19 36 35 34 18 37 28 31 29 33 20 23 24 26 37 31 31 26
[18097] 19 19 25 27 37 25 38 20 37 32 18 31 19 18 33 31 19 30 20 26 38 28 23 27
[18121] 37 32 19 18 34 39 33 40 28 35 22 25 21 24 22 25 18 37 38 31 29 36 28 18
[18145] 25 37 31 25 25 35 38 35 35 36 33 20 20 30 22 27 21 35 29 36 26 33 28 38
[18169] 23 27 32 25 31 31 22 29 37 24 33 33 27 38 29 29 28 28 33 35 32 24 33 33
[18193] 27 29 37 33 35 22 29 34 31 25 27 22 38 25 22 36 18 22 35 31 38 25 31 32
[18217] 28 23 18 37 28 28 39 18 21 28 23 19 27 34 38 25 27 22 29 40 34 38 35 20
[18241] 25 40 28 32 20 18 38 18 35 25 18 22 27 31 31 32 22 21 24 31 31 29 24 21
[18265] 33 28 32 36 35 19 34 34 36 30 30 34 20 40 21 35 30 37 27 30 34 32 18 18
[18289] 37 38 30 29 30 40 22 22 30 30 25 30 27 23 22 35 21 31 27 25 39 19 21 35
[18313] 20 24 26 22 28 20 20 26 18 28 28 18 40 31 18 30 33 33 28 34 22 40 34 32
[18337] 39 21 30 31 39 37 33 28 19 22 27 20 37 34 31 37 28 36 34 36 30 38 27 30
[18361] 24 31 36 21 18 19 25 24 34 37 38 32 19 30 37 34 26 21 40 30 29 35 36 30
[18385] 24 27 38 21 40 24 31 40 20 36 30 25 20 25 20 38 23 35 35 25 23 32 34 40
[18409] 35 20 34 34 22 32 39 18 22 29 18 40 24 24 27 37 31 33 19 32 34 26 24 26
[18433] 38 36 37 23 19 22 36 31 35 34 31 37 27 39 30 38 25 29 38 22 25 35 18 27
[18457] 20 20 37 28 23 36 32 33 27 18 26 38 26 25 38 19 30 23 34 26 28 22 18 31
[18481] 18 39 21 32 37 27 29 30 21 30 19 20 28 18 23 29 34 34 21 36 20 29 32 24
[18505] 31 37 40 40 28 39 34 40 23 34 39 24 30 39 24 38 32 33 27 35 33 40 22 19
[18529] 33 18 31 33 25 33 26 40 25 19 35 37 32 35 30 22 34 23 40 29 31 28 38 33
[18553] 39 29 33 33 39 20 26 31 40 38 22 22 28 27 39 26 25 23 40 24 27 37 23 28
[18577] 30 19 23 27 30 18 40 38 19 21 30 22 25 37 26 29 34 27 26 20 40 37 35 18
[18601] 36 28 27 34 21 30 33 26 31 21 23 31 20 33 20 39 26 35 19 26 22 40 31 27
[18625] 24 26 29 32 37 27 35 32 23 33 33 18 29 19 30 40 32 25 19 18 31 27 38 18
[18649] 30 29 35 31 24 31 18 21 30 35 32 22 29 25 29 27 38 19 33 29 30 23 32 22
[18673] 27 21 37 37 40 40 33 28 29 19 22 23 22 19 22 19 23 36 34 32 30 21 27 20
[18697] 40 33 31 31 26 33 36 20 34 38 39 24 32 28 35 23 26 20 24 37 30 29 24 32
[18721] 22 29 23 25 35 25 39 26 33 39 36 21 29 27 35 24 22 26 30 30 28 23 33 39
[18745] 20 35 18 28 39 22 22 20 27 20 32 32 26 38 36 25 32 27 21 23 31 28 40 24
[18769] 24 31 34 21 38 24 30 33 39 32 22 37 32 23 39 36 27 31 40 29 35 37 32 39
[18793] 32 21 24 27 26 31 25 27 38 28 22 40 34 28 25 23 25 37 20 39 33 33 22 23
[18817] 24 32 37 38 38 30 18 23 35 18 35 37 20 36 30 19 25 24 36 19 39 30 39 39
[18841] 38 27 19 24 21 18 29 22 19 34 21 19 19 31 20 36 26 19 28 37 21 36 37 38
[18865] 37 32 40 36 27 27 33 34 22 40 34 19 39 34 30 21 34 21 20 34 31 35 24 38
[18889] 29 32 38 24 20 35 36 29 27 25 36 28 23 35 30 32 19 22 30 18 27 21 30 30
[18913] 30 29 22 28 34 33 37 36 36 32 19 38 35 27 20 35 38 39 26 29 20 36 30 26
[18937] 40 38 38 29 40 35 23 24 34 33 36 18 25 25 30 20 35 36 31 22 20 22 27 21
[18961] 39 22 24 29 31 18 29 21 34 31 32 29 38 35 24 40 31 34 30 29 27 25 40 22
[18985] 33 30 26 37 20 36 21 20 40 19 21 38 20 38 27 24 40 19 18 38 23 25 35 27
[19009] 20 33 23 39 34 21 20 39 33 24 39 30 37 22 25 38 36 37 18 35 38 35 26 31
[19033] 39 23 31 30 18 26 19 32 20 22 29 38 36 37 29 25 28 36 29 22 18 32 28 31
[19057] 37 27 40 37 28 30 21 20 23 39 33 31 40 35 33 38 34 23 18 38 38 40 29 32
[19081] 29 37 36 32 24 19 21 34 34 32 28 28 37 29 20 20 29 36 40 21 25 21 37 18
[19105] 31 27 33 19 28 18 18 20 25 33 37 20 23 18 18 20 23 32 18 25 25 20 24 40
[19129] 25 27 36 33 30 33 38 30 23 19 33 29 40 38 22 22 30 28 35 37 39 18 30 38
[19153] 37 36 33 38 32 19 31 30 18 38 30 40 36 34 39 40 36 33 35 20 40 23 20 23
[19177] 32 32 39 38 36 33 18 38 34 33 26 18 31 23 37 25 20 19 21 23 37 26 22 33
[19201] 20 39 33 39 18 21 40 19 34 38 18 34 35 18 23 20 40 37 24 24 31 26 18 36
[19225] 29 39 37 36 34 38 37 30 23 22 24 35 18 26 39 22 35 30 22 23 28 35 18 23
[19249] 35 26 18 37 35 26 19 23 28 37 39 33 18 34 21 26 33 32 28 34 23 37 34 35
[19273] 18 32 26 30 23 40 34 36 22 26 31 27 31 33 20 33 22 33 27 39 38 29 36 21
[19297] 22 37 21 26 36 39 31 28 36 40 34 37 24 32 22 29 30 39 26 27 28 19 37 26
[19321] 37 32 21 21 26 39 22 27 31 18 27 19 27 22 37 34 40 22 38 38 30 32 25 35
[19345] 28 30 29 25 36 36 40 20 19 18 19 22 36 22 38 38 34 28 22 39 27 34 40 32
[19369] 24 31 22 37 22 36 33 19 38 34 27 39 36 40 35 38 20 28 38 24 18 39 24 33
[19393] 31 29 27 26 39 21 37 34 22 40 34 21 32 23 29 39 23 34 40 37 25 22 23 32
[19417] 27 35 39 38 34 25 33 39 35 21 18 37 40 20 32 39 22 38 33 39 31 39 28 22
[19441] 24 39 31 28 33 30 22 26 39 32 35 29 37 34 24 28 37 26 40 18 36 35 35 31
[19465] 33 24 37 28 38 34 18 33 25 31 38 24 22 37 19 19 26 23 37 26 28 29 35 34
[19489] 18 20 24 32 21 20 36 34 35 34 19 36 19 20 32 20 29 23 26 32 37 19 33 20
[19513] 33 32 25 18 25 36 32 32 19 30 29 40 32 19 24 28 32 31 28 26 29 38 32 21
[19537] 35 26 32 35 33 20 32 34 29 31 35 31 34 29 24 31 36 40 20 31 38 28 39 18
[19561] 29 29 29 18 19 30 36 18 29 36 33 34 32 20 34 36 40 39 27 31 36 30 28 37
[19585] 36 19 40 34 24 30 21 38 23 27 25 32 26 23 24 32 33 19 30 36 40 29 21 27
[19609] 29 37 24 36 30 28 21 26 28 19 26 39 30 18 21 32 18 37 25 34 21 34 19 31
[19633] 35 29 29 37 22 39 29 25 33 27 30 33 19 28 30 26 19 27 31 28 22 20 28 27
[19657] 33 34 35 30 18 37 27 25 33 27 32 25 27 35 26 20 22 19 39 21 28 23 35 40
[19681] 33 18 25 23 29 31 25 22 32 37 18 32 19 38 36 20 24 26 30 29 26 32 25 23
[19705] 36 18 21 37 24 22 27 29 26 40 30 29 39 28 33 38 32 36 30 37 28 21 35 35
[19729] 25 40 20 27 20 30 31 33 33 19 19 37 22 27 22 36 29 40 32 21 28 35 25 24
[19753] 33 35 31 21 35 22 37 40 37 18 32 26 23 40 21 19 34 20 19 40 34 21 24 36
[19777] 28 40 19 27 19 31 39 30 28 25 22 37 22 33 38 30 35 35 21 20 25 32 24 20
[19801] 21 22 20 32 23 25 36 35 28 37 36 27 18 33 32 37 28 38 36 37 32 18 19 33
[19825] 23 26 24 35 37 37 34 31 40 20 40 25 24 19 40 19 32 40 27 34 30 23 34 25
[19849] 20 33 19 18 32 30 35 25 21 21 32 37 26 22 26 30 25 27 19 19 31 19 21 31
[19873] 28 39 36 38 33 35 38 26 19 20 27 30 26 27 31 30 26 26 40 26 34 19 37 35
[19897] 36 28 34 30 39 31 25 40 20 38 29 23 38 33 21 39 27 23 18 39 27 22 19 29
[19921] 19 26 27 29 18 25 27 35 21 19 27 18 30 37 27 37 24 35 28 38 24 19 23 35
[19945] 31 27 27 39 27 39 32 25 20 32 28 27 29 37 28 31 39 22 26 22 29 30 34 31
[19969] 20 27 23 35 24 29 21 27 40 31 20 34 33 32 31 31 32 30 38 26 25 29 35 26
[19993] 36 26 27 26 21 31 33 21

$data.name
[1] "dades[, variable]"

$bad.obs
[1] 0

$all.stats
  i  Mean.i     SD.i Value Obs.Num    R.i+1 lambda.i+1 Outlier
1 0 29.0338 6.622458    18      73 1.666119   4.706884   FALSE

attr(,"class")
[1] "gofOutlier"
Code
test$all.stats
  i  Mean.i     SD.i Value Obs.Num    R.i+1 lambda.i+1 Outlier
1 0 29.0338 6.622458    18      73 1.666119   4.706884   FALSE

3.2 Multivariate

Hasta ahora hemos visto cada variable por separado. Sin embargo, a veces los outliers aparecen en combinación de variables.

Para detectarlos se pueden usar métodos como la distancia de Mahalanobis o algoritmos más avanzados de detección de anomalías.

Code
library(scatterplot3d)
library(readr)
dades <- readr::read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/forest-fires/forestfires.csv")
dades <- data.frame(dades[, c("DC", "temp", "RH")])
scatterplot3d(dades[,"DC"], dades[, "temp"],dades[, "RH"])

Code
library(rgl)

# Plot
rgl::plot3d(x = dades[, "DC"], y = dades[, "temp"], z = dades[, "RH"], 
col = "black", type = 'p', radius = .1)
Code
library(plotly)

(fig <- plotly::plot_ly(dades, x = ~DC, y = ~temp, z = ~RH, size = 1) %>% 
       add_markers())

3.2.1 Cas general

Code
library(mvoutlier)
dades2 <- dades; Y <- as.matrix(dades2)
distances <- dd.plot(Y,quan=1/2, alpha=0.025)

Code
head(distances$md.cla)
[1] 2.151205 1.337982 2.117212 3.824607 4.157557 1.021413
Code
head(distances$md.rob)
[1] 8.223442 1.637652 2.604928 8.696220 8.422537 2.417220
Code
res <- aq.plot(Y,delta=qchisq(0.975,df=ncol(Y)),quan=1/2,alpha=0.05)
Projection to the first and second robust principal components.
Proportion of total variation (explained variance): 0.9692463

Code
str(res)
List of 1
 $ outliers: logi [1:517] TRUE FALSE FALSE TRUE TRUE FALSE ...
Code
head(res$outliers)
[1]  TRUE FALSE FALSE  TRUE  TRUE FALSE
Code
table(res$outliers)

FALSE  TRUE 
  388   129 
Code
#windows()
par(mfrow=c(1, 1))
library(MVN)
# mvnoutliers <- mvn(dades, multivariateOutlierMethod = "adj", showOutliers = TRUE, 
#                   showNewData = TRUE)
mvnoutliers <- mvn(data = dades, mvn_test = "royston", 
                   univariate_test = "AD", 
              multivariate_outlier_method = "adj",
              show_new_data = TRUE)

Visualitzem tots els outliers detectats com a true

Code
head(summary(mvnoutliers, select = "outliers"))
    Observation Mahalanobis.Distance
1           466               95.620
2           464               92.910
3           105               92.347
4           284               91.668
5           465               91.312
6           285               90.872
7           448               89.349
8            76               85.582
9           177               85.110
10          197               85.110
11          395               84.820
12          166               82.912
13          379               82.172
14          412               80.371
15          418               80.180
16          394               79.742
17          203               79.121
18            4               79.053
19          467               78.658
20          240               78.246
21          469               76.910
22          391               76.746
23          468               76.551
24          470               76.236
25          119               75.377
26          388               75.344
27           62               75.271
28            5               73.796
29          117               73.244
30           98               73.243
31           49               72.952
32          443               72.902
33           97               72.889
34          396               71.492
35           59               71.469
36            1               71.192
37           60               70.684
38           20               70.109
39          471               69.553
40          183               69.161
41          305               68.417
42          191               68.156
43          127               67.840
44          277               67.386
45          278               67.386
46          279               67.386
47          280               67.386
48          517               67.373
49          380               67.118
50          106               66.945
51          111               66.582
52          116               66.430
53           78               66.389
54          115               65.699
55          132               65.676
56          411               65.587
57           73               65.387
58           77               65.351
59          408               65.339
60          241               65.243
61           61               65.055
62          187               65.055
63           17               65.028
64          133               64.804
65          118               64.776
66          242               63.968
67          169               63.822
68           40               63.798
69          220               63.737
70           50               63.488
71          214               63.488
72          223               63.488
73          135               63.471
74          147               63.165
75          202               62.350
76          190               62.077
77          282               62.062
78          189               61.798
79           19               61.726
80          112               61.540
81          446               61.359
82           70               61.172
83           92               61.051
84          161               60.679
85           90               60.596
86          215               60.585
87          216               60.585
88           71               60.301
89          163               59.452
90          107               58.594
91          131               58.351
92          472               56.439
93          205               55.917
94          281               47.755
95          300               47.138
96          283               44.684
97          473               40.862
98          274               40.080
99          276               38.049
100         275               37.750
101          23               33.308
102         224               30.706
103         303               30.572
104         304               30.572
105         297               28.501
106         474               27.684
107         298               26.969
108         144               24.440
109         301               23.821
110         444               23.544
111         287               23.359
112         302               22.481
113         479               21.975
114         139               21.533
115         400               20.893
116         401               20.893
117         212               19.743
118         475               18.348
119         476               15.110
120         436               14.908
121         152               14.508
122         299               13.807
123         500               13.600
124          41               13.455
125           8               13.137
126         295               12.864
127          99               12.083
$multivariate_normality
     Test Statistic p.value     Method          MVN
1 Royston   162.918  <0.001 asymptotic ✗ Not normal

$univariate_normality
              Test Variable Statistic p.value    Normality
1 Anderson-Darling       DC    43.098  <0.001 ✗ Not normal
2 Anderson-Darling     temp     1.812  <0.001 ✗ Not normal
3 Anderson-Darling       RH     7.871  <0.001 ✗ Not normal

$descriptives
  Variable   n    Mean Std.Dev Median  Min   Max  25th  75th   Skew Kurtosis
1       DC 517 547.940 248.066  664.2  7.9 860.6 437.7 713.9 -1.097    2.746
2     temp 517  18.889   5.807   19.3  2.2  33.3  15.5  22.8 -0.330    3.123
3       RH 517  44.288  16.317   42.0 15.0 100.0  33.0  53.0  0.860    3.422

$multivariate_outliers
    Observation Mahalanobis.Distance
1           466               95.620
2           464               92.910
3           105               92.347
4           284               91.668
5           465               91.312
6           285               90.872
7           448               89.349
8            76               85.582
9           177               85.110
10          197               85.110
11          395               84.820
12          166               82.912
13          379               82.172
14          412               80.371
15          418               80.180
16          394               79.742
17          203               79.121
18            4               79.053
19          467               78.658
20          240               78.246
21          469               76.910
22          391               76.746
23          468               76.551
24          470               76.236
25          119               75.377
26          388               75.344
27           62               75.271
28            5               73.796
29          117               73.244
30           98               73.243
31           49               72.952
32          443               72.902
33           97               72.889
34          396               71.492
35           59               71.469
36            1               71.192
37           60               70.684
38           20               70.109
39          471               69.553
40          183               69.161
41          305               68.417
42          191               68.156
43          127               67.840
44          277               67.386
45          278               67.386
46          279               67.386
47          280               67.386
48          517               67.373
49          380               67.118
50          106               66.945
51          111               66.582
52          116               66.430
53           78               66.389
54          115               65.699
55          132               65.676
56          411               65.587
57           73               65.387
58           77               65.351
59          408               65.339
60          241               65.243
61           61               65.055
62          187               65.055
63           17               65.028
64          133               64.804
65          118               64.776
66          242               63.968
67          169               63.822
68           40               63.798
69          220               63.737
70           50               63.488
71          214               63.488
72          223               63.488
73          135               63.471
74          147               63.165
75          202               62.350
76          190               62.077
77          282               62.062
78          189               61.798
79           19               61.726
80          112               61.540
81          446               61.359
82           70               61.172
83           92               61.051
84          161               60.679
85           90               60.596
86          215               60.585
87          216               60.585
88           71               60.301
89          163               59.452
90          107               58.594
91          131               58.351
92          472               56.439
93          205               55.917
94          281               47.755
95          300               47.138
96          283               44.684
97          473               40.862
98          274               40.080
99          276               38.049
100         275               37.750
101          23               33.308
102         224               30.706
103         303               30.572
104         304               30.572
105         297               28.501
106         474               27.684
107         298               26.969
108         144               24.440
109         301               23.821
110         444               23.544
111         287               23.359
112         302               22.481
113         479               21.975
114         139               21.533
115         400               20.893
116         401               20.893
117         212               19.743
118         475               18.348
119         476               15.110
120         436               14.908
121         152               14.508
122         299               13.807
123         500               13.600
124          41               13.455
125           8               13.137
126         295               12.864
127          99               12.083

$new_data
       DC temp RH
2   669.1 18.0 33
3   686.9 14.6 33
6   488.0 22.2 29
7   495.6 24.1 27
9   692.6 13.1 63
10  698.6 22.8 40
11  698.6 17.8 51
12  713.0 19.3 38
13  665.3 17.0 72
14  686.5 21.3 42
15  699.6 26.4 21
16  713.9 22.9 44
18  664.2 16.7 47
21  692.6 18.3 40
22  724.3 19.1 38
24  537.4 19.5 43
25  594.2 23.7 32
26  601.4 16.3 60
27  668.0 19.0 34
28  686.5 19.4 48
29  721.4 30.2 24
30  728.6 22.8 39
31  692.3 25.4 24
32  709.9 11.2 78
33  706.8 20.6 37
34  718.3 17.7 39
35  724.3 21.2 32
36  730.2 18.2 62
37  669.1 21.7 24
38  682.6 11.3 60
39  686.9 17.8 27
42  624.2 18.4 42
43  647.1 16.6 54
44  698.6 19.6 48
45  735.7 12.9 74
46  692.3 25.9 24
47  686.5 14.7 70
48  442.9 23.0 36
51  706.4 20.8 17
52  631.2 21.5 34
53  654.1 20.4 42
54  654.1 20.4 42
55  661.3 17.6 45
56  706.4 27.7 24
57  730.2 17.8 63
58  691.8 13.8 50
63  466.6 18.8 35
64  631.2 20.8 33
65  638.8 23.1 31
66  661.3 18.6 44
67  668.0 23.0 37
68  668.0 19.6 33
69  668.0 19.6 33
72  692.3 17.7 37
74  614.5 17.3 43
75  713.9 27.6 30
79  529.8 14.7 66
80  561.6 21.6 19
81  601.4 19.5 39
82  631.2 17.9 44
83  647.1 18.6 51
84  654.1 16.6 47
85  661.3 20.2 45
86  706.4 21.5 15
87  706.4 25.4 27
88  706.4 22.4 34
89  728.6 25.3 36
91  624.2 14.7 59
93  488.0 20.8 32
94  601.4 18.2 43
95  638.8 23.4 22
96  704.4 17.8 64
100 601.4 19.8 39
101 601.4 19.8 39
102 614.5 14.4 66
103 647.1 20.1 40
104 674.4 24.1 29
108 631.2 21.4 33
109 698.6 20.3 45
110 709.9 17.4 56
113 704.4 22.8 39
114 724.3 18.9 35
120 466.6 19.6 36
121 608.2 10.3 74
122 608.2 17.1 43
123 680.7 22.5 42
124 671.9 17.9 45
125 692.3 19.8 50
126 691.8 20.6 24
128 728.6 17.2 43
129 673.8 15.9 46
130 691.8 15.4 35
134 685.2 17.6 42
136 594.2 17.6 52
137 680.7 17.2 58
138 686.5 15.6 66
140 692.6 21.7 38
141 686.5 21.9 39
142 513.3 23.3 31
143 529.8 21.2 51
145 513.3 23.8 32
146 578.8 27.4 22
148 671.9 24.2 28
149 647.1 17.4 43
150 685.2 23.7 25
151 433.3 23.2 39
153 424.1 24.6 43
154 692.3 20.1 47
155 721.4 29.6 27
156 647.1 16.4 47
157 721.4 28.6 27
158 654.1 18.4 45
159 654.1 20.5 35
160 668.0 19.0 34
162 578.8 20.3 41
164 674.4 17.8 56
165 704.4 17.8 67
167 654.1 16.6 47
168 570.5 23.4 33
170 578.8 20.7 45
171 699.6 21.9 35
172 609.6 17.4 50
173 601.4 20.1 39
174 686.5 17.7 39
175 624.2 14.2 53
176 624.2 20.3 39
178 631.2 19.2 44
179 735.7 18.3 45
180 614.5 14.4 66
181 680.7 23.9 32
182 664.2 19.1 32
184 696.1 16.8 45
185 586.7 20.8 34
186 692.6 17.6 46
188 686.5 21.0 42
192 578.8 24.2 28
193 647.1 24.6 22
194 699.6 24.3 25
195 647.1 24.6 22
196 586.7 23.5 36
198 706.4 21.5 15
199 692.6 13.9 59
200 665.3 22.6 38
201 692.6 21.6 33
204 673.8 20.2 37
206 706.4 22.1 34
207 594.2 22.9 31
208 692.6 20.7 37
209 668.0 19.6 33
210 685.2 23.2 26
211 686.9 18.4 25
213 692.3 20.1 47
217 680.7 16.9 60
218 709.9 12.4 73
219 699.6 19.4 19
221 631.2 16.2 59
222 713.9 18.6 49
225 735.7 15.4 57
226 728.6 22.9 39
227 696.1 16.1 44
228 480.8 20.1 34
229 728.6 28.3 26
230 480.8 16.4 43
231 699.6 26.4 21
232 728.6 27.8 27
233 692.6 18.7 43
234 671.9 24.3 36
235 674.4 17.7 25
236 601.4 19.6 41
237 674.4 18.2 46
238 692.6 18.8 40
239 674.4 25.1 27
243 589.9 15.4 66
244 700.7 21.9 73
245 700.7 22.4 54
246 700.7 26.8 38
247 700.7 25.7 39
248 503.6 20.7 70
249 666.7 28.7 28
250 666.7 21.7 40
251 666.7 26.8 25
252 666.7 24.0 36
253 666.7 22.1 37
254 565.5 21.4 38
255 621.7 18.9 41
256 694.8 22.3 46
257 581.1 23.9 41
258 581.1 21.4 44
259 692.3 20.6 59
260 692.3 23.7 40
261 542.0 28.3 32
262 573.0 11.2 84
263 573.0 21.4 42
264 629.1 19.3 39
265 684.4 21.8 53
266 550.3 22.1 54
267 607.1 19.4 55
268 658.2 23.7 24
269 658.2 21.0 32
270 658.2 19.1 53
271 658.2 21.8 56
272 658.2 20.1 58
273 658.2 20.2 47
286 411.8 23.4 40
288 474.9 22.1 49
289 474.9 24.2 32
290 474.9 24.3 30
291 474.9 18.7 53
292 474.9 25.3 39
293 466.3 22.9 40
294 430.8 26.9 28
296 430.8 22.2 48
306 714.3 19.0 52
307 714.3 17.1 53
308 714.3 23.8 35
309 758.1 16.0 45
310 758.1 24.9 27
311 758.1 25.3 27
312 758.1 24.8 28
313 706.6 12.2 78
314 777.1 24.3 27
315 777.1 19.7 41
316 817.5 18.5 30
317 739.4 18.6 24
318 739.4 19.2 24
319 783.5 21.6 27
320 783.5 21.6 28
321 783.5 18.9 34
322 783.5 16.8 28
323 783.5 16.8 28
324 822.8 12.9 39
325 726.9 13.7 56
326 751.5 24.2 27
327 751.5 24.1 27
328 751.5 21.2 32
329 751.5 19.7 35
330 751.5 23.5 27
331 751.5 24.2 27
332 795.3 21.5 28
333 795.3 17.1 41
334 721.1 18.1 54
335 764.0 18.0 51
336 764.0  9.8 86
337 764.0 19.3 44
338 764.0 23.0 34
339 764.0 22.7 35
340 764.0 20.4 41
341 764.0 19.3 44
342 770.3 15.7 51
343 807.1 20.6 37
344 807.1 15.9 51
345 807.1 12.2 66
346 807.1 16.8 43
347 807.1 21.3 35
348 745.3 10.1 75
349 745.3 17.4 57
350 745.3 12.8 64
351 745.3 10.1 75
352 745.3 15.4 53
353 745.3 20.6 43
354 745.3 19.8 47
355 745.3 18.7 50
356 745.3 20.8 35
357 745.3 20.8 35
358 789.7 15.9 55
359 789.7 19.7 39
360 789.7 21.1 39
361 789.7 18.4 42
362 789.7 17.3 45
363 732.3 15.2 64
364 770.3 15.9 53
365 770.3 21.1 35
366 770.3 19.6 45
367 812.1 15.9 38
368 812.1 16.4 27
369 744.4 16.8 47
370 825.1 13.8 77
371 825.1 13.8 77
372 520.5 14.2 58
373 664.5 10.4 75
374 698.6 20.3 42
375 855.3 10.3 78
376 744.4 15.4 57
377 672.6 21.1 54
378 715.1 21.9 42
381 458.8 19.3 39
382 643.0 16.2 63
383 690.0 28.2 29
384 753.8 20.5 58
385 819.1 21.3 44
386 613.0 20.9 50
387 750.5 20.6 55
389 706.7 23.3 34
390 706.7 23.3 34
392 738.1 20.7 46
393 825.1 21.9 43
397 750.5 20.4 55
398 613.0 24.3 33
399 715.1 25.9 32
402 731.7 22.8 46
403 706.7 25.0 36
404 643.0 21.3 41
405 725.1 21.8 34
406 680.9 27.9 27
407 860.6 17.0 67
409 855.3 19.9 44
410 450.2 23.4 31
413 442.1 22.8 27
414 715.1 26.4 33
415 723.1 24.1 50
416 698.6 27.5 27
417 575.8 26.3 39
419 664.5 24.9 42
420 613.0 24.8 36
421 635.9 26.2 36
422 690.0 30.8 19
423 795.9 29.3 27
424 744.4 22.3 48
425 715.1 26.9 31
426 753.8 20.4 56
427 753.8 20.4 56
428 672.6 27.9 33
429 698.6 26.2 34
430 613.0 24.6 44
431 849.3 19.4 45
432 605.3 23.3 40
433 698.6 23.9 38
434 723.1 20.9 66
435 811.2 22.2 45
437 672.6 26.8 35
438 768.4 14.2 73
439 715.1 23.6 53
440 738.1 19.1 46
441 855.3 16.2 58
442 672.6 25.5 29
445 855.3 16.2 58
447 664.5 19.1 70
449 844.0 10.5 77
450 613.0 19.3 61
451 690.0 23.4 49
452 649.9 11.8 88
453 730.6 17.7 65
454 803.3 17.4 54
455 753.8 16.8 56
456 567.2 17.9 48
457 753.8 16.6 59
458 635.9 19.9 50
459 715.1 18.9 64
460 819.1 15.5 72
461 715.1 18.9 64
462 715.1 18.9 64
463 825.1 14.5 76
477 395.0 27.2 28
478 423.4 26.1 45
480 431.6 22.6 57
481 560.0 30.2 25
482 560.0 30.2 22
483 587.1 23.4 40
484 587.1 31.0 27
485 587.1 33.1 25
486 596.3 30.6 28
487 605.8 24.1 43
488 605.8 26.4 34
489 605.8 19.4 71
490 605.8 20.6 58
491 605.8 28.7 33
492 624.1 32.4 21
493 633.6 32.4 27
494 633.6 27.5 29
495 643.0 30.8 30
496 661.8 23.9 42
497 661.8 32.6 26
498 671.2 32.3 27
499 671.2 33.3 26
501 671.2 21.6 65
502 671.2 21.6 65
503 671.2 20.7 69
504 689.1 29.2 30
505 689.1 28.9 29
506 744.4 26.7 35
507 752.6 18.5 73
508 752.6 25.9 41
509 752.6 25.9 41
510 752.6 21.1 71
511 752.6 18.2 62
512 665.6 27.8 35
513 665.6 27.8 32
514 665.6 21.9 71
515 665.6 21.2 70
516 614.7 25.6 42

$data
       DC temp  RH
1    94.3  8.2  51
2   669.1 18.0  33
3   686.9 14.6  33
4    77.5  8.3  97
5   102.2 11.4  99
6   488.0 22.2  29
7   495.6 24.1  27
8   608.2  8.0  86
9   692.6 13.1  63
10  698.6 22.8  40
11  698.6 17.8  51
12  713.0 19.3  38
13  665.3 17.0  72
14  686.5 21.3  42
15  699.6 26.4  21
16  713.9 22.9  44
17   80.8 15.1  27
18  664.2 16.7  47
19   70.8 15.9  35
20   97.1  9.3  44
21  692.6 18.3  40
22  724.3 19.1  38
23  200.0 21.0  44
24  537.4 19.5  43
25  594.2 23.7  32
26  601.4 16.3  60
27  668.0 19.0  34
28  686.5 19.4  48
29  721.4 30.2  24
30  728.6 22.8  39
31  692.3 25.4  24
32  709.9 11.2  78
33  706.8 20.6  37
34  718.3 17.7  39
35  724.3 21.2  32
36  730.2 18.2  62
37  669.1 21.7  24
38  682.6 11.3  60
39  686.9 17.8  27
40   67.6 14.1  43
41  366.7 23.3  37
42  624.2 18.4  42
43  647.1 16.6  54
44  698.6 19.6  48
45  735.7 12.9  74
46  692.3 25.9  24
47  686.5 14.7  70
48  442.9 23.0  36
49   64.7 11.8  35
50  103.8 11.0  46
51  706.4 20.8  17
52  631.2 21.5  34
53  654.1 20.4  42
54  654.1 20.4  42
55  661.3 17.6  45
56  706.4 27.7  24
57  730.2 17.8  63
58  691.8 13.8  50
59   34.0 13.9  40
60   43.0 12.3  51
61  102.2 11.5  39
62  102.2  5.5  59
63  466.6 18.8  35
64  631.2 20.8  33
65  638.8 23.1  31
66  661.3 18.6  44
67  668.0 23.0  37
68  668.0 19.6  33
69  668.0 19.6  33
70   77.5 17.2  26
71   97.8 15.8  27
72  692.3 17.7  37
73   77.5 15.6  25
74  614.5 17.3  43
75  713.9 27.6  30
76   26.6  6.7  79
77   43.0 15.7  43
78  103.8  8.3  72
79  529.8 14.7  66
80  561.6 21.6  19
81  601.4 19.5  39
82  631.2 17.9  44
83  647.1 18.6  51
84  654.1 16.6  47
85  661.3 20.2  45
86  706.4 21.5  15
87  706.4 25.4  27
88  706.4 22.4  34
89  728.6 25.3  36
90   80.8 17.4  25
91  624.2 14.7  59
92   80.8 17.4  24
93  488.0 20.8  32
94  601.4 18.2  43
95  638.8 23.4  22
96  704.4 17.8  64
97   30.2 12.7  48
98   15.5 17.4  24
99  601.4 11.6  87
100 601.4 19.8  39
101 601.4 19.8  39
102 614.5 14.4  66
103 647.1 20.1  40
104 674.4 24.1  29
105   9.3  5.3  78
106  57.3 12.7  52
107  74.3 18.2  29
108 631.2 21.4  33
109 698.6 20.3  45
110 709.9 17.4  56
111  57.3 13.7  43
112  77.5 18.8  18
113 704.4 22.8  39
114 724.3 18.9  35
115  67.6 15.8  27
116  67.6 15.5  27
117  80.8 11.6  30
118  80.8 15.2  27
119  86.6 10.6  30
120 466.6 19.6  36
121 608.2 10.3  74
122 608.2 17.1  43
123 680.7 22.5  42
124 671.9 17.9  45
125 692.3 19.8  50
126 691.8 20.6  24
127 103.8  9.0  49
128 728.6 17.2  43
129 673.8 15.9  46
130 691.8 15.4  35
131  87.2 15.4  40
132  64.7 14.0  39
133 102.2 10.6  46
134 685.2 17.6  42
135  67.6 14.9  38
136 594.2 17.6  52
137 680.7 17.2  58
138 686.5 15.6  66
139 313.4 18.0  42
140 692.6 21.7  38
141 686.5 21.9  39
142 513.3 23.3  31
143 529.8 21.2  51
144 296.3 16.6  53
145 513.3 23.8  32
146 578.8 27.4  22
147  86.6 13.2  40
148 671.9 24.2  28
149 647.1 17.4  43
150 685.2 23.7  25
151 433.3 23.2  39
152 355.2 24.8  29
153 424.1 24.6  43
154 692.3 20.1  47
155 721.4 29.6  27
156 647.1 16.4  47
157 721.4 28.6  27
158 654.1 18.4  45
159 654.1 20.5  35
160 668.0 19.0  34
161  86.6 16.1  29
162 578.8 20.3  41
163 100.4 15.2  31
164 674.4 17.8  56
165 704.4 17.8  67
166  55.0  5.3  70
167 654.1 16.6  47
168 570.5 23.4  33
169  97.8 14.6  26
170 578.8 20.7  45
171 699.6 21.9  35
172 609.6 17.4  50
173 601.4 20.1  39
174 686.5 17.7  39
175 624.2 14.2  53
176 624.2 20.3  39
177  55.2  5.8  54
178 631.2 19.2  44
179 735.7 18.3  45
180 614.5 14.4  66
181 680.7 23.9  32
182 664.2 19.1  32
183  48.3 12.4  53
184 696.1 16.8  45
185 586.7 20.8  34
186 692.6 17.6  46
187 102.2 11.5  39
188 686.5 21.0  42
189  89.4 13.3  42
190  92.4 11.5  60
191  97.8 11.7  33
192 578.8 24.2  28
193 647.1 24.6  22
194 699.6 24.3  25
195 647.1 24.6  22
196 586.7 23.5  36
197  55.2  5.8  54
198 706.4 21.5  15
199 692.6 13.9  59
200 665.3 22.6  38
201 692.6 21.6  33
202  83.7 12.4  54
203  32.1  8.8  68
204 673.8 20.2  37
205 100.4 15.1  64
206 706.4 22.1  34
207 594.2 22.9  31
208 692.6 20.7  37
209 668.0 19.6  33
210 685.2 23.2  26
211 686.9 18.4  25
212 594.2  5.1  96
213 692.3 20.1  47
214 103.8 11.0  46
215  80.8 17.0  27
216  80.8 17.0  27
217 680.7 16.9  60
218 709.9 12.4  73
219 699.6 19.4  19
220  86.6 15.2  27
221 631.2 16.2  59
222 713.9 18.6  49
223 103.8 11.0  46
224 309.9 13.4  79
225 735.7 15.4  57
226 728.6 22.9  39
227 696.1 16.1  44
228 480.8 20.1  34
229 728.6 28.3  26
230 480.8 16.4  43
231 699.6 26.4  21
232 728.6 27.8  27
233 692.6 18.7  43
234 671.9 24.3  36
235 674.4 17.7  25
236 601.4 19.6  41
237 674.4 18.2  46
238 692.6 18.8  40
239 674.4 25.1  27
240   7.9 13.4  75
241  43.5 15.2  51
242  85.3 16.7  20
243 589.9 15.4  66
244 700.7 21.9  73
245 700.7 22.4  54
246 700.7 26.8  38
247 700.7 25.7  39
248 503.6 20.7  70
249 666.7 28.7  28
250 666.7 21.7  40
251 666.7 26.8  25
252 666.7 24.0  36
253 666.7 22.1  37
254 565.5 21.4  38
255 621.7 18.9  41
256 694.8 22.3  46
257 581.1 23.9  41
258 581.1 21.4  44
259 692.3 20.6  59
260 692.3 23.7  40
261 542.0 28.3  32
262 573.0 11.2  84
263 573.0 21.4  42
264 629.1 19.3  39
265 684.4 21.8  53
266 550.3 22.1  54
267 607.1 19.4  55
268 658.2 23.7  24
269 658.2 21.0  32
270 658.2 19.1  53
271 658.2 21.8  56
272 658.2 20.1  58
273 658.2 20.2  47
274 353.5  4.8  57
275 354.6  5.1  61
276 352.0  5.1  61
277 349.7  4.6  21
278 349.7  4.6  21
279 349.7  4.6  21
280 349.7  4.6  21
281 352.6  2.2  59
282 349.7  5.1  24
283 353.5  4.2  51
284  18.7  8.8  35
285  15.8  7.5  46
286 411.8 23.4  40
287 437.7 12.6  90
288 474.9 22.1  49
289 474.9 24.2  32
290 474.9 24.3  30
291 474.9 18.7  53
292 474.9 25.3  39
293 466.3 22.9  40
294 430.8 26.9  28
295 440.9 17.1  67
296 430.8 22.2  48
297 290.8 14.3  46
298 290.8 15.4  45
299 377.2 19.6  43
300 233.8 10.6  90
301 298.1 20.7  25
302 298.1 19.1  39
303 232.1 19.2  38
304 232.1 19.2  38
305 113.8 11.3  94
306 714.3 19.0  52
307 714.3 17.1  53
308 714.3 23.8  35
309 758.1 16.0  45
310 758.1 24.9  27
311 758.1 25.3  27
312 758.1 24.8  28
313 706.6 12.2  78
314 777.1 24.3  27
315 777.1 19.7  41
316 817.5 18.5  30
317 739.4 18.6  24
318 739.4 19.2  24
319 783.5 21.6  27
320 783.5 21.6  28
321 783.5 18.9  34
322 783.5 16.8  28
323 783.5 16.8  28
324 822.8 12.9  39
325 726.9 13.7  56
326 751.5 24.2  27
327 751.5 24.1  27
328 751.5 21.2  32
329 751.5 19.7  35
330 751.5 23.5  27
331 751.5 24.2  27
332 795.3 21.5  28
333 795.3 17.1  41
334 721.1 18.1  54
335 764.0 18.0  51
336 764.0  9.8  86
337 764.0 19.3  44
338 764.0 23.0  34
339 764.0 22.7  35
340 764.0 20.4  41
341 764.0 19.3  44
342 770.3 15.7  51
343 807.1 20.6  37
344 807.1 15.9  51
345 807.1 12.2  66
346 807.1 16.8  43
347 807.1 21.3  35
348 745.3 10.1  75
349 745.3 17.4  57
350 745.3 12.8  64
351 745.3 10.1  75
352 745.3 15.4  53
353 745.3 20.6  43
354 745.3 19.8  47
355 745.3 18.7  50
356 745.3 20.8  35
357 745.3 20.8  35
358 789.7 15.9  55
359 789.7 19.7  39
360 789.7 21.1  39
361 789.7 18.4  42
362 789.7 17.3  45
363 732.3 15.2  64
364 770.3 15.9  53
365 770.3 21.1  35
366 770.3 19.6  45
367 812.1 15.9  38
368 812.1 16.4  27
369 744.4 16.8  47
370 825.1 13.8  77
371 825.1 13.8  77
372 520.5 14.2  58
373 664.5 10.4  75
374 698.6 20.3  42
375 855.3 10.3  78
376 744.4 15.4  57
377 672.6 21.1  54
378 715.1 21.9  42
379  30.6  8.7  51
380 171.4  5.2 100
381 458.8 19.3  39
382 643.0 16.2  63
383 690.0 28.2  29
384 753.8 20.5  58
385 819.1 21.3  44
386 613.0 20.9  50
387 750.5 20.6  55
388  30.6 11.6  48
389 706.7 23.3  34
390 706.7 23.3  34
391  58.3  7.5  71
392 738.1 20.7  46
393 825.1 21.9  43
394  25.6 15.2  19
395  46.7  5.3  68
396  56.9 10.1  62
397 750.5 20.4  55
398 613.0 24.3  33
399 715.1 25.9  32
400 297.7 28.0  34
401 297.7 28.0  34
402 731.7 22.8  46
403 706.7 25.0  36
404 643.0 21.3  41
405 725.1 21.8  34
406 680.9 27.9  27
407 860.6 17.0  67
408  55.0 14.2  46
409 855.3 19.9  44
410 450.2 23.4  31
411  52.8 14.7  42
412  43.6  8.2  53
413 442.1 22.8  27
414 715.1 26.4  33
415 723.1 24.1  50
416 698.6 27.5  27
417 575.8 26.3  39
418  28.3 13.8  24
419 664.5 24.9  42
420 613.0 24.8  36
421 635.9 26.2  36
422 690.0 30.8  19
423 795.9 29.3  27
424 744.4 22.3  48
425 715.1 26.9  31
426 753.8 20.4  56
427 753.8 20.4  56
428 672.6 27.9  33
429 698.6 26.2  34
430 613.0 24.6  44
431 849.3 19.4  45
432 605.3 23.3  40
433 698.6 23.9  38
434 723.1 20.9  66
435 811.2 22.2  45
436 376.6 23.8  51
437 672.6 26.8  35
438 768.4 14.2  73
439 715.1 23.6  53
440 738.1 19.1  46
441 855.3 16.2  58
442 672.6 25.5  29
443  41.6 10.9  64
444 368.3 14.8  78
445 855.3 16.2  58
446 100.7 17.3  80
447 664.5 19.1  70
448  28.3  8.9  35
449 844.0 10.5  77
450 613.0 19.3  61
451 690.0 23.4  49
452 649.9 11.8  88
453 730.6 17.7  65
454 803.3 17.4  54
455 753.8 16.8  56
456 567.2 17.9  48
457 753.8 16.6  59
458 635.9 19.9  50
459 715.1 18.9  64
460 819.1 15.5  72
461 715.1 18.9  64
462 715.1 18.9  64
463 825.1 14.5  76
464  16.2  4.6  82
465  16.2  5.1  77
466  15.3  4.6  59
467  36.9 10.2  45
468  41.1 11.2  41
469  43.5 13.3  27
470  25.6 13.7  33
471  25.6 17.6  27
472  73.7 18.0  40
473 229.0 14.3  79
474 252.6 24.5  50
475 316.7 26.4  35
476 350.2 22.7  40
477 395.0 27.2  28
478 423.4 26.1  45
479 423.4 18.2  82
480 431.6 22.6  57
481 560.0 30.2  25
482 560.0 30.2  22
483 587.1 23.4  40
484 587.1 31.0  27
485 587.1 33.1  25
486 596.3 30.6  28
487 605.8 24.1  43
488 605.8 26.4  34
489 605.8 19.4  71
490 605.8 20.6  58
491 605.8 28.7  33
492 624.1 32.4  21
493 633.6 32.4  27
494 633.6 27.5  29
495 643.0 30.8  30
496 661.8 23.9  42
497 661.8 32.6  26
498 671.2 32.3  27
499 671.2 33.3  26
500 671.2 27.3  63
501 671.2 21.6  65
502 671.2 21.6  65
503 671.2 20.7  69
504 689.1 29.2  30
505 689.1 28.9  29
506 744.4 26.7  35
507 752.6 18.5  73
508 752.6 25.9  41
509 752.6 25.9  41
510 752.6 21.1  71
511 752.6 18.2  62
512 665.6 27.8  35
513 665.6 27.8  32
514 665.6 21.9  71
515 665.6 21.2  70
516 614.7 25.6  42
517 106.7 11.8  31

Visualitzem les variables originals quines han donat els que no son outliers

Code
head(summary(mvnoutliers, select = "new_data"))
       DC temp RH
2   669.1 18.0 33
3   686.9 14.6 33
6   488.0 22.2 29
7   495.6 24.1 27
9   692.6 13.1 63
10  698.6 22.8 40
11  698.6 17.8 51
12  713.0 19.3 38
13  665.3 17.0 72
14  686.5 21.3 42
15  699.6 26.4 21
16  713.9 22.9 44
18  664.2 16.7 47
21  692.6 18.3 40
22  724.3 19.1 38
24  537.4 19.5 43
25  594.2 23.7 32
26  601.4 16.3 60
27  668.0 19.0 34
28  686.5 19.4 48
29  721.4 30.2 24
30  728.6 22.8 39
31  692.3 25.4 24
32  709.9 11.2 78
33  706.8 20.6 37
34  718.3 17.7 39
35  724.3 21.2 32
36  730.2 18.2 62
37  669.1 21.7 24
38  682.6 11.3 60
39  686.9 17.8 27
42  624.2 18.4 42
43  647.1 16.6 54
44  698.6 19.6 48
45  735.7 12.9 74
46  692.3 25.9 24
47  686.5 14.7 70
48  442.9 23.0 36
51  706.4 20.8 17
52  631.2 21.5 34
53  654.1 20.4 42
54  654.1 20.4 42
55  661.3 17.6 45
56  706.4 27.7 24
57  730.2 17.8 63
58  691.8 13.8 50
63  466.6 18.8 35
64  631.2 20.8 33
65  638.8 23.1 31
66  661.3 18.6 44
67  668.0 23.0 37
68  668.0 19.6 33
69  668.0 19.6 33
72  692.3 17.7 37
74  614.5 17.3 43
75  713.9 27.6 30
79  529.8 14.7 66
80  561.6 21.6 19
81  601.4 19.5 39
82  631.2 17.9 44
83  647.1 18.6 51
84  654.1 16.6 47
85  661.3 20.2 45
86  706.4 21.5 15
87  706.4 25.4 27
88  706.4 22.4 34
89  728.6 25.3 36
91  624.2 14.7 59
93  488.0 20.8 32
94  601.4 18.2 43
95  638.8 23.4 22
96  704.4 17.8 64
100 601.4 19.8 39
101 601.4 19.8 39
102 614.5 14.4 66
103 647.1 20.1 40
104 674.4 24.1 29
108 631.2 21.4 33
109 698.6 20.3 45
110 709.9 17.4 56
113 704.4 22.8 39
114 724.3 18.9 35
120 466.6 19.6 36
121 608.2 10.3 74
122 608.2 17.1 43
123 680.7 22.5 42
124 671.9 17.9 45
125 692.3 19.8 50
126 691.8 20.6 24
128 728.6 17.2 43
129 673.8 15.9 46
130 691.8 15.4 35
134 685.2 17.6 42
136 594.2 17.6 52
137 680.7 17.2 58
138 686.5 15.6 66
140 692.6 21.7 38
141 686.5 21.9 39
142 513.3 23.3 31
143 529.8 21.2 51
145 513.3 23.8 32
146 578.8 27.4 22
148 671.9 24.2 28
149 647.1 17.4 43
150 685.2 23.7 25
151 433.3 23.2 39
153 424.1 24.6 43
154 692.3 20.1 47
155 721.4 29.6 27
156 647.1 16.4 47
157 721.4 28.6 27
158 654.1 18.4 45
159 654.1 20.5 35
160 668.0 19.0 34
162 578.8 20.3 41
164 674.4 17.8 56
165 704.4 17.8 67
167 654.1 16.6 47
168 570.5 23.4 33
170 578.8 20.7 45
171 699.6 21.9 35
172 609.6 17.4 50
173 601.4 20.1 39
174 686.5 17.7 39
175 624.2 14.2 53
176 624.2 20.3 39
178 631.2 19.2 44
179 735.7 18.3 45
180 614.5 14.4 66
181 680.7 23.9 32
182 664.2 19.1 32
184 696.1 16.8 45
185 586.7 20.8 34
186 692.6 17.6 46
188 686.5 21.0 42
192 578.8 24.2 28
193 647.1 24.6 22
194 699.6 24.3 25
195 647.1 24.6 22
196 586.7 23.5 36
198 706.4 21.5 15
199 692.6 13.9 59
200 665.3 22.6 38
201 692.6 21.6 33
204 673.8 20.2 37
206 706.4 22.1 34
207 594.2 22.9 31
208 692.6 20.7 37
209 668.0 19.6 33
210 685.2 23.2 26
211 686.9 18.4 25
213 692.3 20.1 47
217 680.7 16.9 60
218 709.9 12.4 73
219 699.6 19.4 19
221 631.2 16.2 59
222 713.9 18.6 49
225 735.7 15.4 57
226 728.6 22.9 39
227 696.1 16.1 44
228 480.8 20.1 34
229 728.6 28.3 26
230 480.8 16.4 43
231 699.6 26.4 21
232 728.6 27.8 27
233 692.6 18.7 43
234 671.9 24.3 36
235 674.4 17.7 25
236 601.4 19.6 41
237 674.4 18.2 46
238 692.6 18.8 40
239 674.4 25.1 27
243 589.9 15.4 66
244 700.7 21.9 73
245 700.7 22.4 54
246 700.7 26.8 38
247 700.7 25.7 39
248 503.6 20.7 70
249 666.7 28.7 28
250 666.7 21.7 40
251 666.7 26.8 25
252 666.7 24.0 36
253 666.7 22.1 37
254 565.5 21.4 38
255 621.7 18.9 41
256 694.8 22.3 46
257 581.1 23.9 41
258 581.1 21.4 44
259 692.3 20.6 59
260 692.3 23.7 40
261 542.0 28.3 32
262 573.0 11.2 84
263 573.0 21.4 42
264 629.1 19.3 39
265 684.4 21.8 53
266 550.3 22.1 54
267 607.1 19.4 55
268 658.2 23.7 24
269 658.2 21.0 32
270 658.2 19.1 53
271 658.2 21.8 56
272 658.2 20.1 58
273 658.2 20.2 47
286 411.8 23.4 40
288 474.9 22.1 49
289 474.9 24.2 32
290 474.9 24.3 30
291 474.9 18.7 53
292 474.9 25.3 39
293 466.3 22.9 40
294 430.8 26.9 28
296 430.8 22.2 48
306 714.3 19.0 52
307 714.3 17.1 53
308 714.3 23.8 35
309 758.1 16.0 45
310 758.1 24.9 27
311 758.1 25.3 27
312 758.1 24.8 28
313 706.6 12.2 78
314 777.1 24.3 27
315 777.1 19.7 41
316 817.5 18.5 30
317 739.4 18.6 24
318 739.4 19.2 24
319 783.5 21.6 27
320 783.5 21.6 28
321 783.5 18.9 34
322 783.5 16.8 28
323 783.5 16.8 28
324 822.8 12.9 39
325 726.9 13.7 56
326 751.5 24.2 27
327 751.5 24.1 27
328 751.5 21.2 32
329 751.5 19.7 35
330 751.5 23.5 27
331 751.5 24.2 27
332 795.3 21.5 28
333 795.3 17.1 41
334 721.1 18.1 54
335 764.0 18.0 51
336 764.0  9.8 86
337 764.0 19.3 44
338 764.0 23.0 34
339 764.0 22.7 35
340 764.0 20.4 41
341 764.0 19.3 44
342 770.3 15.7 51
343 807.1 20.6 37
344 807.1 15.9 51
345 807.1 12.2 66
346 807.1 16.8 43
347 807.1 21.3 35
348 745.3 10.1 75
349 745.3 17.4 57
350 745.3 12.8 64
351 745.3 10.1 75
352 745.3 15.4 53
353 745.3 20.6 43
354 745.3 19.8 47
355 745.3 18.7 50
356 745.3 20.8 35
357 745.3 20.8 35
358 789.7 15.9 55
359 789.7 19.7 39
360 789.7 21.1 39
361 789.7 18.4 42
362 789.7 17.3 45
363 732.3 15.2 64
364 770.3 15.9 53
365 770.3 21.1 35
366 770.3 19.6 45
367 812.1 15.9 38
368 812.1 16.4 27
369 744.4 16.8 47
370 825.1 13.8 77
371 825.1 13.8 77
372 520.5 14.2 58
373 664.5 10.4 75
374 698.6 20.3 42
375 855.3 10.3 78
376 744.4 15.4 57
377 672.6 21.1 54
378 715.1 21.9 42
381 458.8 19.3 39
382 643.0 16.2 63
383 690.0 28.2 29
384 753.8 20.5 58
385 819.1 21.3 44
386 613.0 20.9 50
387 750.5 20.6 55
389 706.7 23.3 34
390 706.7 23.3 34
392 738.1 20.7 46
393 825.1 21.9 43
397 750.5 20.4 55
398 613.0 24.3 33
399 715.1 25.9 32
402 731.7 22.8 46
403 706.7 25.0 36
404 643.0 21.3 41
405 725.1 21.8 34
406 680.9 27.9 27
407 860.6 17.0 67
409 855.3 19.9 44
410 450.2 23.4 31
413 442.1 22.8 27
414 715.1 26.4 33
415 723.1 24.1 50
416 698.6 27.5 27
417 575.8 26.3 39
419 664.5 24.9 42
420 613.0 24.8 36
421 635.9 26.2 36
422 690.0 30.8 19
423 795.9 29.3 27
424 744.4 22.3 48
425 715.1 26.9 31
426 753.8 20.4 56
427 753.8 20.4 56
428 672.6 27.9 33
429 698.6 26.2 34
430 613.0 24.6 44
431 849.3 19.4 45
432 605.3 23.3 40
433 698.6 23.9 38
434 723.1 20.9 66
435 811.2 22.2 45
437 672.6 26.8 35
438 768.4 14.2 73
439 715.1 23.6 53
440 738.1 19.1 46
441 855.3 16.2 58
442 672.6 25.5 29
445 855.3 16.2 58
447 664.5 19.1 70
449 844.0 10.5 77
450 613.0 19.3 61
451 690.0 23.4 49
452 649.9 11.8 88
453 730.6 17.7 65
454 803.3 17.4 54
455 753.8 16.8 56
456 567.2 17.9 48
457 753.8 16.6 59
458 635.9 19.9 50
459 715.1 18.9 64
460 819.1 15.5 72
461 715.1 18.9 64
462 715.1 18.9 64
463 825.1 14.5 76
477 395.0 27.2 28
478 423.4 26.1 45
480 431.6 22.6 57
481 560.0 30.2 25
482 560.0 30.2 22
483 587.1 23.4 40
484 587.1 31.0 27
485 587.1 33.1 25
486 596.3 30.6 28
487 605.8 24.1 43
488 605.8 26.4 34
489 605.8 19.4 71
490 605.8 20.6 58
491 605.8 28.7 33
492 624.1 32.4 21
493 633.6 32.4 27
494 633.6 27.5 29
495 643.0 30.8 30
496 661.8 23.9 42
497 661.8 32.6 26
498 671.2 32.3 27
499 671.2 33.3 26
501 671.2 21.6 65
502 671.2 21.6 65
503 671.2 20.7 69
504 689.1 29.2 30
505 689.1 28.9 29
506 744.4 26.7 35
507 752.6 18.5 73
508 752.6 25.9 41
509 752.6 25.9 41
510 752.6 21.1 71
511 752.6 18.2 62
512 665.6 27.8 35
513 665.6 27.8 32
514 665.6 21.9 71
515 665.6 21.2 70
516 614.7 25.6 42
$multivariate_normality
     Test Statistic p.value     Method          MVN
1 Royston   162.918  <0.001 asymptotic ✗ Not normal

$univariate_normality
              Test Variable Statistic p.value    Normality
1 Anderson-Darling       DC    43.098  <0.001 ✗ Not normal
2 Anderson-Darling     temp     1.812  <0.001 ✗ Not normal
3 Anderson-Darling       RH     7.871  <0.001 ✗ Not normal

$descriptives
  Variable   n    Mean Std.Dev Median  Min   Max  25th  75th   Skew Kurtosis
1       DC 517 547.940 248.066  664.2  7.9 860.6 437.7 713.9 -1.097    2.746
2     temp 517  18.889   5.807   19.3  2.2  33.3  15.5  22.8 -0.330    3.123
3       RH 517  44.288  16.317   42.0 15.0 100.0  33.0  53.0  0.860    3.422

$multivariate_outliers
    Observation Mahalanobis.Distance
1           466               95.620
2           464               92.910
3           105               92.347
4           284               91.668
5           465               91.312
6           285               90.872
7           448               89.349
8            76               85.582
9           177               85.110
10          197               85.110
11          395               84.820
12          166               82.912
13          379               82.172
14          412               80.371
15          418               80.180
16          394               79.742
17          203               79.121
18            4               79.053
19          467               78.658
20          240               78.246
21          469               76.910
22          391               76.746
23          468               76.551
24          470               76.236
25          119               75.377
26          388               75.344
27           62               75.271
28            5               73.796
29          117               73.244
30           98               73.243
31           49               72.952
32          443               72.902
33           97               72.889
34          396               71.492
35           59               71.469
36            1               71.192
37           60               70.684
38           20               70.109
39          471               69.553
40          183               69.161
41          305               68.417
42          191               68.156
43          127               67.840
44          277               67.386
45          278               67.386
46          279               67.386
47          280               67.386
48          517               67.373
49          380               67.118
50          106               66.945
51          111               66.582
52          116               66.430
53           78               66.389
54          115               65.699
55          132               65.676
56          411               65.587
57           73               65.387
58           77               65.351
59          408               65.339
60          241               65.243
61           61               65.055
62          187               65.055
63           17               65.028
64          133               64.804
65          118               64.776
66          242               63.968
67          169               63.822
68           40               63.798
69          220               63.737
70           50               63.488
71          214               63.488
72          223               63.488
73          135               63.471
74          147               63.165
75          202               62.350
76          190               62.077
77          282               62.062
78          189               61.798
79           19               61.726
80          112               61.540
81          446               61.359
82           70               61.172
83           92               61.051
84          161               60.679
85           90               60.596
86          215               60.585
87          216               60.585
88           71               60.301
89          163               59.452
90          107               58.594
91          131               58.351
92          472               56.439
93          205               55.917
94          281               47.755
95          300               47.138
96          283               44.684
97          473               40.862
98          274               40.080
99          276               38.049
100         275               37.750
101          23               33.308
102         224               30.706
103         303               30.572
104         304               30.572
105         297               28.501
106         474               27.684
107         298               26.969
108         144               24.440
109         301               23.821
110         444               23.544
111         287               23.359
112         302               22.481
113         479               21.975
114         139               21.533
115         400               20.893
116         401               20.893
117         212               19.743
118         475               18.348
119         476               15.110
120         436               14.908
121         152               14.508
122         299               13.807
123         500               13.600
124          41               13.455
125           8               13.137
126         295               12.864
127          99               12.083

$new_data
       DC temp RH
2   669.1 18.0 33
3   686.9 14.6 33
6   488.0 22.2 29
7   495.6 24.1 27
9   692.6 13.1 63
10  698.6 22.8 40
11  698.6 17.8 51
12  713.0 19.3 38
13  665.3 17.0 72
14  686.5 21.3 42
15  699.6 26.4 21
16  713.9 22.9 44
18  664.2 16.7 47
21  692.6 18.3 40
22  724.3 19.1 38
24  537.4 19.5 43
25  594.2 23.7 32
26  601.4 16.3 60
27  668.0 19.0 34
28  686.5 19.4 48
29  721.4 30.2 24
30  728.6 22.8 39
31  692.3 25.4 24
32  709.9 11.2 78
33  706.8 20.6 37
34  718.3 17.7 39
35  724.3 21.2 32
36  730.2 18.2 62
37  669.1 21.7 24
38  682.6 11.3 60
39  686.9 17.8 27
42  624.2 18.4 42
43  647.1 16.6 54
44  698.6 19.6 48
45  735.7 12.9 74
46  692.3 25.9 24
47  686.5 14.7 70
48  442.9 23.0 36
51  706.4 20.8 17
52  631.2 21.5 34
53  654.1 20.4 42
54  654.1 20.4 42
55  661.3 17.6 45
56  706.4 27.7 24
57  730.2 17.8 63
58  691.8 13.8 50
63  466.6 18.8 35
64  631.2 20.8 33
65  638.8 23.1 31
66  661.3 18.6 44
67  668.0 23.0 37
68  668.0 19.6 33
69  668.0 19.6 33
72  692.3 17.7 37
74  614.5 17.3 43
75  713.9 27.6 30
79  529.8 14.7 66
80  561.6 21.6 19
81  601.4 19.5 39
82  631.2 17.9 44
83  647.1 18.6 51
84  654.1 16.6 47
85  661.3 20.2 45
86  706.4 21.5 15
87  706.4 25.4 27
88  706.4 22.4 34
89  728.6 25.3 36
91  624.2 14.7 59
93  488.0 20.8 32
94  601.4 18.2 43
95  638.8 23.4 22
96  704.4 17.8 64
100 601.4 19.8 39
101 601.4 19.8 39
102 614.5 14.4 66
103 647.1 20.1 40
104 674.4 24.1 29
108 631.2 21.4 33
109 698.6 20.3 45
110 709.9 17.4 56
113 704.4 22.8 39
114 724.3 18.9 35
120 466.6 19.6 36
121 608.2 10.3 74
122 608.2 17.1 43
123 680.7 22.5 42
124 671.9 17.9 45
125 692.3 19.8 50
126 691.8 20.6 24
128 728.6 17.2 43
129 673.8 15.9 46
130 691.8 15.4 35
134 685.2 17.6 42
136 594.2 17.6 52
137 680.7 17.2 58
138 686.5 15.6 66
140 692.6 21.7 38
141 686.5 21.9 39
142 513.3 23.3 31
143 529.8 21.2 51
145 513.3 23.8 32
146 578.8 27.4 22
148 671.9 24.2 28
149 647.1 17.4 43
150 685.2 23.7 25
151 433.3 23.2 39
153 424.1 24.6 43
154 692.3 20.1 47
155 721.4 29.6 27
156 647.1 16.4 47
157 721.4 28.6 27
158 654.1 18.4 45
159 654.1 20.5 35
160 668.0 19.0 34
162 578.8 20.3 41
164 674.4 17.8 56
165 704.4 17.8 67
167 654.1 16.6 47
168 570.5 23.4 33
170 578.8 20.7 45
171 699.6 21.9 35
172 609.6 17.4 50
173 601.4 20.1 39
174 686.5 17.7 39
175 624.2 14.2 53
176 624.2 20.3 39
178 631.2 19.2 44
179 735.7 18.3 45
180 614.5 14.4 66
181 680.7 23.9 32
182 664.2 19.1 32
184 696.1 16.8 45
185 586.7 20.8 34
186 692.6 17.6 46
188 686.5 21.0 42
192 578.8 24.2 28
193 647.1 24.6 22
194 699.6 24.3 25
195 647.1 24.6 22
196 586.7 23.5 36
198 706.4 21.5 15
199 692.6 13.9 59
200 665.3 22.6 38
201 692.6 21.6 33
204 673.8 20.2 37
206 706.4 22.1 34
207 594.2 22.9 31
208 692.6 20.7 37
209 668.0 19.6 33
210 685.2 23.2 26
211 686.9 18.4 25
213 692.3 20.1 47
217 680.7 16.9 60
218 709.9 12.4 73
219 699.6 19.4 19
221 631.2 16.2 59
222 713.9 18.6 49
225 735.7 15.4 57
226 728.6 22.9 39
227 696.1 16.1 44
228 480.8 20.1 34
229 728.6 28.3 26
230 480.8 16.4 43
231 699.6 26.4 21
232 728.6 27.8 27
233 692.6 18.7 43
234 671.9 24.3 36
235 674.4 17.7 25
236 601.4 19.6 41
237 674.4 18.2 46
238 692.6 18.8 40
239 674.4 25.1 27
243 589.9 15.4 66
244 700.7 21.9 73
245 700.7 22.4 54
246 700.7 26.8 38
247 700.7 25.7 39
248 503.6 20.7 70
249 666.7 28.7 28
250 666.7 21.7 40
251 666.7 26.8 25
252 666.7 24.0 36
253 666.7 22.1 37
254 565.5 21.4 38
255 621.7 18.9 41
256 694.8 22.3 46
257 581.1 23.9 41
258 581.1 21.4 44
259 692.3 20.6 59
260 692.3 23.7 40
261 542.0 28.3 32
262 573.0 11.2 84
263 573.0 21.4 42
264 629.1 19.3 39
265 684.4 21.8 53
266 550.3 22.1 54
267 607.1 19.4 55
268 658.2 23.7 24
269 658.2 21.0 32
270 658.2 19.1 53
271 658.2 21.8 56
272 658.2 20.1 58
273 658.2 20.2 47
286 411.8 23.4 40
288 474.9 22.1 49
289 474.9 24.2 32
290 474.9 24.3 30
291 474.9 18.7 53
292 474.9 25.3 39
293 466.3 22.9 40
294 430.8 26.9 28
296 430.8 22.2 48
306 714.3 19.0 52
307 714.3 17.1 53
308 714.3 23.8 35
309 758.1 16.0 45
310 758.1 24.9 27
311 758.1 25.3 27
312 758.1 24.8 28
313 706.6 12.2 78
314 777.1 24.3 27
315 777.1 19.7 41
316 817.5 18.5 30
317 739.4 18.6 24
318 739.4 19.2 24
319 783.5 21.6 27
320 783.5 21.6 28
321 783.5 18.9 34
322 783.5 16.8 28
323 783.5 16.8 28
324 822.8 12.9 39
325 726.9 13.7 56
326 751.5 24.2 27
327 751.5 24.1 27
328 751.5 21.2 32
329 751.5 19.7 35
330 751.5 23.5 27
331 751.5 24.2 27
332 795.3 21.5 28
333 795.3 17.1 41
334 721.1 18.1 54
335 764.0 18.0 51
336 764.0  9.8 86
337 764.0 19.3 44
338 764.0 23.0 34
339 764.0 22.7 35
340 764.0 20.4 41
341 764.0 19.3 44
342 770.3 15.7 51
343 807.1 20.6 37
344 807.1 15.9 51
345 807.1 12.2 66
346 807.1 16.8 43
347 807.1 21.3 35
348 745.3 10.1 75
349 745.3 17.4 57
350 745.3 12.8 64
351 745.3 10.1 75
352 745.3 15.4 53
353 745.3 20.6 43
354 745.3 19.8 47
355 745.3 18.7 50
356 745.3 20.8 35
357 745.3 20.8 35
358 789.7 15.9 55
359 789.7 19.7 39
360 789.7 21.1 39
361 789.7 18.4 42
362 789.7 17.3 45
363 732.3 15.2 64
364 770.3 15.9 53
365 770.3 21.1 35
366 770.3 19.6 45
367 812.1 15.9 38
368 812.1 16.4 27
369 744.4 16.8 47
370 825.1 13.8 77
371 825.1 13.8 77
372 520.5 14.2 58
373 664.5 10.4 75
374 698.6 20.3 42
375 855.3 10.3 78
376 744.4 15.4 57
377 672.6 21.1 54
378 715.1 21.9 42
381 458.8 19.3 39
382 643.0 16.2 63
383 690.0 28.2 29
384 753.8 20.5 58
385 819.1 21.3 44
386 613.0 20.9 50
387 750.5 20.6 55
389 706.7 23.3 34
390 706.7 23.3 34
392 738.1 20.7 46
393 825.1 21.9 43
397 750.5 20.4 55
398 613.0 24.3 33
399 715.1 25.9 32
402 731.7 22.8 46
403 706.7 25.0 36
404 643.0 21.3 41
405 725.1 21.8 34
406 680.9 27.9 27
407 860.6 17.0 67
409 855.3 19.9 44
410 450.2 23.4 31
413 442.1 22.8 27
414 715.1 26.4 33
415 723.1 24.1 50
416 698.6 27.5 27
417 575.8 26.3 39
419 664.5 24.9 42
420 613.0 24.8 36
421 635.9 26.2 36
422 690.0 30.8 19
423 795.9 29.3 27
424 744.4 22.3 48
425 715.1 26.9 31
426 753.8 20.4 56
427 753.8 20.4 56
428 672.6 27.9 33
429 698.6 26.2 34
430 613.0 24.6 44
431 849.3 19.4 45
432 605.3 23.3 40
433 698.6 23.9 38
434 723.1 20.9 66
435 811.2 22.2 45
437 672.6 26.8 35
438 768.4 14.2 73
439 715.1 23.6 53
440 738.1 19.1 46
441 855.3 16.2 58
442 672.6 25.5 29
445 855.3 16.2 58
447 664.5 19.1 70
449 844.0 10.5 77
450 613.0 19.3 61
451 690.0 23.4 49
452 649.9 11.8 88
453 730.6 17.7 65
454 803.3 17.4 54
455 753.8 16.8 56
456 567.2 17.9 48
457 753.8 16.6 59
458 635.9 19.9 50
459 715.1 18.9 64
460 819.1 15.5 72
461 715.1 18.9 64
462 715.1 18.9 64
463 825.1 14.5 76
477 395.0 27.2 28
478 423.4 26.1 45
480 431.6 22.6 57
481 560.0 30.2 25
482 560.0 30.2 22
483 587.1 23.4 40
484 587.1 31.0 27
485 587.1 33.1 25
486 596.3 30.6 28
487 605.8 24.1 43
488 605.8 26.4 34
489 605.8 19.4 71
490 605.8 20.6 58
491 605.8 28.7 33
492 624.1 32.4 21
493 633.6 32.4 27
494 633.6 27.5 29
495 643.0 30.8 30
496 661.8 23.9 42
497 661.8 32.6 26
498 671.2 32.3 27
499 671.2 33.3 26
501 671.2 21.6 65
502 671.2 21.6 65
503 671.2 20.7 69
504 689.1 29.2 30
505 689.1 28.9 29
506 744.4 26.7 35
507 752.6 18.5 73
508 752.6 25.9 41
509 752.6 25.9 41
510 752.6 21.1 71
511 752.6 18.2 62
512 665.6 27.8 35
513 665.6 27.8 32
514 665.6 21.9 71
515 665.6 21.2 70
516 614.7 25.6 42

$data
       DC temp  RH
1    94.3  8.2  51
2   669.1 18.0  33
3   686.9 14.6  33
4    77.5  8.3  97
5   102.2 11.4  99
6   488.0 22.2  29
7   495.6 24.1  27
8   608.2  8.0  86
9   692.6 13.1  63
10  698.6 22.8  40
11  698.6 17.8  51
12  713.0 19.3  38
13  665.3 17.0  72
14  686.5 21.3  42
15  699.6 26.4  21
16  713.9 22.9  44
17   80.8 15.1  27
18  664.2 16.7  47
19   70.8 15.9  35
20   97.1  9.3  44
21  692.6 18.3  40
22  724.3 19.1  38
23  200.0 21.0  44
24  537.4 19.5  43
25  594.2 23.7  32
26  601.4 16.3  60
27  668.0 19.0  34
28  686.5 19.4  48
29  721.4 30.2  24
30  728.6 22.8  39
31  692.3 25.4  24
32  709.9 11.2  78
33  706.8 20.6  37
34  718.3 17.7  39
35  724.3 21.2  32
36  730.2 18.2  62
37  669.1 21.7  24
38  682.6 11.3  60
39  686.9 17.8  27
40   67.6 14.1  43
41  366.7 23.3  37
42  624.2 18.4  42
43  647.1 16.6  54
44  698.6 19.6  48
45  735.7 12.9  74
46  692.3 25.9  24
47  686.5 14.7  70
48  442.9 23.0  36
49   64.7 11.8  35
50  103.8 11.0  46
51  706.4 20.8  17
52  631.2 21.5  34
53  654.1 20.4  42
54  654.1 20.4  42
55  661.3 17.6  45
56  706.4 27.7  24
57  730.2 17.8  63
58  691.8 13.8  50
59   34.0 13.9  40
60   43.0 12.3  51
61  102.2 11.5  39
62  102.2  5.5  59
63  466.6 18.8  35
64  631.2 20.8  33
65  638.8 23.1  31
66  661.3 18.6  44
67  668.0 23.0  37
68  668.0 19.6  33
69  668.0 19.6  33
70   77.5 17.2  26
71   97.8 15.8  27
72  692.3 17.7  37
73   77.5 15.6  25
74  614.5 17.3  43
75  713.9 27.6  30
76   26.6  6.7  79
77   43.0 15.7  43
78  103.8  8.3  72
79  529.8 14.7  66
80  561.6 21.6  19
81  601.4 19.5  39
82  631.2 17.9  44
83  647.1 18.6  51
84  654.1 16.6  47
85  661.3 20.2  45
86  706.4 21.5  15
87  706.4 25.4  27
88  706.4 22.4  34
89  728.6 25.3  36
90   80.8 17.4  25
91  624.2 14.7  59
92   80.8 17.4  24
93  488.0 20.8  32
94  601.4 18.2  43
95  638.8 23.4  22
96  704.4 17.8  64
97   30.2 12.7  48
98   15.5 17.4  24
99  601.4 11.6  87
100 601.4 19.8  39
101 601.4 19.8  39
102 614.5 14.4  66
103 647.1 20.1  40
104 674.4 24.1  29
105   9.3  5.3  78
106  57.3 12.7  52
107  74.3 18.2  29
108 631.2 21.4  33
109 698.6 20.3  45
110 709.9 17.4  56
111  57.3 13.7  43
112  77.5 18.8  18
113 704.4 22.8  39
114 724.3 18.9  35
115  67.6 15.8  27
116  67.6 15.5  27
117  80.8 11.6  30
118  80.8 15.2  27
119  86.6 10.6  30
120 466.6 19.6  36
121 608.2 10.3  74
122 608.2 17.1  43
123 680.7 22.5  42
124 671.9 17.9  45
125 692.3 19.8  50
126 691.8 20.6  24
127 103.8  9.0  49
128 728.6 17.2  43
129 673.8 15.9  46
130 691.8 15.4  35
131  87.2 15.4  40
132  64.7 14.0  39
133 102.2 10.6  46
134 685.2 17.6  42
135  67.6 14.9  38
136 594.2 17.6  52
137 680.7 17.2  58
138 686.5 15.6  66
139 313.4 18.0  42
140 692.6 21.7  38
141 686.5 21.9  39
142 513.3 23.3  31
143 529.8 21.2  51
144 296.3 16.6  53
145 513.3 23.8  32
146 578.8 27.4  22
147  86.6 13.2  40
148 671.9 24.2  28
149 647.1 17.4  43
150 685.2 23.7  25
151 433.3 23.2  39
152 355.2 24.8  29
153 424.1 24.6  43
154 692.3 20.1  47
155 721.4 29.6  27
156 647.1 16.4  47
157 721.4 28.6  27
158 654.1 18.4  45
159 654.1 20.5  35
160 668.0 19.0  34
161  86.6 16.1  29
162 578.8 20.3  41
163 100.4 15.2  31
164 674.4 17.8  56
165 704.4 17.8  67
166  55.0  5.3  70
167 654.1 16.6  47
168 570.5 23.4  33
169  97.8 14.6  26
170 578.8 20.7  45
171 699.6 21.9  35
172 609.6 17.4  50
173 601.4 20.1  39
174 686.5 17.7  39
175 624.2 14.2  53
176 624.2 20.3  39
177  55.2  5.8  54
178 631.2 19.2  44
179 735.7 18.3  45
180 614.5 14.4  66
181 680.7 23.9  32
182 664.2 19.1  32
183  48.3 12.4  53
184 696.1 16.8  45
185 586.7 20.8  34
186 692.6 17.6  46
187 102.2 11.5  39
188 686.5 21.0  42
189  89.4 13.3  42
190  92.4 11.5  60
191  97.8 11.7  33
192 578.8 24.2  28
193 647.1 24.6  22
194 699.6 24.3  25
195 647.1 24.6  22
196 586.7 23.5  36
197  55.2  5.8  54
198 706.4 21.5  15
199 692.6 13.9  59
200 665.3 22.6  38
201 692.6 21.6  33
202  83.7 12.4  54
203  32.1  8.8  68
204 673.8 20.2  37
205 100.4 15.1  64
206 706.4 22.1  34
207 594.2 22.9  31
208 692.6 20.7  37
209 668.0 19.6  33
210 685.2 23.2  26
211 686.9 18.4  25
212 594.2  5.1  96
213 692.3 20.1  47
214 103.8 11.0  46
215  80.8 17.0  27
216  80.8 17.0  27
217 680.7 16.9  60
218 709.9 12.4  73
219 699.6 19.4  19
220  86.6 15.2  27
221 631.2 16.2  59
222 713.9 18.6  49
223 103.8 11.0  46
224 309.9 13.4  79
225 735.7 15.4  57
226 728.6 22.9  39
227 696.1 16.1  44
228 480.8 20.1  34
229 728.6 28.3  26
230 480.8 16.4  43
231 699.6 26.4  21
232 728.6 27.8  27
233 692.6 18.7  43
234 671.9 24.3  36
235 674.4 17.7  25
236 601.4 19.6  41
237 674.4 18.2  46
238 692.6 18.8  40
239 674.4 25.1  27
240   7.9 13.4  75
241  43.5 15.2  51
242  85.3 16.7  20
243 589.9 15.4  66
244 700.7 21.9  73
245 700.7 22.4  54
246 700.7 26.8  38
247 700.7 25.7  39
248 503.6 20.7  70
249 666.7 28.7  28
250 666.7 21.7  40
251 666.7 26.8  25
252 666.7 24.0  36
253 666.7 22.1  37
254 565.5 21.4  38
255 621.7 18.9  41
256 694.8 22.3  46
257 581.1 23.9  41
258 581.1 21.4  44
259 692.3 20.6  59
260 692.3 23.7  40
261 542.0 28.3  32
262 573.0 11.2  84
263 573.0 21.4  42
264 629.1 19.3  39
265 684.4 21.8  53
266 550.3 22.1  54
267 607.1 19.4  55
268 658.2 23.7  24
269 658.2 21.0  32
270 658.2 19.1  53
271 658.2 21.8  56
272 658.2 20.1  58
273 658.2 20.2  47
274 353.5  4.8  57
275 354.6  5.1  61
276 352.0  5.1  61
277 349.7  4.6  21
278 349.7  4.6  21
279 349.7  4.6  21
280 349.7  4.6  21
281 352.6  2.2  59
282 349.7  5.1  24
283 353.5  4.2  51
284  18.7  8.8  35
285  15.8  7.5  46
286 411.8 23.4  40
287 437.7 12.6  90
288 474.9 22.1  49
289 474.9 24.2  32
290 474.9 24.3  30
291 474.9 18.7  53
292 474.9 25.3  39
293 466.3 22.9  40
294 430.8 26.9  28
295 440.9 17.1  67
296 430.8 22.2  48
297 290.8 14.3  46
298 290.8 15.4  45
299 377.2 19.6  43
300 233.8 10.6  90
301 298.1 20.7  25
302 298.1 19.1  39
303 232.1 19.2  38
304 232.1 19.2  38
305 113.8 11.3  94
306 714.3 19.0  52
307 714.3 17.1  53
308 714.3 23.8  35
309 758.1 16.0  45
310 758.1 24.9  27
311 758.1 25.3  27
312 758.1 24.8  28
313 706.6 12.2  78
314 777.1 24.3  27
315 777.1 19.7  41
316 817.5 18.5  30
317 739.4 18.6  24
318 739.4 19.2  24
319 783.5 21.6  27
320 783.5 21.6  28
321 783.5 18.9  34
322 783.5 16.8  28
323 783.5 16.8  28
324 822.8 12.9  39
325 726.9 13.7  56
326 751.5 24.2  27
327 751.5 24.1  27
328 751.5 21.2  32
329 751.5 19.7  35
330 751.5 23.5  27
331 751.5 24.2  27
332 795.3 21.5  28
333 795.3 17.1  41
334 721.1 18.1  54
335 764.0 18.0  51
336 764.0  9.8  86
337 764.0 19.3  44
338 764.0 23.0  34
339 764.0 22.7  35
340 764.0 20.4  41
341 764.0 19.3  44
342 770.3 15.7  51
343 807.1 20.6  37
344 807.1 15.9  51
345 807.1 12.2  66
346 807.1 16.8  43
347 807.1 21.3  35
348 745.3 10.1  75
349 745.3 17.4  57
350 745.3 12.8  64
351 745.3 10.1  75
352 745.3 15.4  53
353 745.3 20.6  43
354 745.3 19.8  47
355 745.3 18.7  50
356 745.3 20.8  35
357 745.3 20.8  35
358 789.7 15.9  55
359 789.7 19.7  39
360 789.7 21.1  39
361 789.7 18.4  42
362 789.7 17.3  45
363 732.3 15.2  64
364 770.3 15.9  53
365 770.3 21.1  35
366 770.3 19.6  45
367 812.1 15.9  38
368 812.1 16.4  27
369 744.4 16.8  47
370 825.1 13.8  77
371 825.1 13.8  77
372 520.5 14.2  58
373 664.5 10.4  75
374 698.6 20.3  42
375 855.3 10.3  78
376 744.4 15.4  57
377 672.6 21.1  54
378 715.1 21.9  42
379  30.6  8.7  51
380 171.4  5.2 100
381 458.8 19.3  39
382 643.0 16.2  63
383 690.0 28.2  29
384 753.8 20.5  58
385 819.1 21.3  44
386 613.0 20.9  50
387 750.5 20.6  55
388  30.6 11.6  48
389 706.7 23.3  34
390 706.7 23.3  34
391  58.3  7.5  71
392 738.1 20.7  46
393 825.1 21.9  43
394  25.6 15.2  19
395  46.7  5.3  68
396  56.9 10.1  62
397 750.5 20.4  55
398 613.0 24.3  33
399 715.1 25.9  32
400 297.7 28.0  34
401 297.7 28.0  34
402 731.7 22.8  46
403 706.7 25.0  36
404 643.0 21.3  41
405 725.1 21.8  34
406 680.9 27.9  27
407 860.6 17.0  67
408  55.0 14.2  46
409 855.3 19.9  44
410 450.2 23.4  31
411  52.8 14.7  42
412  43.6  8.2  53
413 442.1 22.8  27
414 715.1 26.4  33
415 723.1 24.1  50
416 698.6 27.5  27
417 575.8 26.3  39
418  28.3 13.8  24
419 664.5 24.9  42
420 613.0 24.8  36
421 635.9 26.2  36
422 690.0 30.8  19
423 795.9 29.3  27
424 744.4 22.3  48
425 715.1 26.9  31
426 753.8 20.4  56
427 753.8 20.4  56
428 672.6 27.9  33
429 698.6 26.2  34
430 613.0 24.6  44
431 849.3 19.4  45
432 605.3 23.3  40
433 698.6 23.9  38
434 723.1 20.9  66
435 811.2 22.2  45
436 376.6 23.8  51
437 672.6 26.8  35
438 768.4 14.2  73
439 715.1 23.6  53
440 738.1 19.1  46
441 855.3 16.2  58
442 672.6 25.5  29
443  41.6 10.9  64
444 368.3 14.8  78
445 855.3 16.2  58
446 100.7 17.3  80
447 664.5 19.1  70
448  28.3  8.9  35
449 844.0 10.5  77
450 613.0 19.3  61
451 690.0 23.4  49
452 649.9 11.8  88
453 730.6 17.7  65
454 803.3 17.4  54
455 753.8 16.8  56
456 567.2 17.9  48
457 753.8 16.6  59
458 635.9 19.9  50
459 715.1 18.9  64
460 819.1 15.5  72
461 715.1 18.9  64
462 715.1 18.9  64
463 825.1 14.5  76
464  16.2  4.6  82
465  16.2  5.1  77
466  15.3  4.6  59
467  36.9 10.2  45
468  41.1 11.2  41
469  43.5 13.3  27
470  25.6 13.7  33
471  25.6 17.6  27
472  73.7 18.0  40
473 229.0 14.3  79
474 252.6 24.5  50
475 316.7 26.4  35
476 350.2 22.7  40
477 395.0 27.2  28
478 423.4 26.1  45
479 423.4 18.2  82
480 431.6 22.6  57
481 560.0 30.2  25
482 560.0 30.2  22
483 587.1 23.4  40
484 587.1 31.0  27
485 587.1 33.1  25
486 596.3 30.6  28
487 605.8 24.1  43
488 605.8 26.4  34
489 605.8 19.4  71
490 605.8 20.6  58
491 605.8 28.7  33
492 624.1 32.4  21
493 633.6 32.4  27
494 633.6 27.5  29
495 643.0 30.8  30
496 661.8 23.9  42
497 661.8 32.6  26
498 671.2 32.3  27
499 671.2 33.3  26
500 671.2 27.3  63
501 671.2 21.6  65
502 671.2 21.6  65
503 671.2 20.7  69
504 689.1 29.2  30
505 689.1 28.9  29
506 744.4 26.7  35
507 752.6 18.5  73
508 752.6 25.9  41
509 752.6 25.9  41
510 752.6 21.1  71
511 752.6 18.2  62
512 665.6 27.8  35
513 665.6 27.8  32
514 665.6 21.9  71
515 665.6 21.2  70
516 614.7 25.6  42
517 106.7 11.8  31

Visualitzem els resultats del test de normalitat univariant

Code
head(summary(mvnoutliers, select = "mvn"))
     Test Statistic p.value     Method          MVN
1 Royston   162.918  <0.001 asymptotic ✗ Not normal
$multivariate_normality
     Test Statistic p.value     Method          MVN
1 Royston   162.918  <0.001 asymptotic ✗ Not normal

$univariate_normality
              Test Variable Statistic p.value    Normality
1 Anderson-Darling       DC    43.098  <0.001 ✗ Not normal
2 Anderson-Darling     temp     1.812  <0.001 ✗ Not normal
3 Anderson-Darling       RH     7.871  <0.001 ✗ Not normal

$descriptives
  Variable   n    Mean Std.Dev Median  Min   Max  25th  75th   Skew Kurtosis
1       DC 517 547.940 248.066  664.2  7.9 860.6 437.7 713.9 -1.097    2.746
2     temp 517  18.889   5.807   19.3  2.2  33.3  15.5  22.8 -0.330    3.123
3       RH 517  44.288  16.317   42.0 15.0 100.0  33.0  53.0  0.860    3.422

$multivariate_outliers
    Observation Mahalanobis.Distance
1           466               95.620
2           464               92.910
3           105               92.347
4           284               91.668
5           465               91.312
6           285               90.872
7           448               89.349
8            76               85.582
9           177               85.110
10          197               85.110
11          395               84.820
12          166               82.912
13          379               82.172
14          412               80.371
15          418               80.180
16          394               79.742
17          203               79.121
18            4               79.053
19          467               78.658
20          240               78.246
21          469               76.910
22          391               76.746
23          468               76.551
24          470               76.236
25          119               75.377
26          388               75.344
27           62               75.271
28            5               73.796
29          117               73.244
30           98               73.243
31           49               72.952
32          443               72.902
33           97               72.889
34          396               71.492
35           59               71.469
36            1               71.192
37           60               70.684
38           20               70.109
39          471               69.553
40          183               69.161
41          305               68.417
42          191               68.156
43          127               67.840
44          277               67.386
45          278               67.386
46          279               67.386
47          280               67.386
48          517               67.373
49          380               67.118
50          106               66.945
51          111               66.582
52          116               66.430
53           78               66.389
54          115               65.699
55          132               65.676
56          411               65.587
57           73               65.387
58           77               65.351
59          408               65.339
60          241               65.243
61           61               65.055
62          187               65.055
63           17               65.028
64          133               64.804
65          118               64.776
66          242               63.968
67          169               63.822
68           40               63.798
69          220               63.737
70           50               63.488
71          214               63.488
72          223               63.488
73          135               63.471
74          147               63.165
75          202               62.350
76          190               62.077
77          282               62.062
78          189               61.798
79           19               61.726
80          112               61.540
81          446               61.359
82           70               61.172
83           92               61.051
84          161               60.679
85           90               60.596
86          215               60.585
87          216               60.585
88           71               60.301
89          163               59.452
90          107               58.594
91          131               58.351
92          472               56.439
93          205               55.917
94          281               47.755
95          300               47.138
96          283               44.684
97          473               40.862
98          274               40.080
99          276               38.049
100         275               37.750
101          23               33.308
102         224               30.706
103         303               30.572
104         304               30.572
105         297               28.501
106         474               27.684
107         298               26.969
108         144               24.440
109         301               23.821
110         444               23.544
111         287               23.359
112         302               22.481
113         479               21.975
114         139               21.533
115         400               20.893
116         401               20.893
117         212               19.743
118         475               18.348
119         476               15.110
120         436               14.908
121         152               14.508
122         299               13.807
123         500               13.600
124          41               13.455
125           8               13.137
126         295               12.864
127          99               12.083

$new_data
       DC temp RH
2   669.1 18.0 33
3   686.9 14.6 33
6   488.0 22.2 29
7   495.6 24.1 27
9   692.6 13.1 63
10  698.6 22.8 40
11  698.6 17.8 51
12  713.0 19.3 38
13  665.3 17.0 72
14  686.5 21.3 42
15  699.6 26.4 21
16  713.9 22.9 44
18  664.2 16.7 47
21  692.6 18.3 40
22  724.3 19.1 38
24  537.4 19.5 43
25  594.2 23.7 32
26  601.4 16.3 60
27  668.0 19.0 34
28  686.5 19.4 48
29  721.4 30.2 24
30  728.6 22.8 39
31  692.3 25.4 24
32  709.9 11.2 78
33  706.8 20.6 37
34  718.3 17.7 39
35  724.3 21.2 32
36  730.2 18.2 62
37  669.1 21.7 24
38  682.6 11.3 60
39  686.9 17.8 27
42  624.2 18.4 42
43  647.1 16.6 54
44  698.6 19.6 48
45  735.7 12.9 74
46  692.3 25.9 24
47  686.5 14.7 70
48  442.9 23.0 36
51  706.4 20.8 17
52  631.2 21.5 34
53  654.1 20.4 42
54  654.1 20.4 42
55  661.3 17.6 45
56  706.4 27.7 24
57  730.2 17.8 63
58  691.8 13.8 50
63  466.6 18.8 35
64  631.2 20.8 33
65  638.8 23.1 31
66  661.3 18.6 44
67  668.0 23.0 37
68  668.0 19.6 33
69  668.0 19.6 33
72  692.3 17.7 37
74  614.5 17.3 43
75  713.9 27.6 30
79  529.8 14.7 66
80  561.6 21.6 19
81  601.4 19.5 39
82  631.2 17.9 44
83  647.1 18.6 51
84  654.1 16.6 47
85  661.3 20.2 45
86  706.4 21.5 15
87  706.4 25.4 27
88  706.4 22.4 34
89  728.6 25.3 36
91  624.2 14.7 59
93  488.0 20.8 32
94  601.4 18.2 43
95  638.8 23.4 22
96  704.4 17.8 64
100 601.4 19.8 39
101 601.4 19.8 39
102 614.5 14.4 66
103 647.1 20.1 40
104 674.4 24.1 29
108 631.2 21.4 33
109 698.6 20.3 45
110 709.9 17.4 56
113 704.4 22.8 39
114 724.3 18.9 35
120 466.6 19.6 36
121 608.2 10.3 74
122 608.2 17.1 43
123 680.7 22.5 42
124 671.9 17.9 45
125 692.3 19.8 50
126 691.8 20.6 24
128 728.6 17.2 43
129 673.8 15.9 46
130 691.8 15.4 35
134 685.2 17.6 42
136 594.2 17.6 52
137 680.7 17.2 58
138 686.5 15.6 66
140 692.6 21.7 38
141 686.5 21.9 39
142 513.3 23.3 31
143 529.8 21.2 51
145 513.3 23.8 32
146 578.8 27.4 22
148 671.9 24.2 28
149 647.1 17.4 43
150 685.2 23.7 25
151 433.3 23.2 39
153 424.1 24.6 43
154 692.3 20.1 47
155 721.4 29.6 27
156 647.1 16.4 47
157 721.4 28.6 27
158 654.1 18.4 45
159 654.1 20.5 35
160 668.0 19.0 34
162 578.8 20.3 41
164 674.4 17.8 56
165 704.4 17.8 67
167 654.1 16.6 47
168 570.5 23.4 33
170 578.8 20.7 45
171 699.6 21.9 35
172 609.6 17.4 50
173 601.4 20.1 39
174 686.5 17.7 39
175 624.2 14.2 53
176 624.2 20.3 39
178 631.2 19.2 44
179 735.7 18.3 45
180 614.5 14.4 66
181 680.7 23.9 32
182 664.2 19.1 32
184 696.1 16.8 45
185 586.7 20.8 34
186 692.6 17.6 46
188 686.5 21.0 42
192 578.8 24.2 28
193 647.1 24.6 22
194 699.6 24.3 25
195 647.1 24.6 22
196 586.7 23.5 36
198 706.4 21.5 15
199 692.6 13.9 59
200 665.3 22.6 38
201 692.6 21.6 33
204 673.8 20.2 37
206 706.4 22.1 34
207 594.2 22.9 31
208 692.6 20.7 37
209 668.0 19.6 33
210 685.2 23.2 26
211 686.9 18.4 25
213 692.3 20.1 47
217 680.7 16.9 60
218 709.9 12.4 73
219 699.6 19.4 19
221 631.2 16.2 59
222 713.9 18.6 49
225 735.7 15.4 57
226 728.6 22.9 39
227 696.1 16.1 44
228 480.8 20.1 34
229 728.6 28.3 26
230 480.8 16.4 43
231 699.6 26.4 21
232 728.6 27.8 27
233 692.6 18.7 43
234 671.9 24.3 36
235 674.4 17.7 25
236 601.4 19.6 41
237 674.4 18.2 46
238 692.6 18.8 40
239 674.4 25.1 27
243 589.9 15.4 66
244 700.7 21.9 73
245 700.7 22.4 54
246 700.7 26.8 38
247 700.7 25.7 39
248 503.6 20.7 70
249 666.7 28.7 28
250 666.7 21.7 40
251 666.7 26.8 25
252 666.7 24.0 36
253 666.7 22.1 37
254 565.5 21.4 38
255 621.7 18.9 41
256 694.8 22.3 46
257 581.1 23.9 41
258 581.1 21.4 44
259 692.3 20.6 59
260 692.3 23.7 40
261 542.0 28.3 32
262 573.0 11.2 84
263 573.0 21.4 42
264 629.1 19.3 39
265 684.4 21.8 53
266 550.3 22.1 54
267 607.1 19.4 55
268 658.2 23.7 24
269 658.2 21.0 32
270 658.2 19.1 53
271 658.2 21.8 56
272 658.2 20.1 58
273 658.2 20.2 47
286 411.8 23.4 40
288 474.9 22.1 49
289 474.9 24.2 32
290 474.9 24.3 30
291 474.9 18.7 53
292 474.9 25.3 39
293 466.3 22.9 40
294 430.8 26.9 28
296 430.8 22.2 48
306 714.3 19.0 52
307 714.3 17.1 53
308 714.3 23.8 35
309 758.1 16.0 45
310 758.1 24.9 27
311 758.1 25.3 27
312 758.1 24.8 28
313 706.6 12.2 78
314 777.1 24.3 27
315 777.1 19.7 41
316 817.5 18.5 30
317 739.4 18.6 24
318 739.4 19.2 24
319 783.5 21.6 27
320 783.5 21.6 28
321 783.5 18.9 34
322 783.5 16.8 28
323 783.5 16.8 28
324 822.8 12.9 39
325 726.9 13.7 56
326 751.5 24.2 27
327 751.5 24.1 27
328 751.5 21.2 32
329 751.5 19.7 35
330 751.5 23.5 27
331 751.5 24.2 27
332 795.3 21.5 28
333 795.3 17.1 41
334 721.1 18.1 54
335 764.0 18.0 51
336 764.0  9.8 86
337 764.0 19.3 44
338 764.0 23.0 34
339 764.0 22.7 35
340 764.0 20.4 41
341 764.0 19.3 44
342 770.3 15.7 51
343 807.1 20.6 37
344 807.1 15.9 51
345 807.1 12.2 66
346 807.1 16.8 43
347 807.1 21.3 35
348 745.3 10.1 75
349 745.3 17.4 57
350 745.3 12.8 64
351 745.3 10.1 75
352 745.3 15.4 53
353 745.3 20.6 43
354 745.3 19.8 47
355 745.3 18.7 50
356 745.3 20.8 35
357 745.3 20.8 35
358 789.7 15.9 55
359 789.7 19.7 39
360 789.7 21.1 39
361 789.7 18.4 42
362 789.7 17.3 45
363 732.3 15.2 64
364 770.3 15.9 53
365 770.3 21.1 35
366 770.3 19.6 45
367 812.1 15.9 38
368 812.1 16.4 27
369 744.4 16.8 47
370 825.1 13.8 77
371 825.1 13.8 77
372 520.5 14.2 58
373 664.5 10.4 75
374 698.6 20.3 42
375 855.3 10.3 78
376 744.4 15.4 57
377 672.6 21.1 54
378 715.1 21.9 42
381 458.8 19.3 39
382 643.0 16.2 63
383 690.0 28.2 29
384 753.8 20.5 58
385 819.1 21.3 44
386 613.0 20.9 50
387 750.5 20.6 55
389 706.7 23.3 34
390 706.7 23.3 34
392 738.1 20.7 46
393 825.1 21.9 43
397 750.5 20.4 55
398 613.0 24.3 33
399 715.1 25.9 32
402 731.7 22.8 46
403 706.7 25.0 36
404 643.0 21.3 41
405 725.1 21.8 34
406 680.9 27.9 27
407 860.6 17.0 67
409 855.3 19.9 44
410 450.2 23.4 31
413 442.1 22.8 27
414 715.1 26.4 33
415 723.1 24.1 50
416 698.6 27.5 27
417 575.8 26.3 39
419 664.5 24.9 42
420 613.0 24.8 36
421 635.9 26.2 36
422 690.0 30.8 19
423 795.9 29.3 27
424 744.4 22.3 48
425 715.1 26.9 31
426 753.8 20.4 56
427 753.8 20.4 56
428 672.6 27.9 33
429 698.6 26.2 34
430 613.0 24.6 44
431 849.3 19.4 45
432 605.3 23.3 40
433 698.6 23.9 38
434 723.1 20.9 66
435 811.2 22.2 45
437 672.6 26.8 35
438 768.4 14.2 73
439 715.1 23.6 53
440 738.1 19.1 46
441 855.3 16.2 58
442 672.6 25.5 29
445 855.3 16.2 58
447 664.5 19.1 70
449 844.0 10.5 77
450 613.0 19.3 61
451 690.0 23.4 49
452 649.9 11.8 88
453 730.6 17.7 65
454 803.3 17.4 54
455 753.8 16.8 56
456 567.2 17.9 48
457 753.8 16.6 59
458 635.9 19.9 50
459 715.1 18.9 64
460 819.1 15.5 72
461 715.1 18.9 64
462 715.1 18.9 64
463 825.1 14.5 76
477 395.0 27.2 28
478 423.4 26.1 45
480 431.6 22.6 57
481 560.0 30.2 25
482 560.0 30.2 22
483 587.1 23.4 40
484 587.1 31.0 27
485 587.1 33.1 25
486 596.3 30.6 28
487 605.8 24.1 43
488 605.8 26.4 34
489 605.8 19.4 71
490 605.8 20.6 58
491 605.8 28.7 33
492 624.1 32.4 21
493 633.6 32.4 27
494 633.6 27.5 29
495 643.0 30.8 30
496 661.8 23.9 42
497 661.8 32.6 26
498 671.2 32.3 27
499 671.2 33.3 26
501 671.2 21.6 65
502 671.2 21.6 65
503 671.2 20.7 69
504 689.1 29.2 30
505 689.1 28.9 29
506 744.4 26.7 35
507 752.6 18.5 73
508 752.6 25.9 41
509 752.6 25.9 41
510 752.6 21.1 71
511 752.6 18.2 62
512 665.6 27.8 35
513 665.6 27.8 32
514 665.6 21.9 71
515 665.6 21.2 70
516 614.7 25.6 42

$data
       DC temp  RH
1    94.3  8.2  51
2   669.1 18.0  33
3   686.9 14.6  33
4    77.5  8.3  97
5   102.2 11.4  99
6   488.0 22.2  29
7   495.6 24.1  27
8   608.2  8.0  86
9   692.6 13.1  63
10  698.6 22.8  40
11  698.6 17.8  51
12  713.0 19.3  38
13  665.3 17.0  72
14  686.5 21.3  42
15  699.6 26.4  21
16  713.9 22.9  44
17   80.8 15.1  27
18  664.2 16.7  47
19   70.8 15.9  35
20   97.1  9.3  44
21  692.6 18.3  40
22  724.3 19.1  38
23  200.0 21.0  44
24  537.4 19.5  43
25  594.2 23.7  32
26  601.4 16.3  60
27  668.0 19.0  34
28  686.5 19.4  48
29  721.4 30.2  24
30  728.6 22.8  39
31  692.3 25.4  24
32  709.9 11.2  78
33  706.8 20.6  37
34  718.3 17.7  39
35  724.3 21.2  32
36  730.2 18.2  62
37  669.1 21.7  24
38  682.6 11.3  60
39  686.9 17.8  27
40   67.6 14.1  43
41  366.7 23.3  37
42  624.2 18.4  42
43  647.1 16.6  54
44  698.6 19.6  48
45  735.7 12.9  74
46  692.3 25.9  24
47  686.5 14.7  70
48  442.9 23.0  36
49   64.7 11.8  35
50  103.8 11.0  46
51  706.4 20.8  17
52  631.2 21.5  34
53  654.1 20.4  42
54  654.1 20.4  42
55  661.3 17.6  45
56  706.4 27.7  24
57  730.2 17.8  63
58  691.8 13.8  50
59   34.0 13.9  40
60   43.0 12.3  51
61  102.2 11.5  39
62  102.2  5.5  59
63  466.6 18.8  35
64  631.2 20.8  33
65  638.8 23.1  31
66  661.3 18.6  44
67  668.0 23.0  37
68  668.0 19.6  33
69  668.0 19.6  33
70   77.5 17.2  26
71   97.8 15.8  27
72  692.3 17.7  37
73   77.5 15.6  25
74  614.5 17.3  43
75  713.9 27.6  30
76   26.6  6.7  79
77   43.0 15.7  43
78  103.8  8.3  72
79  529.8 14.7  66
80  561.6 21.6  19
81  601.4 19.5  39
82  631.2 17.9  44
83  647.1 18.6  51
84  654.1 16.6  47
85  661.3 20.2  45
86  706.4 21.5  15
87  706.4 25.4  27
88  706.4 22.4  34
89  728.6 25.3  36
90   80.8 17.4  25
91  624.2 14.7  59
92   80.8 17.4  24
93  488.0 20.8  32
94  601.4 18.2  43
95  638.8 23.4  22
96  704.4 17.8  64
97   30.2 12.7  48
98   15.5 17.4  24
99  601.4 11.6  87
100 601.4 19.8  39
101 601.4 19.8  39
102 614.5 14.4  66
103 647.1 20.1  40
104 674.4 24.1  29
105   9.3  5.3  78
106  57.3 12.7  52
107  74.3 18.2  29
108 631.2 21.4  33
109 698.6 20.3  45
110 709.9 17.4  56
111  57.3 13.7  43
112  77.5 18.8  18
113 704.4 22.8  39
114 724.3 18.9  35
115  67.6 15.8  27
116  67.6 15.5  27
117  80.8 11.6  30
118  80.8 15.2  27
119  86.6 10.6  30
120 466.6 19.6  36
121 608.2 10.3  74
122 608.2 17.1  43
123 680.7 22.5  42
124 671.9 17.9  45
125 692.3 19.8  50
126 691.8 20.6  24
127 103.8  9.0  49
128 728.6 17.2  43
129 673.8 15.9  46
130 691.8 15.4  35
131  87.2 15.4  40
132  64.7 14.0  39
133 102.2 10.6  46
134 685.2 17.6  42
135  67.6 14.9  38
136 594.2 17.6  52
137 680.7 17.2  58
138 686.5 15.6  66
139 313.4 18.0  42
140 692.6 21.7  38
141 686.5 21.9  39
142 513.3 23.3  31
143 529.8 21.2  51
144 296.3 16.6  53
145 513.3 23.8  32
146 578.8 27.4  22
147  86.6 13.2  40
148 671.9 24.2  28
149 647.1 17.4  43
150 685.2 23.7  25
151 433.3 23.2  39
152 355.2 24.8  29
153 424.1 24.6  43
154 692.3 20.1  47
155 721.4 29.6  27
156 647.1 16.4  47
157 721.4 28.6  27
158 654.1 18.4  45
159 654.1 20.5  35
160 668.0 19.0  34
161  86.6 16.1  29
162 578.8 20.3  41
163 100.4 15.2  31
164 674.4 17.8  56
165 704.4 17.8  67
166  55.0  5.3  70
167 654.1 16.6  47
168 570.5 23.4  33
169  97.8 14.6  26
170 578.8 20.7  45
171 699.6 21.9  35
172 609.6 17.4  50
173 601.4 20.1  39
174 686.5 17.7  39
175 624.2 14.2  53
176 624.2 20.3  39
177  55.2  5.8  54
178 631.2 19.2  44
179 735.7 18.3  45
180 614.5 14.4  66
181 680.7 23.9  32
182 664.2 19.1  32
183  48.3 12.4  53
184 696.1 16.8  45
185 586.7 20.8  34
186 692.6 17.6  46
187 102.2 11.5  39
188 686.5 21.0  42
189  89.4 13.3  42
190  92.4 11.5  60
191  97.8 11.7  33
192 578.8 24.2  28
193 647.1 24.6  22
194 699.6 24.3  25
195 647.1 24.6  22
196 586.7 23.5  36
197  55.2  5.8  54
198 706.4 21.5  15
199 692.6 13.9  59
200 665.3 22.6  38
201 692.6 21.6  33
202  83.7 12.4  54
203  32.1  8.8  68
204 673.8 20.2  37
205 100.4 15.1  64
206 706.4 22.1  34
207 594.2 22.9  31
208 692.6 20.7  37
209 668.0 19.6  33
210 685.2 23.2  26
211 686.9 18.4  25
212 594.2  5.1  96
213 692.3 20.1  47
214 103.8 11.0  46
215  80.8 17.0  27
216  80.8 17.0  27
217 680.7 16.9  60
218 709.9 12.4  73
219 699.6 19.4  19
220  86.6 15.2  27
221 631.2 16.2  59
222 713.9 18.6  49
223 103.8 11.0  46
224 309.9 13.4  79
225 735.7 15.4  57
226 728.6 22.9  39
227 696.1 16.1  44
228 480.8 20.1  34
229 728.6 28.3  26
230 480.8 16.4  43
231 699.6 26.4  21
232 728.6 27.8  27
233 692.6 18.7  43
234 671.9 24.3  36
235 674.4 17.7  25
236 601.4 19.6  41
237 674.4 18.2  46
238 692.6 18.8  40
239 674.4 25.1  27
240   7.9 13.4  75
241  43.5 15.2  51
242  85.3 16.7  20
243 589.9 15.4  66
244 700.7 21.9  73
245 700.7 22.4  54
246 700.7 26.8  38
247 700.7 25.7  39
248 503.6 20.7  70
249 666.7 28.7  28
250 666.7 21.7  40
251 666.7 26.8  25
252 666.7 24.0  36
253 666.7 22.1  37
254 565.5 21.4  38
255 621.7 18.9  41
256 694.8 22.3  46
257 581.1 23.9  41
258 581.1 21.4  44
259 692.3 20.6  59
260 692.3 23.7  40
261 542.0 28.3  32
262 573.0 11.2  84
263 573.0 21.4  42
264 629.1 19.3  39
265 684.4 21.8  53
266 550.3 22.1  54
267 607.1 19.4  55
268 658.2 23.7  24
269 658.2 21.0  32
270 658.2 19.1  53
271 658.2 21.8  56
272 658.2 20.1  58
273 658.2 20.2  47
274 353.5  4.8  57
275 354.6  5.1  61
276 352.0  5.1  61
277 349.7  4.6  21
278 349.7  4.6  21
279 349.7  4.6  21
280 349.7  4.6  21
281 352.6  2.2  59
282 349.7  5.1  24
283 353.5  4.2  51
284  18.7  8.8  35
285  15.8  7.5  46
286 411.8 23.4  40
287 437.7 12.6  90
288 474.9 22.1  49
289 474.9 24.2  32
290 474.9 24.3  30
291 474.9 18.7  53
292 474.9 25.3  39
293 466.3 22.9  40
294 430.8 26.9  28
295 440.9 17.1  67
296 430.8 22.2  48
297 290.8 14.3  46
298 290.8 15.4  45
299 377.2 19.6  43
300 233.8 10.6  90
301 298.1 20.7  25
302 298.1 19.1  39
303 232.1 19.2  38
304 232.1 19.2  38
305 113.8 11.3  94
306 714.3 19.0  52
307 714.3 17.1  53
308 714.3 23.8  35
309 758.1 16.0  45
310 758.1 24.9  27
311 758.1 25.3  27
312 758.1 24.8  28
313 706.6 12.2  78
314 777.1 24.3  27
315 777.1 19.7  41
316 817.5 18.5  30
317 739.4 18.6  24
318 739.4 19.2  24
319 783.5 21.6  27
320 783.5 21.6  28
321 783.5 18.9  34
322 783.5 16.8  28
323 783.5 16.8  28
324 822.8 12.9  39
325 726.9 13.7  56
326 751.5 24.2  27
327 751.5 24.1  27
328 751.5 21.2  32
329 751.5 19.7  35
330 751.5 23.5  27
331 751.5 24.2  27
332 795.3 21.5  28
333 795.3 17.1  41
334 721.1 18.1  54
335 764.0 18.0  51
336 764.0  9.8  86
337 764.0 19.3  44
338 764.0 23.0  34
339 764.0 22.7  35
340 764.0 20.4  41
341 764.0 19.3  44
342 770.3 15.7  51
343 807.1 20.6  37
344 807.1 15.9  51
345 807.1 12.2  66
346 807.1 16.8  43
347 807.1 21.3  35
348 745.3 10.1  75
349 745.3 17.4  57
350 745.3 12.8  64
351 745.3 10.1  75
352 745.3 15.4  53
353 745.3 20.6  43
354 745.3 19.8  47
355 745.3 18.7  50
356 745.3 20.8  35
357 745.3 20.8  35
358 789.7 15.9  55
359 789.7 19.7  39
360 789.7 21.1  39
361 789.7 18.4  42
362 789.7 17.3  45
363 732.3 15.2  64
364 770.3 15.9  53
365 770.3 21.1  35
366 770.3 19.6  45
367 812.1 15.9  38
368 812.1 16.4  27
369 744.4 16.8  47
370 825.1 13.8  77
371 825.1 13.8  77
372 520.5 14.2  58
373 664.5 10.4  75
374 698.6 20.3  42
375 855.3 10.3  78
376 744.4 15.4  57
377 672.6 21.1  54
378 715.1 21.9  42
379  30.6  8.7  51
380 171.4  5.2 100
381 458.8 19.3  39
382 643.0 16.2  63
383 690.0 28.2  29
384 753.8 20.5  58
385 819.1 21.3  44
386 613.0 20.9  50
387 750.5 20.6  55
388  30.6 11.6  48
389 706.7 23.3  34
390 706.7 23.3  34
391  58.3  7.5  71
392 738.1 20.7  46
393 825.1 21.9  43
394  25.6 15.2  19
395  46.7  5.3  68
396  56.9 10.1  62
397 750.5 20.4  55
398 613.0 24.3  33
399 715.1 25.9  32
400 297.7 28.0  34
401 297.7 28.0  34
402 731.7 22.8  46
403 706.7 25.0  36
404 643.0 21.3  41
405 725.1 21.8  34
406 680.9 27.9  27
407 860.6 17.0  67
408  55.0 14.2  46
409 855.3 19.9  44
410 450.2 23.4  31
411  52.8 14.7  42
412  43.6  8.2  53
413 442.1 22.8  27
414 715.1 26.4  33
415 723.1 24.1  50
416 698.6 27.5  27
417 575.8 26.3  39
418  28.3 13.8  24
419 664.5 24.9  42
420 613.0 24.8  36
421 635.9 26.2  36
422 690.0 30.8  19
423 795.9 29.3  27
424 744.4 22.3  48
425 715.1 26.9  31
426 753.8 20.4  56
427 753.8 20.4  56
428 672.6 27.9  33
429 698.6 26.2  34
430 613.0 24.6  44
431 849.3 19.4  45
432 605.3 23.3  40
433 698.6 23.9  38
434 723.1 20.9  66
435 811.2 22.2  45
436 376.6 23.8  51
437 672.6 26.8  35
438 768.4 14.2  73
439 715.1 23.6  53
440 738.1 19.1  46
441 855.3 16.2  58
442 672.6 25.5  29
443  41.6 10.9  64
444 368.3 14.8  78
445 855.3 16.2  58
446 100.7 17.3  80
447 664.5 19.1  70
448  28.3  8.9  35
449 844.0 10.5  77
450 613.0 19.3  61
451 690.0 23.4  49
452 649.9 11.8  88
453 730.6 17.7  65
454 803.3 17.4  54
455 753.8 16.8  56
456 567.2 17.9  48
457 753.8 16.6  59
458 635.9 19.9  50
459 715.1 18.9  64
460 819.1 15.5  72
461 715.1 18.9  64
462 715.1 18.9  64
463 825.1 14.5  76
464  16.2  4.6  82
465  16.2  5.1  77
466  15.3  4.6  59
467  36.9 10.2  45
468  41.1 11.2  41
469  43.5 13.3  27
470  25.6 13.7  33
471  25.6 17.6  27
472  73.7 18.0  40
473 229.0 14.3  79
474 252.6 24.5  50
475 316.7 26.4  35
476 350.2 22.7  40
477 395.0 27.2  28
478 423.4 26.1  45
479 423.4 18.2  82
480 431.6 22.6  57
481 560.0 30.2  25
482 560.0 30.2  22
483 587.1 23.4  40
484 587.1 31.0  27
485 587.1 33.1  25
486 596.3 30.6  28
487 605.8 24.1  43
488 605.8 26.4  34
489 605.8 19.4  71
490 605.8 20.6  58
491 605.8 28.7  33
492 624.1 32.4  21
493 633.6 32.4  27
494 633.6 27.5  29
495 643.0 30.8  30
496 661.8 23.9  42
497 661.8 32.6  26
498 671.2 32.3  27
499 671.2 33.3  26
500 671.2 27.3  63
501 671.2 21.6  65
502 671.2 21.6  65
503 671.2 20.7  69
504 689.1 29.2  30
505 689.1 28.9  29
506 744.4 26.7  35
507 752.6 18.5  73
508 752.6 25.9  41
509 752.6 25.9  41
510 752.6 21.1  71
511 752.6 18.2  62
512 665.6 27.8  35
513 665.6 27.8  32
514 665.6 21.9  71
515 665.6 21.2  70
516 614.7 25.6  42
517 106.7 11.8  31

i multivariant

Code
head(summary(mvnoutliers, select = "univariate"))
              Test Variable Statistic p.value    Normality
1 Anderson-Darling       DC    43.098  <0.001 ✗ Not normal
2 Anderson-Darling     temp     1.812  <0.001 ✗ Not normal
3 Anderson-Darling       RH     7.871  <0.001 ✗ Not normal
$multivariate_normality
     Test Statistic p.value     Method          MVN
1 Royston   162.918  <0.001 asymptotic ✗ Not normal

$univariate_normality
              Test Variable Statistic p.value    Normality
1 Anderson-Darling       DC    43.098  <0.001 ✗ Not normal
2 Anderson-Darling     temp     1.812  <0.001 ✗ Not normal
3 Anderson-Darling       RH     7.871  <0.001 ✗ Not normal

$descriptives
  Variable   n    Mean Std.Dev Median  Min   Max  25th  75th   Skew Kurtosis
1       DC 517 547.940 248.066  664.2  7.9 860.6 437.7 713.9 -1.097    2.746
2     temp 517  18.889   5.807   19.3  2.2  33.3  15.5  22.8 -0.330    3.123
3       RH 517  44.288  16.317   42.0 15.0 100.0  33.0  53.0  0.860    3.422

$multivariate_outliers
    Observation Mahalanobis.Distance
1           466               95.620
2           464               92.910
3           105               92.347
4           284               91.668
5           465               91.312
6           285               90.872
7           448               89.349
8            76               85.582
9           177               85.110
10          197               85.110
11          395               84.820
12          166               82.912
13          379               82.172
14          412               80.371
15          418               80.180
16          394               79.742
17          203               79.121
18            4               79.053
19          467               78.658
20          240               78.246
21          469               76.910
22          391               76.746
23          468               76.551
24          470               76.236
25          119               75.377
26          388               75.344
27           62               75.271
28            5               73.796
29          117               73.244
30           98               73.243
31           49               72.952
32          443               72.902
33           97               72.889
34          396               71.492
35           59               71.469
36            1               71.192
37           60               70.684
38           20               70.109
39          471               69.553
40          183               69.161
41          305               68.417
42          191               68.156
43          127               67.840
44          277               67.386
45          278               67.386
46          279               67.386
47          280               67.386
48          517               67.373
49          380               67.118
50          106               66.945
51          111               66.582
52          116               66.430
53           78               66.389
54          115               65.699
55          132               65.676
56          411               65.587
57           73               65.387
58           77               65.351
59          408               65.339
60          241               65.243
61           61               65.055
62          187               65.055
63           17               65.028
64          133               64.804
65          118               64.776
66          242               63.968
67          169               63.822
68           40               63.798
69          220               63.737
70           50               63.488
71          214               63.488
72          223               63.488
73          135               63.471
74          147               63.165
75          202               62.350
76          190               62.077
77          282               62.062
78          189               61.798
79           19               61.726
80          112               61.540
81          446               61.359
82           70               61.172
83           92               61.051
84          161               60.679
85           90               60.596
86          215               60.585
87          216               60.585
88           71               60.301
89          163               59.452
90          107               58.594
91          131               58.351
92          472               56.439
93          205               55.917
94          281               47.755
95          300               47.138
96          283               44.684
97          473               40.862
98          274               40.080
99          276               38.049
100         275               37.750
101          23               33.308
102         224               30.706
103         303               30.572
104         304               30.572
105         297               28.501
106         474               27.684
107         298               26.969
108         144               24.440
109         301               23.821
110         444               23.544
111         287               23.359
112         302               22.481
113         479               21.975
114         139               21.533
115         400               20.893
116         401               20.893
117         212               19.743
118         475               18.348
119         476               15.110
120         436               14.908
121         152               14.508
122         299               13.807
123         500               13.600
124          41               13.455
125           8               13.137
126         295               12.864
127          99               12.083

$new_data
       DC temp RH
2   669.1 18.0 33
3   686.9 14.6 33
6   488.0 22.2 29
7   495.6 24.1 27
9   692.6 13.1 63
10  698.6 22.8 40
11  698.6 17.8 51
12  713.0 19.3 38
13  665.3 17.0 72
14  686.5 21.3 42
15  699.6 26.4 21
16  713.9 22.9 44
18  664.2 16.7 47
21  692.6 18.3 40
22  724.3 19.1 38
24  537.4 19.5 43
25  594.2 23.7 32
26  601.4 16.3 60
27  668.0 19.0 34
28  686.5 19.4 48
29  721.4 30.2 24
30  728.6 22.8 39
31  692.3 25.4 24
32  709.9 11.2 78
33  706.8 20.6 37
34  718.3 17.7 39
35  724.3 21.2 32
36  730.2 18.2 62
37  669.1 21.7 24
38  682.6 11.3 60
39  686.9 17.8 27
42  624.2 18.4 42
43  647.1 16.6 54
44  698.6 19.6 48
45  735.7 12.9 74
46  692.3 25.9 24
47  686.5 14.7 70
48  442.9 23.0 36
51  706.4 20.8 17
52  631.2 21.5 34
53  654.1 20.4 42
54  654.1 20.4 42
55  661.3 17.6 45
56  706.4 27.7 24
57  730.2 17.8 63
58  691.8 13.8 50
63  466.6 18.8 35
64  631.2 20.8 33
65  638.8 23.1 31
66  661.3 18.6 44
67  668.0 23.0 37
68  668.0 19.6 33
69  668.0 19.6 33
72  692.3 17.7 37
74  614.5 17.3 43
75  713.9 27.6 30
79  529.8 14.7 66
80  561.6 21.6 19
81  601.4 19.5 39
82  631.2 17.9 44
83  647.1 18.6 51
84  654.1 16.6 47
85  661.3 20.2 45
86  706.4 21.5 15
87  706.4 25.4 27
88  706.4 22.4 34
89  728.6 25.3 36
91  624.2 14.7 59
93  488.0 20.8 32
94  601.4 18.2 43
95  638.8 23.4 22
96  704.4 17.8 64
100 601.4 19.8 39
101 601.4 19.8 39
102 614.5 14.4 66
103 647.1 20.1 40
104 674.4 24.1 29
108 631.2 21.4 33
109 698.6 20.3 45
110 709.9 17.4 56
113 704.4 22.8 39
114 724.3 18.9 35
120 466.6 19.6 36
121 608.2 10.3 74
122 608.2 17.1 43
123 680.7 22.5 42
124 671.9 17.9 45
125 692.3 19.8 50
126 691.8 20.6 24
128 728.6 17.2 43
129 673.8 15.9 46
130 691.8 15.4 35
134 685.2 17.6 42
136 594.2 17.6 52
137 680.7 17.2 58
138 686.5 15.6 66
140 692.6 21.7 38
141 686.5 21.9 39
142 513.3 23.3 31
143 529.8 21.2 51
145 513.3 23.8 32
146 578.8 27.4 22
148 671.9 24.2 28
149 647.1 17.4 43
150 685.2 23.7 25
151 433.3 23.2 39
153 424.1 24.6 43
154 692.3 20.1 47
155 721.4 29.6 27
156 647.1 16.4 47
157 721.4 28.6 27
158 654.1 18.4 45
159 654.1 20.5 35
160 668.0 19.0 34
162 578.8 20.3 41
164 674.4 17.8 56
165 704.4 17.8 67
167 654.1 16.6 47
168 570.5 23.4 33
170 578.8 20.7 45
171 699.6 21.9 35
172 609.6 17.4 50
173 601.4 20.1 39
174 686.5 17.7 39
175 624.2 14.2 53
176 624.2 20.3 39
178 631.2 19.2 44
179 735.7 18.3 45
180 614.5 14.4 66
181 680.7 23.9 32
182 664.2 19.1 32
184 696.1 16.8 45
185 586.7 20.8 34
186 692.6 17.6 46
188 686.5 21.0 42
192 578.8 24.2 28
193 647.1 24.6 22
194 699.6 24.3 25
195 647.1 24.6 22
196 586.7 23.5 36
198 706.4 21.5 15
199 692.6 13.9 59
200 665.3 22.6 38
201 692.6 21.6 33
204 673.8 20.2 37
206 706.4 22.1 34
207 594.2 22.9 31
208 692.6 20.7 37
209 668.0 19.6 33
210 685.2 23.2 26
211 686.9 18.4 25
213 692.3 20.1 47
217 680.7 16.9 60
218 709.9 12.4 73
219 699.6 19.4 19
221 631.2 16.2 59
222 713.9 18.6 49
225 735.7 15.4 57
226 728.6 22.9 39
227 696.1 16.1 44
228 480.8 20.1 34
229 728.6 28.3 26
230 480.8 16.4 43
231 699.6 26.4 21
232 728.6 27.8 27
233 692.6 18.7 43
234 671.9 24.3 36
235 674.4 17.7 25
236 601.4 19.6 41
237 674.4 18.2 46
238 692.6 18.8 40
239 674.4 25.1 27
243 589.9 15.4 66
244 700.7 21.9 73
245 700.7 22.4 54
246 700.7 26.8 38
247 700.7 25.7 39
248 503.6 20.7 70
249 666.7 28.7 28
250 666.7 21.7 40
251 666.7 26.8 25
252 666.7 24.0 36
253 666.7 22.1 37
254 565.5 21.4 38
255 621.7 18.9 41
256 694.8 22.3 46
257 581.1 23.9 41
258 581.1 21.4 44
259 692.3 20.6 59
260 692.3 23.7 40
261 542.0 28.3 32
262 573.0 11.2 84
263 573.0 21.4 42
264 629.1 19.3 39
265 684.4 21.8 53
266 550.3 22.1 54
267 607.1 19.4 55
268 658.2 23.7 24
269 658.2 21.0 32
270 658.2 19.1 53
271 658.2 21.8 56
272 658.2 20.1 58
273 658.2 20.2 47
286 411.8 23.4 40
288 474.9 22.1 49
289 474.9 24.2 32
290 474.9 24.3 30
291 474.9 18.7 53
292 474.9 25.3 39
293 466.3 22.9 40
294 430.8 26.9 28
296 430.8 22.2 48
306 714.3 19.0 52
307 714.3 17.1 53
308 714.3 23.8 35
309 758.1 16.0 45
310 758.1 24.9 27
311 758.1 25.3 27
312 758.1 24.8 28
313 706.6 12.2 78
314 777.1 24.3 27
315 777.1 19.7 41
316 817.5 18.5 30
317 739.4 18.6 24
318 739.4 19.2 24
319 783.5 21.6 27
320 783.5 21.6 28
321 783.5 18.9 34
322 783.5 16.8 28
323 783.5 16.8 28
324 822.8 12.9 39
325 726.9 13.7 56
326 751.5 24.2 27
327 751.5 24.1 27
328 751.5 21.2 32
329 751.5 19.7 35
330 751.5 23.5 27
331 751.5 24.2 27
332 795.3 21.5 28
333 795.3 17.1 41
334 721.1 18.1 54
335 764.0 18.0 51
336 764.0  9.8 86
337 764.0 19.3 44
338 764.0 23.0 34
339 764.0 22.7 35
340 764.0 20.4 41
341 764.0 19.3 44
342 770.3 15.7 51
343 807.1 20.6 37
344 807.1 15.9 51
345 807.1 12.2 66
346 807.1 16.8 43
347 807.1 21.3 35
348 745.3 10.1 75
349 745.3 17.4 57
350 745.3 12.8 64
351 745.3 10.1 75
352 745.3 15.4 53
353 745.3 20.6 43
354 745.3 19.8 47
355 745.3 18.7 50
356 745.3 20.8 35
357 745.3 20.8 35
358 789.7 15.9 55
359 789.7 19.7 39
360 789.7 21.1 39
361 789.7 18.4 42
362 789.7 17.3 45
363 732.3 15.2 64
364 770.3 15.9 53
365 770.3 21.1 35
366 770.3 19.6 45
367 812.1 15.9 38
368 812.1 16.4 27
369 744.4 16.8 47
370 825.1 13.8 77
371 825.1 13.8 77
372 520.5 14.2 58
373 664.5 10.4 75
374 698.6 20.3 42
375 855.3 10.3 78
376 744.4 15.4 57
377 672.6 21.1 54
378 715.1 21.9 42
381 458.8 19.3 39
382 643.0 16.2 63
383 690.0 28.2 29
384 753.8 20.5 58
385 819.1 21.3 44
386 613.0 20.9 50
387 750.5 20.6 55
389 706.7 23.3 34
390 706.7 23.3 34
392 738.1 20.7 46
393 825.1 21.9 43
397 750.5 20.4 55
398 613.0 24.3 33
399 715.1 25.9 32
402 731.7 22.8 46
403 706.7 25.0 36
404 643.0 21.3 41
405 725.1 21.8 34
406 680.9 27.9 27
407 860.6 17.0 67
409 855.3 19.9 44
410 450.2 23.4 31
413 442.1 22.8 27
414 715.1 26.4 33
415 723.1 24.1 50
416 698.6 27.5 27
417 575.8 26.3 39
419 664.5 24.9 42
420 613.0 24.8 36
421 635.9 26.2 36
422 690.0 30.8 19
423 795.9 29.3 27
424 744.4 22.3 48
425 715.1 26.9 31
426 753.8 20.4 56
427 753.8 20.4 56
428 672.6 27.9 33
429 698.6 26.2 34
430 613.0 24.6 44
431 849.3 19.4 45
432 605.3 23.3 40
433 698.6 23.9 38
434 723.1 20.9 66
435 811.2 22.2 45
437 672.6 26.8 35
438 768.4 14.2 73
439 715.1 23.6 53
440 738.1 19.1 46
441 855.3 16.2 58
442 672.6 25.5 29
445 855.3 16.2 58
447 664.5 19.1 70
449 844.0 10.5 77
450 613.0 19.3 61
451 690.0 23.4 49
452 649.9 11.8 88
453 730.6 17.7 65
454 803.3 17.4 54
455 753.8 16.8 56
456 567.2 17.9 48
457 753.8 16.6 59
458 635.9 19.9 50
459 715.1 18.9 64
460 819.1 15.5 72
461 715.1 18.9 64
462 715.1 18.9 64
463 825.1 14.5 76
477 395.0 27.2 28
478 423.4 26.1 45
480 431.6 22.6 57
481 560.0 30.2 25
482 560.0 30.2 22
483 587.1 23.4 40
484 587.1 31.0 27
485 587.1 33.1 25
486 596.3 30.6 28
487 605.8 24.1 43
488 605.8 26.4 34
489 605.8 19.4 71
490 605.8 20.6 58
491 605.8 28.7 33
492 624.1 32.4 21
493 633.6 32.4 27
494 633.6 27.5 29
495 643.0 30.8 30
496 661.8 23.9 42
497 661.8 32.6 26
498 671.2 32.3 27
499 671.2 33.3 26
501 671.2 21.6 65
502 671.2 21.6 65
503 671.2 20.7 69
504 689.1 29.2 30
505 689.1 28.9 29
506 744.4 26.7 35
507 752.6 18.5 73
508 752.6 25.9 41
509 752.6 25.9 41
510 752.6 21.1 71
511 752.6 18.2 62
512 665.6 27.8 35
513 665.6 27.8 32
514 665.6 21.9 71
515 665.6 21.2 70
516 614.7 25.6 42

$data
       DC temp  RH
1    94.3  8.2  51
2   669.1 18.0  33
3   686.9 14.6  33
4    77.5  8.3  97
5   102.2 11.4  99
6   488.0 22.2  29
7   495.6 24.1  27
8   608.2  8.0  86
9   692.6 13.1  63
10  698.6 22.8  40
11  698.6 17.8  51
12  713.0 19.3  38
13  665.3 17.0  72
14  686.5 21.3  42
15  699.6 26.4  21
16  713.9 22.9  44
17   80.8 15.1  27
18  664.2 16.7  47
19   70.8 15.9  35
20   97.1  9.3  44
21  692.6 18.3  40
22  724.3 19.1  38
23  200.0 21.0  44
24  537.4 19.5  43
25  594.2 23.7  32
26  601.4 16.3  60
27  668.0 19.0  34
28  686.5 19.4  48
29  721.4 30.2  24
30  728.6 22.8  39
31  692.3 25.4  24
32  709.9 11.2  78
33  706.8 20.6  37
34  718.3 17.7  39
35  724.3 21.2  32
36  730.2 18.2  62
37  669.1 21.7  24
38  682.6 11.3  60
39  686.9 17.8  27
40   67.6 14.1  43
41  366.7 23.3  37
42  624.2 18.4  42
43  647.1 16.6  54
44  698.6 19.6  48
45  735.7 12.9  74
46  692.3 25.9  24
47  686.5 14.7  70
48  442.9 23.0  36
49   64.7 11.8  35
50  103.8 11.0  46
51  706.4 20.8  17
52  631.2 21.5  34
53  654.1 20.4  42
54  654.1 20.4  42
55  661.3 17.6  45
56  706.4 27.7  24
57  730.2 17.8  63
58  691.8 13.8  50
59   34.0 13.9  40
60   43.0 12.3  51
61  102.2 11.5  39
62  102.2  5.5  59
63  466.6 18.8  35
64  631.2 20.8  33
65  638.8 23.1  31
66  661.3 18.6  44
67  668.0 23.0  37
68  668.0 19.6  33
69  668.0 19.6  33
70   77.5 17.2  26
71   97.8 15.8  27
72  692.3 17.7  37
73   77.5 15.6  25
74  614.5 17.3  43
75  713.9 27.6  30
76   26.6  6.7  79
77   43.0 15.7  43
78  103.8  8.3  72
79  529.8 14.7  66
80  561.6 21.6  19
81  601.4 19.5  39
82  631.2 17.9  44
83  647.1 18.6  51
84  654.1 16.6  47
85  661.3 20.2  45
86  706.4 21.5  15
87  706.4 25.4  27
88  706.4 22.4  34
89  728.6 25.3  36
90   80.8 17.4  25
91  624.2 14.7  59
92   80.8 17.4  24
93  488.0 20.8  32
94  601.4 18.2  43
95  638.8 23.4  22
96  704.4 17.8  64
97   30.2 12.7  48
98   15.5 17.4  24
99  601.4 11.6  87
100 601.4 19.8  39
101 601.4 19.8  39
102 614.5 14.4  66
103 647.1 20.1  40
104 674.4 24.1  29
105   9.3  5.3  78
106  57.3 12.7  52
107  74.3 18.2  29
108 631.2 21.4  33
109 698.6 20.3  45
110 709.9 17.4  56
111  57.3 13.7  43
112  77.5 18.8  18
113 704.4 22.8  39
114 724.3 18.9  35
115  67.6 15.8  27
116  67.6 15.5  27
117  80.8 11.6  30
118  80.8 15.2  27
119  86.6 10.6  30
120 466.6 19.6  36
121 608.2 10.3  74
122 608.2 17.1  43
123 680.7 22.5  42
124 671.9 17.9  45
125 692.3 19.8  50
126 691.8 20.6  24
127 103.8  9.0  49
128 728.6 17.2  43
129 673.8 15.9  46
130 691.8 15.4  35
131  87.2 15.4  40
132  64.7 14.0  39
133 102.2 10.6  46
134 685.2 17.6  42
135  67.6 14.9  38
136 594.2 17.6  52
137 680.7 17.2  58
138 686.5 15.6  66
139 313.4 18.0  42
140 692.6 21.7  38
141 686.5 21.9  39
142 513.3 23.3  31
143 529.8 21.2  51
144 296.3 16.6  53
145 513.3 23.8  32
146 578.8 27.4  22
147  86.6 13.2  40
148 671.9 24.2  28
149 647.1 17.4  43
150 685.2 23.7  25
151 433.3 23.2  39
152 355.2 24.8  29
153 424.1 24.6  43
154 692.3 20.1  47
155 721.4 29.6  27
156 647.1 16.4  47
157 721.4 28.6  27
158 654.1 18.4  45
159 654.1 20.5  35
160 668.0 19.0  34
161  86.6 16.1  29
162 578.8 20.3  41
163 100.4 15.2  31
164 674.4 17.8  56
165 704.4 17.8  67
166  55.0  5.3  70
167 654.1 16.6  47
168 570.5 23.4  33
169  97.8 14.6  26
170 578.8 20.7  45
171 699.6 21.9  35
172 609.6 17.4  50
173 601.4 20.1  39
174 686.5 17.7  39
175 624.2 14.2  53
176 624.2 20.3  39
177  55.2  5.8  54
178 631.2 19.2  44
179 735.7 18.3  45
180 614.5 14.4  66
181 680.7 23.9  32
182 664.2 19.1  32
183  48.3 12.4  53
184 696.1 16.8  45
185 586.7 20.8  34
186 692.6 17.6  46
187 102.2 11.5  39
188 686.5 21.0  42
189  89.4 13.3  42
190  92.4 11.5  60
191  97.8 11.7  33
192 578.8 24.2  28
193 647.1 24.6  22
194 699.6 24.3  25
195 647.1 24.6  22
196 586.7 23.5  36
197  55.2  5.8  54
198 706.4 21.5  15
199 692.6 13.9  59
200 665.3 22.6  38
201 692.6 21.6  33
202  83.7 12.4  54
203  32.1  8.8  68
204 673.8 20.2  37
205 100.4 15.1  64
206 706.4 22.1  34
207 594.2 22.9  31
208 692.6 20.7  37
209 668.0 19.6  33
210 685.2 23.2  26
211 686.9 18.4  25
212 594.2  5.1  96
213 692.3 20.1  47
214 103.8 11.0  46
215  80.8 17.0  27
216  80.8 17.0  27
217 680.7 16.9  60
218 709.9 12.4  73
219 699.6 19.4  19
220  86.6 15.2  27
221 631.2 16.2  59
222 713.9 18.6  49
223 103.8 11.0  46
224 309.9 13.4  79
225 735.7 15.4  57
226 728.6 22.9  39
227 696.1 16.1  44
228 480.8 20.1  34
229 728.6 28.3  26
230 480.8 16.4  43
231 699.6 26.4  21
232 728.6 27.8  27
233 692.6 18.7  43
234 671.9 24.3  36
235 674.4 17.7  25
236 601.4 19.6  41
237 674.4 18.2  46
238 692.6 18.8  40
239 674.4 25.1  27
240   7.9 13.4  75
241  43.5 15.2  51
242  85.3 16.7  20
243 589.9 15.4  66
244 700.7 21.9  73
245 700.7 22.4  54
246 700.7 26.8  38
247 700.7 25.7  39
248 503.6 20.7  70
249 666.7 28.7  28
250 666.7 21.7  40
251 666.7 26.8  25
252 666.7 24.0  36
253 666.7 22.1  37
254 565.5 21.4  38
255 621.7 18.9  41
256 694.8 22.3  46
257 581.1 23.9  41
258 581.1 21.4  44
259 692.3 20.6  59
260 692.3 23.7  40
261 542.0 28.3  32
262 573.0 11.2  84
263 573.0 21.4  42
264 629.1 19.3  39
265 684.4 21.8  53
266 550.3 22.1  54
267 607.1 19.4  55
268 658.2 23.7  24
269 658.2 21.0  32
270 658.2 19.1  53
271 658.2 21.8  56
272 658.2 20.1  58
273 658.2 20.2  47
274 353.5  4.8  57
275 354.6  5.1  61
276 352.0  5.1  61
277 349.7  4.6  21
278 349.7  4.6  21
279 349.7  4.6  21
280 349.7  4.6  21
281 352.6  2.2  59
282 349.7  5.1  24
283 353.5  4.2  51
284  18.7  8.8  35
285  15.8  7.5  46
286 411.8 23.4  40
287 437.7 12.6  90
288 474.9 22.1  49
289 474.9 24.2  32
290 474.9 24.3  30
291 474.9 18.7  53
292 474.9 25.3  39
293 466.3 22.9  40
294 430.8 26.9  28
295 440.9 17.1  67
296 430.8 22.2  48
297 290.8 14.3  46
298 290.8 15.4  45
299 377.2 19.6  43
300 233.8 10.6  90
301 298.1 20.7  25
302 298.1 19.1  39
303 232.1 19.2  38
304 232.1 19.2  38
305 113.8 11.3  94
306 714.3 19.0  52
307 714.3 17.1  53
308 714.3 23.8  35
309 758.1 16.0  45
310 758.1 24.9  27
311 758.1 25.3  27
312 758.1 24.8  28
313 706.6 12.2  78
314 777.1 24.3  27
315 777.1 19.7  41
316 817.5 18.5  30
317 739.4 18.6  24
318 739.4 19.2  24
319 783.5 21.6  27
320 783.5 21.6  28
321 783.5 18.9  34
322 783.5 16.8  28
323 783.5 16.8  28
324 822.8 12.9  39
325 726.9 13.7  56
326 751.5 24.2  27
327 751.5 24.1  27
328 751.5 21.2  32
329 751.5 19.7  35
330 751.5 23.5  27
331 751.5 24.2  27
332 795.3 21.5  28
333 795.3 17.1  41
334 721.1 18.1  54
335 764.0 18.0  51
336 764.0  9.8  86
337 764.0 19.3  44
338 764.0 23.0  34
339 764.0 22.7  35
340 764.0 20.4  41
341 764.0 19.3  44
342 770.3 15.7  51
343 807.1 20.6  37
344 807.1 15.9  51
345 807.1 12.2  66
346 807.1 16.8  43
347 807.1 21.3  35
348 745.3 10.1  75
349 745.3 17.4  57
350 745.3 12.8  64
351 745.3 10.1  75
352 745.3 15.4  53
353 745.3 20.6  43
354 745.3 19.8  47
355 745.3 18.7  50
356 745.3 20.8  35
357 745.3 20.8  35
358 789.7 15.9  55
359 789.7 19.7  39
360 789.7 21.1  39
361 789.7 18.4  42
362 789.7 17.3  45
363 732.3 15.2  64
364 770.3 15.9  53
365 770.3 21.1  35
366 770.3 19.6  45
367 812.1 15.9  38
368 812.1 16.4  27
369 744.4 16.8  47
370 825.1 13.8  77
371 825.1 13.8  77
372 520.5 14.2  58
373 664.5 10.4  75
374 698.6 20.3  42
375 855.3 10.3  78
376 744.4 15.4  57
377 672.6 21.1  54
378 715.1 21.9  42
379  30.6  8.7  51
380 171.4  5.2 100
381 458.8 19.3  39
382 643.0 16.2  63
383 690.0 28.2  29
384 753.8 20.5  58
385 819.1 21.3  44
386 613.0 20.9  50
387 750.5 20.6  55
388  30.6 11.6  48
389 706.7 23.3  34
390 706.7 23.3  34
391  58.3  7.5  71
392 738.1 20.7  46
393 825.1 21.9  43
394  25.6 15.2  19
395  46.7  5.3  68
396  56.9 10.1  62
397 750.5 20.4  55
398 613.0 24.3  33
399 715.1 25.9  32
400 297.7 28.0  34
401 297.7 28.0  34
402 731.7 22.8  46
403 706.7 25.0  36
404 643.0 21.3  41
405 725.1 21.8  34
406 680.9 27.9  27
407 860.6 17.0  67
408  55.0 14.2  46
409 855.3 19.9  44
410 450.2 23.4  31
411  52.8 14.7  42
412  43.6  8.2  53
413 442.1 22.8  27
414 715.1 26.4  33
415 723.1 24.1  50
416 698.6 27.5  27
417 575.8 26.3  39
418  28.3 13.8  24
419 664.5 24.9  42
420 613.0 24.8  36
421 635.9 26.2  36
422 690.0 30.8  19
423 795.9 29.3  27
424 744.4 22.3  48
425 715.1 26.9  31
426 753.8 20.4  56
427 753.8 20.4  56
428 672.6 27.9  33
429 698.6 26.2  34
430 613.0 24.6  44
431 849.3 19.4  45
432 605.3 23.3  40
433 698.6 23.9  38
434 723.1 20.9  66
435 811.2 22.2  45
436 376.6 23.8  51
437 672.6 26.8  35
438 768.4 14.2  73
439 715.1 23.6  53
440 738.1 19.1  46
441 855.3 16.2  58
442 672.6 25.5  29
443  41.6 10.9  64
444 368.3 14.8  78
445 855.3 16.2  58
446 100.7 17.3  80
447 664.5 19.1  70
448  28.3  8.9  35
449 844.0 10.5  77
450 613.0 19.3  61
451 690.0 23.4  49
452 649.9 11.8  88
453 730.6 17.7  65
454 803.3 17.4  54
455 753.8 16.8  56
456 567.2 17.9  48
457 753.8 16.6  59
458 635.9 19.9  50
459 715.1 18.9  64
460 819.1 15.5  72
461 715.1 18.9  64
462 715.1 18.9  64
463 825.1 14.5  76
464  16.2  4.6  82
465  16.2  5.1  77
466  15.3  4.6  59
467  36.9 10.2  45
468  41.1 11.2  41
469  43.5 13.3  27
470  25.6 13.7  33
471  25.6 17.6  27
472  73.7 18.0  40
473 229.0 14.3  79
474 252.6 24.5  50
475 316.7 26.4  35
476 350.2 22.7  40
477 395.0 27.2  28
478 423.4 26.1  45
479 423.4 18.2  82
480 431.6 22.6  57
481 560.0 30.2  25
482 560.0 30.2  22
483 587.1 23.4  40
484 587.1 31.0  27
485 587.1 33.1  25
486 596.3 30.6  28
487 605.8 24.1  43
488 605.8 26.4  34
489 605.8 19.4  71
490 605.8 20.6  58
491 605.8 28.7  33
492 624.1 32.4  21
493 633.6 32.4  27
494 633.6 27.5  29
495 643.0 30.8  30
496 661.8 23.9  42
497 661.8 32.6  26
498 671.2 32.3  27
499 671.2 33.3  26
500 671.2 27.3  63
501 671.2 21.6  65
502 671.2 21.6  65
503 671.2 20.7  69
504 689.1 29.2  30
505 689.1 28.9  29
506 744.4 26.7  35
507 752.6 18.5  73
508 752.6 25.9  41
509 752.6 25.9  41
510 752.6 21.1  71
511 752.6 18.2  62
512 665.6 27.8  35
513 665.6 27.8  32
514 665.6 21.9  71
515 665.6 21.2  70
516 614.7 25.6  42
517 106.7 11.8  31

3.2.2 PCA

Métodes basats en correlacions ens permeten detectar outliers

3.2.3 Distancia de Mahalanobis

Medeix la distancia de un punt respecte a la mitjana considerant la covariança

Code
distancia_mahalanobis <- mahalanobis(dades, colMeans(dades), cov(dades))

Grafiquem el plot de la densitat de les distancies

Code
plot(density(distancia_mahalanobis))

Es mostren els valors de la bbdd que queden per sobre de el 99% de la distribució chi-cuadrat

Code
cutoff <- qchisq(p = 0.99, df = ncol(dades))
dades[distancia_mahalanobis>cutoff, ]
       DC temp  RH
4    77.5  8.3  97
5   102.2 11.4  99
212 594.2  5.1  96
277 349.7  4.6  21
278 349.7  4.6  21
279 349.7  4.6  21
280 349.7  4.6  21
282 349.7  5.1  24
305 113.8 11.3  94
380 171.4  5.2 100
446 100.7 17.3  80

Ordenamos de forma decreciente, según el score de Mahalanobis

Code
dades <- dades[order(distancia_mahalanobis, decreasing = TRUE),]

Visualitzem l’histograma de les distancies per veure on tallem els outliers

Code
par(mfrow=c(1,1))
hist(distancia_mahalanobis)

Descartamos los outliers según un umbral

Code
umbral <- 8
dades[, "outlier"] <- (distancia_mahalanobis > umbral)

dades[, "color"] <- ifelse(dades[, "outlier"], "red", "black")
scatterplot3d(dades[, "DC"], dades[, "temp"], dades[, "RH"], 
              color = dades[, "color"])

Code
(fig <- plotly::plot_ly(dades, x = ~DC, y = ~temp, z = ~RH, 
                       color = ~color, colors = c('#0C4B8E', '#BF382A')) %>% 
                        add_markers())
Code
(quienes <- which(dades[, "outlier"] == TRUE))
 [1]   4   5  76 105 212 240 277 278 279 280 281 282 283 287 300 305 336 375 380
[20] 446 464 465 479 500

3.2.3.1 Mahalanobis Robusto

Code
library(chemometrics)

dis <- chemometrics::Moutlier(dades[, c("DC", "temp", "RH")], quantile = 0.99, plot = TRUE)

Code
par(mfrow = c(1, 1))
plot(dis$md, dis$rd, type = "n")
text(dis$md, dis$rd, labels = rownames(dades))

Code
a <- which(dis$rd > 7)
print(a)
277 278 279 280   5 282   4 305 380 446 240 464 105  76 465 394 466 284 166 448 
  1   2   3   4   5   6   7   8   9  10  12  15  17  18  20  31  35  37  39  40 
395 418 112  98 391 119 177 197 203 285 242 469 205  62  78 471 117 443  73  92 
 41  43  46  48  49  51  52  53  54  55  60  63  66  67  68  69  72  74  83  84 
517 470  90 116 169 115 379 412  70  17 118 191 396 220  49 107 241 215 216 467 
 85  86  87  88  90  91  92  94  95  96  97  99 100 103 105 107 108 109 110 113 
468  71   1  20 472 161  77 388  59  97 183  60 127 190  19 163 106 411  61 187 
118 119 121 122 123 126 128 131 132 133 137 139 140 144 145 146 147 150 151 152 
408 132 135 111 202  40 133 147  50 214 223 131 189 
154 157 158 159 163 164 165 169 170 171 172 173 177 

3.2.4 Regresió Lineal i residus

Un punt amb un residu gran pot considerar-se un outlier

3.2.5 Distancia de Cook

Identifica punts amb gran influència en la regresió. Un valor de Cook D_i > 1 és un outliers.

3.2.6 K-Nearest Neighbors (KNN) Outlier Score

Basats en la densitat local de les dades

Code
library(adamethods)

do_knno(dades[, c("DC", "temp", "RH")], k=1, top_n = 30)
 [1]   9 149  64  65   7  33  73  79 130  32  16  19 274 167 198  22 142  63 106
[20]  35  11 273 245 227   5   8  13  27  10 279

3.2.7 Local Outlier Factor (LOF)

Compara la densidat de un punt amb la densidat dels seus veïns. Un valor LOF alt

Code
library(DMwR2)
library(dplyr)

outlier.scores <- lofactor(dades[, c("DC", "temp", "RH")], k = 5)
par(mfrow=c(1,1))
plot(density(outlier.scores))
outlier.scores
outliers <- order(outlier.scores, decreasing=T)
outliers <- order(outlier.scores, decreasing=T)[1:5]

Aprofitarem el ACP per poder visualizar els outliers

Code
n <- nrow(dades[, c("DC", "temp", "RH")]); labels <- 1:n; labels[-outliers] <- "."
biplot(prcomp(dades[, c("DC", "temp", "RH")]), cex = .8, xlabs = labels)

Grafiquem les correlacions per veure els gráfics

Code
pch <- rep(".", n)
pch[outliers] <- "+"
col <- rep("black", n)
col[outliers] <- "red"
pairs(dades[, c("DC", "temp", "RH")], pch = pch, col = col)

Ho visualitzem en 3D

Code
plot3d(dades[, "DC"], dades[, "temp"], dades[, "RH"], type = "s", col = col, size = 1)

3.2.7.1 Nueva versión de LOF

Code
library(Rlof)
outliers.scores <- Rlof::lof(dades[, c("DC", "temp", "RH")], k = 5)
plot(density(outliers.scores))

Code
#outlier.scores <- lof(dades[, c("DC", "temp", "RH")], k=c(5:10))

3.2.8 Isolation Forest

Code
### Cargamos las librerias necesarias
library(R.matlab)   # Lectura de archivos .mat
library(solitude)   # Modelo isolation forest
library(tidyverse)  # Preparación de datos y gráficos
library(MLmetrics)

# Carreguem les dades
cardio_mat  <- readMat("https://www.dropbox.com/s/galg3ihvxklf0qi/cardio.mat?dl=1")
df_cardio   <- as.data.frame(cardio_mat$X)
df_cardio$y <- as.character(cardio_mat$y)
datos <- df_cardio
Code
isoforest <- isolationForest$new(
  sample_size = as.integer(nrow(datos)/2),
  num_trees   = 500, 
  replace     = TRUE,
  seed        = 123
)
isoforest$fit(dataset = datos %>% select(-y))

Ara anem a realitzar les prediccions.

Code
predicciones <- isoforest$predict(
  data = datos %>% select(-y)
)
head(predicciones)
      id average_depth anomaly_score
   <int>         <num>         <num>
1:     1         9.816     0.5875006
2:     2         9.738     0.5899888
3:     3         9.528     0.5967405
4:     4         9.728     0.5903086
5:     5         9.860     0.5861016
6:     6         9.796     0.5881376
Code
ggplot(data = predicciones, aes(x = average_depth)) +
  geom_histogram(color = "gray40") +
  geom_vline(
    xintercept = quantile(predicciones$average_depth, seq(0, 1, 0.1)),
    color      = "red",
    linetype   = "dashed") +
  labs(
    title = "Distribución de las distancias medias del Isolation Forest",
    subtitle = "Cuantiles marcados en rojo"  ) +
  theme_bw() +
  theme(plot.title = element_text(size = 11))

Code
cuantiles <- quantile(x = predicciones$average_depth, probs = seq(0, 1, 0.05))
cuantiles
   0%    5%   10%   15%   20%   25%   30%   35%   40%   45%   50%   55%   60% 
7.556 8.952 9.264 9.451 9.548 9.629 9.694 9.744 9.790 9.824 9.852 9.870 9.888 
  65%   70%   75%   80%   85%   90%   95%  100% 
9.904 9.920 9.934 9.948 9.958 9.970 9.980 9.998 

3.2.9 TIPS: Detección de anomalías

Una vez que la distancia de separación ha sido calculado, se puede emplear como criterio para identificar anomalías. Asumiendo que las observaciones con valores atípicos en una o más de sus variables se separan del resto con mayor facilidad, aquellas observaciones con menor distancia promedio deberían ser las más atípicas.

En la práctica, si se está empleando esta estrategia de detección es porque no se dispone de datos etiquetados, es decir, no se conoce qué observaciones son realmente anomalías. Sin embargo, como en este ejemplo se dispone de la clasificación real, se puede verificar si realmente los datos anómalos tienen menores distancias.

Code
datos <- datos %>%
  bind_cols(predicciones)

ggplot(data = datos,
       aes(x = y, y = average_depth)) +
  geom_jitter(aes(color = y), width = 0.03, alpha = 0.3) + 
  geom_violin(alpha = 0) +
  geom_boxplot(width = 0.2, outlier.shape = NA, alpha = 0) +
  stat_summary(fun = "mean", colour = "orangered2", size = 3, geom = "point") +
  labs(title = "Distancia promedio en el modelo Isolation Forest",
       x = "clasificación (0 = normal, 1 = anomalía)",
       y = "Distancia promedio") +
  theme_bw() + 
  theme(legend.position = "none",
        plot.title = element_text(size = 11)
  )

La distancia promedio en el grupo de las anomalías (1) es claramente inferior. Sin embargo, al existir solapamiento, si se clasifican las n observaciones con menor distancia como anomalías, se incurriría en errores de falsos positivos.

Acorde a la documentación, el set de datos Cardiotocogrpahy contiene 176 anomalías. Véase la matriz de confusión resultante si se clasifican como anomalías las 176 observaciones con menor distancia predicha.

Code
resultados <- datos %>%
  select(y, average_depth) %>%
  arrange(average_depth) %>%
  mutate(clasificacion = if_else(average_depth <= 8.5, "1", "0"))

mat_confusion <- MLmetrics::ConfusionMatrix(
  y_pred = resultados$clasificacion,
  y_true = resultados$y)

mat_confusion
      y_pred
y_true    0    1
     0 1638   17
     1  158   18

4 Missing values (valores faltantes)

Los valores faltantes aparecen cuando una observación no tiene registrado el valor en cierta variable.

Manejar correctamente los NA es esencial: eliminarlos puede reducir mucho el dataset, mientras que imputarlos incorrectamente puede introducir sesgos.

Existen varias técnicas:

  • Eliminación de filas/columnas con demasiados NA.
  • Imputación simple, por ejemplo reemplazando con la media o moda.
  • Imputación avanzada, como KNN o modelos predictivos.

👉 La elección depende de la importancia de la variable, la cantidad de NA y el contexto del problema.

4.1 Generate data with NA’s

Code
colSums(is.na(iris))
Sepal.Length  Sepal.Width Petal.Length  Petal.Width      Species 
           0            0            0            0            0 
Code
iris.mis <- missForest::prodNA(iris, noNA = 0.1)
colSums((is.na(iris.mis)))
Sepal.Length  Sepal.Width Petal.Length  Petal.Width      Species 
          12           15           16           16           16 

Otra forma de crear missings en el dataframe

Code
iris.mis <- mi::create.missing(iris, pct.mis = 10)

4.2 Little Test

Es un test que nos permite detectar con que tipo de NA’s estamos enfrente:

Code
naniar::mcar_test(iris.mis)

Si el valor p de la prova és inferior a 0 això vol dir que les dades amb NAs s’han generat aleatòriament.

4.3 Patrons descriptius de NA en una base de dades

4.3.1 Explorar les relacions de NA’s

Code
library(visdat)
library(ggplot2)
library(naniar)

vis_dat(airquality);

Code
vis_dat(iris.mis)

Code
vis_miss(airquality);

Code
vis_miss(iris.mis)

Code
ggplot(airquality, aes(x = Solar.R,y = Ozone)) + 
  geom_point()

Code
ggplot(airquality, aes(x = Solar.R,  y = Ozone)) + 
  geom_miss_point()

Code
ggplot(airquality, aes(x = Solar.R, y = Ozone)) + 
  geom_miss_point() + 
  facet_wrap(~Month)

Code
ggplot(airquality, aes(x = Solar.R, y = Ozone)) + 
  geom_miss_point() + 
  facet_wrap(~Month) + 
  theme_dark()

4.3.2 Visualització dels NA’s per variables

Code
gg_miss_var(airquality) + labs(y = "Look at all the missing ones")

4.3.3 Detecció de NA’s en la base de dades

Code
aq_shadow <- bind_shadow(airquality)

Imprimeix el gràfic amb diferència a les NA i no a les NA,

Code
airquality %>%
  bind_shadow() %>%
  group_by(Ozone_NA) %>%
  summarise_at(.vars = "Solar.R",
               .funs = c("mean", "sd", "var", "min", "max"),
               na.rm = TRUE)
# A tibble: 2 × 6
  Ozone_NA  mean    sd   var   min   max
  <fct>    <dbl> <dbl> <dbl> <int> <int>
1 !NA       185.  91.2 8309.     7   334
2 NA        190.  87.7 7690.    31   332
Code
ggplot(aq_shadow,
       aes(x = Temp,
           colour = Ozone_NA)) + 
  geom_density()

4.3.4 Extreu estadístiques amb NAs de la base de dades

Code
prop_miss_case(airquality)
[1] 0.2745098
Code
pct_miss_case(airquality)
[1] 27.45098
Code
miss_case_summary(airquality)
# A tibble: 153 × 3
    case n_miss pct_miss
   <int>  <int>    <dbl>
 1     5      2     33.3
 2    27      2     33.3
 3     6      1     16.7
 4    10      1     16.7
 5    11      1     16.7
 6    25      1     16.7
 7    26      1     16.7
 8    32      1     16.7
 9    33      1     16.7
10    34      1     16.7
# ℹ 143 more rows
Code
miss_case_table(airquality)
# A tibble: 3 × 3
  n_miss_in_case n_cases pct_cases
           <int>   <int>     <dbl>
1              0     111     72.5 
2              1      40     26.1 
3              2       2      1.31
Code
prop_miss_var(airquality)
[1] 0.3333333
Code
pct_miss_var(airquality)
[1] 33.33333
Code
miss_var_summary(airquality)
# A tibble: 6 × 3
  variable n_miss pct_miss
  <chr>     <int>    <num>
1 Ozone        37    24.2 
2 Solar.R       7     4.58
3 Wind          0     0   
4 Temp          0     0   
5 Month         0     0   
6 Day           0     0   
Code
miss_var_table(airquality)
# A tibble: 3 × 3
  n_miss_in_var n_vars pct_vars
          <int>  <int>    <dbl>
1             0      4     66.7
2             7      1     16.7
3            37      1     16.7

4.4 Imputació bàsica

4.4.1 Imputar con la media

Code
iris.mis[, "imputed_Sepal.Length"] <- with(iris.mis, Hmisc::impute(Sepal.Length, mean))

4.4.2 Imputar con la mediana

Code
pre_median <- preProcess(dades, method = "medianImpute")
imputed_median <- predict(pre_median, dades)
diagnose(imputed_median)

4.4.3 Imputar con un valor aleatorio

Code
iris.mis[, "imputed_Sepal.Length2"] <- with(iris.mis, Hmisc::impute(Sepal.Length, 'random'))

De manera similar podeu utilitzar la mediana min, max, per imputar el valor que manca.

4.4.4 Representa la distribució a variables reals i d’imputació a través del gráfico de densidad con ggplot2

Code
df_long <- iris.mis %>%
  select(Sepal.Length, imputed_Sepal.Length, imputed_Sepal.Length2) %>%
  pivot_longer(cols = everything(), names_to = "Variable", values_to = "Valor")

ggplot(df_long, aes(x = Valor, fill = Variable)) +
  geom_density(alpha = 0.3) +  # Transparencia para mejor visualización
  labs(title = "Densidad de las tres variables",
       x = "Valor",
       y = "Densidad") +
  theme_minimal() +
  scale_fill_manual(values = c("blue", "red", "green"))

Code
iris.mis[, c("imputed_Sepal.Length", "imputed_Sepal.Length2")] <- NULL

Otra forma es usando el paquete argImpute.

Code
(impute_arg <- Hmisc::aregImpute(~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width +
                           Species, data = iris.mis, n.impute = 5))
Iteration 1 
Iteration 2 
Iteration 3 
Iteration 4 
Iteration 5 
Iteration 6 
Iteration 7 
Iteration 8 

Multiple Imputation using Bootstrap and PMM

Hmisc::aregImpute(formula = ~Sepal.Length + Sepal.Width + Petal.Length + 
    Petal.Width + Species, data = iris.mis, n.impute = 5)

n: 150  p: 5    Imputations: 5      nk: 3 

Number of NAs:
Sepal.Length  Sepal.Width Petal.Length  Petal.Width      Species 
          12           15           16           16           16 

             type d.f.
Sepal.Length    s    2
Sepal.Width     s    2
Petal.Length    s    2
Petal.Width     s    2
Species         c    2

Transformation of Target Variables Forced to be Linear

R-squares for Predicting Non-Missing Values for Each Variable
Using Last Imputations of Predictors
Sepal.Length  Sepal.Width Petal.Length  Petal.Width      Species 
       0.825        0.632        0.982        0.974        0.990 

Revisamos la variable Sepal.Length con la imputación realizada en cada una de las rondas.

Code
impute_arg$imputed$Sepal.Length
    [,1] [,2] [,3] [,4] [,5]
6    5.8  5.1  4.6  5.1  5.0
52   5.8  6.1  6.0  6.7  6.5
61   5.1  5.1  5.7  5.0  5.4
62   6.0  5.6  6.3  5.8  6.3
74   6.7  5.6  5.8  6.4  5.6
81   5.2  6.0  5.5  5.1  5.2
116  6.1  6.1  6.0  6.3  6.3
118  5.1  5.1  7.7  7.7  7.7
132  7.6  7.6  7.2  7.7  7.3
133  6.0  6.7  6.9  6.9  6.8
136  6.3  7.2  6.9  6.8  6.7
138  6.5  6.3  6.3  6.9  6.7

Calculamos la media para las 5 simulaciones.

Code
imputed_Sepal.Length <- rowMeans(impute_arg$imputed$Sepal.Length)
new_var_imputed <- iris$Sepal.Length
new_var_imputed[as.numeric(names(imputed_Sepal.Length))] <- imputed_Sepal.Length

Revisamos la diferencia entre las dos imputaciones.

Code
newBD <- data.frame(real = iris[, "Sepal.Length"], imputed = new_var_imputed)
df_long <- newBD %>%
  pivot_longer(cols = everything(), names_to = "Variable", values_to = "Valor")

ggplot(df_long, aes(x = Valor, fill = Variable)) +
  geom_density(alpha = 0.3) +  # Transparencia para mejor visualización
  labs(title = "Densidad de las tres variables",
       x = "Valor",
       y = "Densidad") +
  theme_minimal() +
  scale_fill_manual(values = c("blue", "red"))

4.5 Multiple Iterative Regression Imputation (MI method)

Imputamos los valores NA’s con mi

Code
mi_data <- mi::mi(iris.mis, seed = 335)

Revisamos la información de las imputaciones.

Code
summary(mi_data)
plot(mi_data)
par(ask = FALSE)

Revisamos las interaciones de la base de datos

Code
mi_data@data

4.6 Media con una variable target

Definimos la variable target

Code
target = "Species"

Definimos la base de datos con NA’s

Code
data <- subset(iris, select = -c(get(target)))
data <- missForest::prodNA(data, noNA = 0.1)
data$Species <- iris[, target]

Definir variables a imputar (excluyendo la variable target)

Code
varImp <- colnames(data)[which(!colnames(data) %in% target)]

Calcular las medias por grupo

Code
means <- aggregate(data[, varImp], list(data[, target]), mean, na.rm = TRUE)

Imputar valores faltantes

Code
for (c in varImp) {
  for (g in means[, "Group.1"]) {
    cond <- data[, target] == g  # Condición booleana en vez de which()
    na_index <- is.na(data[, c]) & cond  # Seleccionar NA dentro del grupo
    
    # Asignar valores imputados
    data[na_index, c] <- means[means[, "Group.1"] == g, c]
  }
}
summary(data)
  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.500   1st Qu.:0.300  
 Median :5.800   Median :3.000   Median :4.300   Median :1.326  
 Mean   :5.833   Mean   :3.034   Mean   :3.757   Mean   :1.202  
 3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800  
 Max.   :7.900   Max.   :4.100   Max.   :6.900   Max.   :2.500  
       Species  
 setosa    :50  
 versicolor:50  
 virginica :50  
                
                
                

Visualizamos la diferencia entre las imputaciones

Code
iris[, "Tipo"] <- "original"
data[, "Tipo"] <- "imputed"

Unimos en un mismo dataframe

Code
data_long <- bind_rows(iris, data)
cols_numeric <- names(data_long)[sapply(data_long, is.numeric) & names(data_long) != "Tipo"]

# Convert a large data
data_long <- data_long %>%
  pivot_longer(cols = all_of(cols_numeric), names_to = "Variable", values_to = "Valor")

Creamos el gráfico con ggplot

Code
ggplot(data_long, aes(x = Valor, fill = Tipo)) +
  geom_density(alpha = 0.3) +  # Transparencia para comparación
  facet_wrap(~Variable, scales = "free") +  # Un gráfico por variable
  labs(title = "Comparación de Distribuciones: Original vs Imputado",
       x = "Valor",
       y = "Densidad") +
  theme_minimal() +
  scale_fill_manual(values = c("blue", "red"))

Removemos la tipologia de variable

Code
iris.mis[, "Tipo"] <- NULL

4.7 Multiple Imputation by Chained Equations (MICE)

Eliminamos las variables categoricas

Code
quiCat <- which(lapply(iris.mis, class) %in% c("character", "factor"))
categories <- names(iris.mis)[quiCat]
iris.mis2 <- subset(iris.mis, select = -c(get(categories)))
summary(iris.mis2)
  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.500   1st Qu.:0.300  
 Median :5.700   Median :3.000   Median :4.300   Median :1.300  
 Mean   :5.795   Mean   :3.032   Mean   :3.697   Mean   :1.208  
 3rd Qu.:6.375   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800  
 Max.   :7.700   Max.   :4.400   Max.   :6.700   Max.   :2.500  
 NA's   :12      NA's   :15      NA's   :16      NA's   :16     

Visualizamos los patrones de NA’s de la base de datos

Code
par(mfrow = c(1, 1))
mice::md.pattern(iris.mis2, rotate.names = TRUE)

   Sepal.Length Sepal.Width Petal.Length Petal.Width   
99            1           1            1           1  0
12            1           1            1           0  1
15            1           1            0           1  1
9             1           0            1           1  1
2             1           0            1           0  2
1             1           0            0           1  2
7             0           1            1           1  1
2             0           1            1           0  2
3             0           0            1           1  2
             12          15           16          16 59

También lo podemos visualizar con el paquete VIM

Code
mice_plot <- VIM::aggr(iris.mis2, col=c('navyblue','yellow'),
                  numbers=TRUE, sortVars=TRUE,
                  labels=names(iris.mis), cex.axis=.7,
                  gap=3, ylab=c("Missing data","Pattern"))


 Variables sorted by number of missings: 
     Variable     Count
 Petal.Length 0.1066667
  Petal.Width 0.1066667
  Sepal.Width 0.1000000
 Sepal.Length 0.0800000

A continuación realizamos la imputación de los valores faltanes de manera multivariada

Code
imputed_Data <- mice::mice(iris.mis2, m=5, maxit = 50, method = 'pmm', seed = 500)

 iter imp variable
  1   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  1   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  1   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  1   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  1   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  2   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  2   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  2   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  2   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  2   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  3   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  3   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  3   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  3   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  3   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  4   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  4   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  4   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  4   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  4   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  5   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  5   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  5   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  5   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  5   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  6   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  6   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  6   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  6   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  6   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  7   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  7   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  7   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  7   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  7   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  8   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  8   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  8   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  8   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  8   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  9   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  9   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  9   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  9   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  9   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  10   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  10   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  10   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  10   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  10   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  11   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  11   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  11   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  11   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  11   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  12   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  12   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  12   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  12   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  12   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  13   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  13   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  13   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  13   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  13   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  14   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  14   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  14   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  14   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  14   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  15   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  15   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  15   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  15   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  15   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  16   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  16   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  16   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  16   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  16   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  17   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  17   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  17   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  17   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  17   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  18   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  18   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  18   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  18   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  18   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  19   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  19   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  19   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  19   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  19   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  20   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  20   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  20   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  20   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  20   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  21   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  21   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  21   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  21   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  21   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  22   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  22   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  22   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  22   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  22   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  23   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  23   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  23   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  23   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  23   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  24   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  24   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  24   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  24   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  24   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  25   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  25   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  25   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  25   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  25   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  26   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  26   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  26   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  26   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  26   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  27   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  27   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  27   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  27   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  27   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  28   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  28   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  28   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  28   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  28   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  29   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  29   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  29   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  29   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  29   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  30   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  30   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  30   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  30   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  30   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  31   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  31   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  31   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  31   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  31   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  32   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  32   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  32   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  32   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  32   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  33   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  33   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  33   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  33   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  33   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  34   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  34   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  34   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  34   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  34   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  35   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  35   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  35   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  35   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  35   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  36   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  36   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  36   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  36   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  36   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  37   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  37   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  37   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  37   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  37   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  38   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  38   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  38   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  38   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  38   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  39   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  39   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  39   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  39   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  39   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  40   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  40   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  40   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  40   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  40   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  41   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  41   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  41   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  41   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  41   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  42   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  42   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  42   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  42   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  42   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  43   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  43   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  43   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  43   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  43   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  44   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  44   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  44   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  44   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  44   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  45   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  45   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  45   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  45   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  45   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  46   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  46   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  46   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  46   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  46   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  47   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  47   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  47   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  47   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  47   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  48   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  48   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  48   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  48   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  48   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  49   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  49   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  49   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  49   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  49   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  50   1  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  50   2  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  50   3  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  50   4  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
  50   5  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
Code
summary(imputed_Data)
Class: mids
Number of multiple imputations:  5 
Imputation methods:
Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
       "pmm"        "pmm"        "pmm"        "pmm" 
PredictorMatrix:
             Sepal.Length Sepal.Width Petal.Length Petal.Width
Sepal.Length            0           1            1           1
Sepal.Width             1           0            1           1
Petal.Length            1           1            0           1
Petal.Width             1           1            1           0

Inspeccionamos la calidad de las imputaciones

Code
mice::stripplot(imputed_Data, Sepal.Width, pch = 19, xlab = "Imputation number")

Code
imputed_Data$imp$Sepal.Width
      1   2   3   4   5
1   3.6 3.6 4.1 3.5 3.0
5   3.4 3.0 2.6 3.0 3.4
6   2.3 3.1 3.4 3.5 3.5
17  4.4 3.8 4.2 3.5 3.7
26  2.9 3.1 3.2 2.9 3.3
31  2.8 2.8 2.8 2.8 3.1
38  3.1 3.3 2.9 2.9 3.1
70  3.0 2.9 2.3 2.4 2.4
101 2.5 2.9 3.0 2.7 3.2
112 2.9 3.2 3.0 3.0 2.7
116 2.8 4.2 3.2 3.1 3.2
121 3.4 2.8 2.8 3.8 3.2
130 2.8 3.4 3.1 4.1 3.3
132 2.7 2.7 2.7 2.5 2.9
146 3.4 3.0 3.8 3.5 3.3

Al final seleccionamos una de las iteracciones y la dejamos como imputación de los valores faltantes.

Code
completeData <- mice::complete(imputed_Data, action = "long")

4.7.1 Exercices:

  1. Deploy the multiple plot to compare te imputation and not imputation with all numeric vars in dataframe

4.8 KNN

Code
tipos <- sapply(iris.mis, class)
varNum <- names(tipos)[which(tipos %in% c("numeric", "integer"))]
data_knn_imputation <- multiUS::KNNimp(iris.mis[, varNum], k = 1)
summary(data_knn_imputation)
  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.400   Median :1.300  
 Mean   :5.841   Mean   :3.045   Mean   :3.767   Mean   :1.191  
 3rd Qu.:6.475   3rd Qu.:3.375   3rd Qu.:5.100   3rd Qu.:1.800  
 Max.   :7.700   Max.   :4.400   Max.   :6.700   Max.   :2.500  

Visualizamos la diferencia entre las dos imputaciones.

Code
newBD <- data.frame(real = iris[, "Sepal.Length"], imputed = data_knn_imputation[, "Sepal.Length"])
df_long <- newBD %>%
  pivot_longer(cols = everything(), names_to = "Variable", values_to = "Valor")

ggplot(df_long, aes(x = Valor, fill = Variable)) +
  geom_density(alpha = 0.3) +  # Transparencia para mejor visualización
  labs(title = "Densidad de las tres variables",
       x = "Valor",
       y = "Densidad") +
  theme_minimal() +
  scale_fill_manual(values = c("blue", "red"))

Otra forma de hacerlo en R seria la siguiente:

Code
#| label: graficamos_mi_iteration
#| echo: true
#| eval: false
#| warning: false
#| message: false
#| error: false

library("caret")
pre_knn <- preProcess(dades, method = "knnImpute", k = 2)
imputed_knn <- predict(pre_knn, dades)
diagnose(imputed_knn)
# A tibble: 5 × 6
  variables types     missing_count missing_percent unique_count unique_rate
  <chr>     <chr>             <int>           <dbl>        <int>       <dbl>
1 DC        numeric               0               0          219     0.424  
2 temp      numeric               0               0          192     0.371  
3 RH        numeric               0               0           75     0.145  
4 outlier   logical               0               0            2     0.00387
5 color     character             0               0            2     0.00387

4.8.1 Exercices:

  1. Deploy the multiple plot to compare the imputation and not imputation with all numeric vars in dataframe

4.9 missForest

Imputamos los missings usando todos los parametros con los valores por defectos.

Code
library(missForest)
iris.imp <- missForest(iris.mis, variablewise = T, verbose = T) 
  missForest iteration 1 in progress...done!
    estimated error(s): 0.1785301 0.09607199 0.1616973 0.032296 0.05223881 
    difference(s): 0.005511064 0.08 
    time: 0.04 seconds

  missForest iteration 2 in progress...done!
    estimated error(s): 0.1241168 0.08722486 0.06218984 0.02937162 0.04477612 
    difference(s): 0.0001018209 0 
    time: 0.05 seconds

  missForest iteration 3 in progress...done!
    estimated error(s): 0.1310795 0.08576933 0.0644648 0.02911535 0.03731343 
    difference(s): 1.120453e-05 0 
    time: 0.06 seconds

  missForest iteration 4 in progress...done!
    estimated error(s): 0.1240951 0.08841871 0.06278651 0.02825258 0.04477612 
    difference(s): 1.038555e-05 0 
    time: 0.05 seconds

  missForest iteration 5 in progress...done!
    estimated error(s): 0.1255279 0.09103837 0.06693245 0.0299239 0.04477612 
    difference(s): 6.865365e-06 0 
    time: 0.05 seconds

  missForest iteration 6 in progress...done!
    estimated error(s): 0.1239506 0.08867171 0.06091633 0.02916087 0.04477612 
    difference(s): 6.449324e-06 0 
    time: 0.06 seconds

  missForest iteration 7 in progress...done!
    estimated error(s): 0.1228071 0.08399709 0.06295863 0.03010765 0.05223881 
    difference(s): 1.060512e-05 0 
    time: 0.03 seconds

Visualizamos los valores imputados

Code
iris.imp$ximp
    Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
1       5.100000    3.503897     1.504231   0.2000000     setosa
2       4.900000    3.000000     1.400000   0.2000000     setosa
3       4.700000    3.200000     1.300000   0.2000000     setosa
4       4.600000    3.100000     1.500000   0.2000000     setosa
5       5.000000    3.302965     1.400000   0.2057000     setosa
6       5.209333    3.597583     1.700000   0.4000000     setosa
7       4.600000    3.400000     1.400000   0.3000000     setosa
8       5.000000    3.400000     1.500000   0.2000000     setosa
9       4.400000    2.900000     1.400000   0.2000000     setosa
10      4.900000    3.100000     1.500000   0.1000000     setosa
11      5.400000    3.700000     1.500000   0.2667614     setosa
12      4.800000    3.400000     1.600000   0.2000000     setosa
13      4.800000    3.000000     1.400000   0.1000000     setosa
14      4.300000    3.000000     1.100000   0.1000000     setosa
15      5.800000    4.000000     1.200000   0.3362333     setosa
16      5.700000    4.400000     1.500000   0.4000000     setosa
17      5.400000    3.694333     1.300000   0.4000000     setosa
18      5.100000    3.500000     1.442550   0.3000000     setosa
19      5.700000    3.800000     1.700000   0.3000000     setosa
20      5.100000    3.800000     1.500000   0.3000000     setosa
21      5.400000    3.400000     1.700000   0.2000000     setosa
22      5.100000    3.700000     1.500000   0.4000000     setosa
23      4.600000    3.600000     1.000000   0.2000000     setosa
24      5.100000    3.300000     1.700000   0.5000000     setosa
25      4.800000    3.400000     1.900000   0.2938250     setosa
26      5.000000    3.435417     1.600000   0.2000000     setosa
27      5.000000    3.400000     1.600000   0.4000000     setosa
28      5.200000    3.500000     1.500000   0.2000000     setosa
29      5.200000    3.400000     1.400000   0.2000000     setosa
30      4.700000    3.200000     1.600000   0.2000000     setosa
31      4.800000    3.306800     1.600000   0.2000000     setosa
32      5.400000    3.400000     1.500000   0.2217281     setosa
33      5.200000    4.100000     1.500000   0.1000000     setosa
34      5.500000    4.200000     1.400000   0.2000000     setosa
35      4.900000    3.100000     1.500000   0.2000000     setosa
36      5.000000    3.200000     1.200000   0.2000000     setosa
37      5.500000    3.500000     1.300000   0.2000000     setosa
38      4.900000    3.071380     1.400000   0.1000000     setosa
39      4.400000    3.000000     1.300000   0.1940821     setosa
40      5.100000    3.400000     1.500000   0.2000000     setosa
41      5.000000    3.500000     1.300000   0.3000000     setosa
42      4.500000    2.300000     1.300000   0.3000000     setosa
43      4.400000    3.200000     1.300000   0.2000000     setosa
44      5.000000    3.500000     1.600000   0.6000000     setosa
45      5.100000    3.800000     1.900000   0.4000000     setosa
46      4.800000    3.000000     1.400000   0.3000000     setosa
47      5.100000    3.800000     1.600000   0.2000000     setosa
48      4.600000    3.200000     1.400000   0.2000000     setosa
49      5.300000    3.700000     1.500000   0.2000000     setosa
50      5.000000    3.300000     1.400000   0.2000000     setosa
51      7.000000    3.200000     4.657098   1.4000000 versicolor
52      6.224267    3.200000     4.500000   1.5000000 versicolor
53      6.900000    3.100000     4.900000   1.5000000 versicolor
54      5.500000    2.300000     4.009955   1.3000000 versicolor
55      6.500000    2.800000     4.785000   1.5000000 versicolor
56      5.700000    2.800000     4.500000   1.3000000 versicolor
57      6.300000    3.300000     4.723100   1.6000000 versicolor
58      4.900000    2.400000     3.300000   1.0000000 versicolor
59      6.600000    2.900000     4.600000   1.3000000 versicolor
60      5.200000    2.700000     3.900000   1.4000000 versicolor
61      5.415833    2.000000     3.500000   1.0000000 versicolor
62      5.721783    3.000000     4.200000   1.5000000 versicolor
63      6.000000    2.200000     4.000000   1.0000000 versicolor
64      6.100000    2.900000     4.700000   1.4000000 versicolor
65      5.600000    2.900000     4.224271   1.3000000 versicolor
66      6.700000    3.100000     4.400000   1.4000000 versicolor
67      5.600000    3.000000     4.500000   1.4176667 versicolor
68      5.800000    2.700000     4.100000   1.0000000 versicolor
69      6.200000    2.200000     4.500000   1.5000000 versicolor
70      5.600000    2.473683     3.900000   1.1000000 versicolor
71      5.900000    3.200000     4.800000   1.8000000 versicolor
72      6.100000    2.800000     4.000000   1.3000000 versicolor
73      6.300000    2.500000     4.900000   1.5000000 versicolor
74      6.294995    2.800000     4.700000   1.4422000 versicolor
75      6.400000    2.900000     4.300000   1.3419000 versicolor
76      6.600000    3.000000     4.400000   1.4000000 versicolor
77      6.800000    2.800000     4.800000   1.4000000 versicolor
78      6.700000    3.000000     5.000000   1.7000000 versicolor
79      6.000000    2.900000     4.647900   1.5000000 versicolor
80      5.700000    2.600000     3.500000   1.0000000 versicolor
81      5.440450    2.400000     3.800000   1.1000000 versicolor
82      5.500000    2.400000     3.700000   1.0000000 versicolor
83      5.800000    2.700000     3.900000   1.2000000 versicolor
84      6.000000    2.700000     5.100000   1.6000000 versicolor
85      5.400000    3.000000     4.500000   1.5000000 versicolor
86      6.000000    3.400000     4.500000   1.6000000 versicolor
87      6.700000    3.100000     4.700000   1.4577000 versicolor
88      6.300000    2.300000     4.400000   1.3000000 versicolor
89      5.600000    3.000000     4.100000   1.3000000 versicolor
90      5.500000    2.500000     4.000000   1.3000000 versicolor
91      5.500000    2.600000     4.400000   1.2000000 versicolor
92      6.100000    3.000000     4.526114   1.4000000 versicolor
93      5.800000    2.600000     4.000000   1.2000000 versicolor
94      5.000000    2.300000     3.300000   1.0000000 versicolor
95      5.600000    2.700000     4.200000   1.3000000 versicolor
96      5.700000    3.000000     4.139935   1.2000000 versicolor
97      5.700000    2.900000     4.200000   1.3000000 versicolor
98      6.200000    2.900000     4.300000   1.3000000 versicolor
99      5.100000    2.500000     3.725717   1.1000000 versicolor
100     5.700000    2.800000     4.287783   1.3000000 versicolor
101     6.300000    3.327167     6.000000   2.5000000  virginica
102     5.800000    2.700000     5.100000   1.9000000  virginica
103     7.100000    3.000000     5.900000   2.1000000  virginica
104     6.300000    2.900000     5.600000   1.8000000  virginica
105     6.500000    3.000000     5.800000   2.2000000  virginica
106     7.600000    3.000000     6.600000   2.1000000  virginica
107     4.900000    2.500000     4.500000   1.7000000  virginica
108     7.300000    2.900000     6.300000   1.8000000  virginica
109     6.700000    2.500000     5.800000   1.8000000  virginica
110     7.200000    3.600000     6.100000   2.5000000  virginica
111     6.500000    3.200000     5.100000   2.0000000  virginica
112     6.400000    2.756000     5.300000   1.9000000  virginica
113     6.800000    3.000000     5.500000   2.1000000  virginica
114     5.700000    2.500000     5.000000   2.0000000  virginica
115     5.800000    2.800000     5.100000   2.4000000  virginica
116     6.736750    3.133500     5.300000   2.3000000  virginica
117     6.500000    3.000000     5.500000   1.8000000  virginica
118     7.345200    3.800000     6.700000   2.2000000  virginica
119     7.700000    2.600000     6.322667   2.3000000  virginica
120     6.000000    2.200000     5.000000   1.5000000  virginica
121     6.900000    3.186500     5.700000   2.3000000  virginica
122     5.600000    2.800000     4.900000   1.8892000  virginica
123     7.700000    2.800000     6.700000   2.0000000  virginica
124     6.300000    2.700000     5.410267   1.8000000  virginica
125     6.700000    3.300000     5.700000   2.1000000  virginica
126     7.200000    3.200000     6.000000   1.8000000  virginica
127     6.200000    2.800000     4.800000   1.7237000  virginica
128     6.100000    3.000000     4.900000   1.8000000  virginica
129     6.400000    2.800000     5.600000   2.1000000  virginica
130     7.200000    3.045971     5.800000   2.0216667  virginica
131     7.400000    2.800000     6.326700   1.9000000  virginica
132     7.477000    2.862000     6.400000   2.0000000  virginica
133     6.409000    2.800000     5.600000   2.2000000  virginica
134     6.300000    2.800000     5.100000   1.5000000  virginica
135     6.100000    2.600000     5.600000   1.9045667  virginica
136     7.186500    3.000000     6.100000   2.0358333  virginica
137     6.300000    3.400000     5.600000   2.4000000  virginica
138     6.586857    3.100000     5.500000   1.8000000  virginica
139     6.000000    3.000000     4.800000   1.8000000  virginica
140     6.900000    3.100000     5.400000   2.1000000  virginica
141     6.700000    3.100000     5.317300   2.4000000  virginica
142     6.900000    3.100000     5.100000   2.3000000  virginica
143     5.800000    2.700000     5.100000   1.9000000  virginica
144     6.800000    3.200000     5.900000   2.3000000  virginica
145     6.700000    3.300000     5.700000   2.5000000  virginica
146     6.700000    3.118500     5.200000   2.3000000  virginica
147     6.300000    2.500000     5.000000   1.9000000  virginica
148     6.500000    3.000000     5.200000   1.9456667  virginica
149     6.200000    3.400000     5.400000   2.3000000  virginica
150     5.900000    3.000000     5.100000   1.8000000  virginica

Visualizamos el error cometido en las imputaciones.

Code
iris.imp$OOBerror
       MSE        MSE        MSE        MSE        PFC 
0.12395058 0.08867171 0.06091633 0.02916087 0.04477612 

NRMSE és un error normalitzat mitjà al quadrat. S’utilitza per representar l’error derivat d’imputar valors continus. El PFC (proporció de falsament classificada) s’utilitza per representar l’error derivat d’imputar valors categòrics.

Comparamos el accuracy actual,

Code
(iris.err <- mixError(iris.imp$ximp, iris.mis, iris))
    NRMSE       PFC 
0.1403915 0.0000000 

Miramos la diferencia entre las dos imputaciones

Code
newBD <- data.frame(real = iris[, "Sepal.Length"], imputed =  iris.imp$ximp[, "Sepal.Length"])
df_long <- newBD %>%
  pivot_longer(cols = everything(), names_to = "Variable", values_to = "Valor")

ggplot(df_long, aes(x = Valor, fill = Variable)) +
  geom_density(alpha = 0.3) +  # Transparencia para mejor visualización
  labs(title = "Densidad de las tres variables",
       x = "Valor",
       y = "Densidad") +
  theme_minimal() +
  scale_fill_manual(values = c("blue", "red"))

4.9.1 Exercises:

  1. Deploy the multiple plot to compare te imputation and not imputation with all numeric vars in dataframe

4.9.2 Extra

Quan es tracta de valors que manquen, és possible que vulgueu reemplaçar valors per valors que manquen (NA). Això és útil en els casos en què es coneix l’origen de les dades i es pot estar segur de quins valors han de faltar. Per exemple, podríeu saber que tots els valors de «N/A», «N A» i «No disponible», o -99 o -1 se suposa que falten.

naniar proporciona funcions per treballar específicament en aquest tipus de problemes utilitzant la funció replace.with.na. Aquesta funció és el compliment a tidyr::replace els NA’s, que reemplaça un valor NA per un valor especificat, mentre que naniar::replace,with_na reemplaça un valor per un NA:

Code
tidyr::replace_na: Missing values turns into a value (NA> -99)
naniar::replace_with_na: Value becomes a missing value (-99> NA)

4.10 MIMMI

Puedes descargar el fichero de MIMMI pinchando aquí

5 Features Selection

La selección de variables involucra un conjunto de técnicas cuyo objetivo es seleccionar el subconjunto de variables predictoras más relevante para las fases de modelización. Esto es importante porque:

  • Variables predictoras redundantes pueden distraer o engañar a los algoritmos de aprendizaje, lo que posiblemente se traduzca en un menor rendimiento, no solo predictivo (exactitud y precisión), sino también en términos de tiempo de computación.

  • Igualmente, la inclusión de variables irrelevantes aumenta el coste computacional y dificulta la interpretabilidad.

Una adecuada selección de variables tiene ventajas importantes:

  1. Elimina las variables con información redundante
  2. Reduce el grado de complejidad de los modelos
  3. Evita o reduce el sobreajuste
  4. Incrementa de la precisión de las predicciones
  5. Reduce la carga computacional

Debe comprobarse la magnitud de la varianza de las variables candidatas a ser seleccionadas y de sus correlaciones dos a dos, así como si existen combinaciones lineales entre ellas (multicolinealidad).

Los métodos de selección de variables se pueden resumir en 2 grandes grupos:

  1. Los que utilizan variables objetivo (supervisados)
  2. Los que no (no supervisados)

Nos centraremos en los que utilizan variable objetivo (supervisados). Estos se pueden dividir en los siguientes grupos:

  1. Métodos tipo filtro (Filter): puntua de mayor a menor cada variable predictora en base a su capacidad predictiva y selecciona un subconjunto de variables dependiendo de dicha puntuación.
  2. Métodos tipo envoltura (wrapper): Elige un subconjunto de vaiables que dan como resultado el modelo con mayores prestaciones en cuanto a calidad de resultados y eficiencia.
  3. Métodos tipo intrínsecos (embedded): Seleccionan las variables automáticamente como parte del ajuste del modelo durante el entrenamiento.

5.1 Preselección de variables

5.1.1 Varianza nula

Uno de los aspectos fundamentales en la selección de variables es comprobar si su varianza es cero o cercana a cero porque, si es así, sus valores son iguales o similares, respectivamente, y, por tanto, esas variables estarán perfectamente o cuasiperfectamente correlacionadas con el término independiente del modelo, con lo cual, en el mejor de los casos, solo añadirán ruido al modelo. Este tipo de efecto acaba afectando en la división de los conjuntos de entrenamiento y validación de los datos.

Para visualizarlo en R, podemos hacer lo siguiente:

Code
library(caret)
library(idealista18)
library(tidyverse)

Madrid_Sale <- as.data.frame(Madrid_Sale)
numeric_cols <- sapply(Madrid_Sale, is.numeric)
Madrid_Sale_num <- Madrid_Sale[, numeric_cols]

varianza <- nearZeroVar(Madrid_Sale_num, saveMetrics = T)
head(varianza, 2)
       freqRatio percentUnique zeroVar   nzv
PERIOD  2.019617   0.004218742   FALSE FALSE
PRICE   1.076923   2.911986500   FALSE FALSE

5.1.2 Correlación entre variables

Una de las cuestiones a tener en cuenta en el proceso de selección de variables es la magnitud de las correlaciones entre variables ya que esto puede afectar a la fiabilidad de las predicciones al tener variables muy correlacionadas. En el caso extreno el modelo tendrá problemas de colinealidad o multicolinealidad.

Para detectar las variables con muy elevada correlación entre ellas, se le pasa la función findCorrelation() de caret, con valor 0,9, a la matriz de correlaciones lineales entre las variables susceptibles de ser seleccionadas.

Code
madrid_cor <- cor(Madrid_Sale_num[, 1:20])
(alta_corr <- findCorrelation(madrid_cor, cutoff = .9))
[1] 11

Para visualizar, podemos ver el corrplot:

Code
library("corrplot")

matriz_corr <- cor(Madrid_Sale_num[, 1:8])
corrplot(matriz_corr, method = "circle")

5.1.3 Combinaciones lineales

En la mayoría de los casos las variables que se utilizan como predictoras no son ortogonales, sino que tienen cierto grado de dependencia lineal entre ellas. Si dicho grado es moderado, las consecuencias de la no ortogonalidad en la predicción no son graves, pero en los casos de dependencia lineal cuasiperfecta las inferencias resultantes del modelo estimado distan mucho de la realidad. Dichas consecuencias son aún más graves en el caso de que las combinaciones lineales sean perfectas. Por ello, la existencia de colinealidad o combinaciones lineales entre las variables seleccionables también es una circunstancia a evitar.

Las principales fuentes de multicolinealidad son:

  • El método utilizado en la recogida de datos (subespacios)
  • Restricciones en el modelo o en la población (existencia de variables correlacionadas)
  • Especificación del modelo (polinomios)
  • Más variables que observaciones

Los efectos de la multicolinealidad en los modelos son los siguientes:

  • Los estimadores tendrán grandes varianzas y covarianzas
  • Las estimaciones de los coeficientes del modelo serán demasiado grandes
  • Los signos de los coeficientes estimados suelen ser distintos a los esperados
  • Pequeñas variaciones en los datos, o en las especificaciones del modelo, provocarán grandes cambios en los coeficientes

Utilizando la función findLinearCombos() del paquete caret permite encontrar combinaciones lineales de las variables predictoras.

Code
Madrid_Sale_num_na <- tidyr::drop_na(Madrid_Sale_num) # Es necesario eliminar los NA.
(combos <- findLinearCombos(Madrid_Sale_num_na))
$linearCombos
$linearCombos[[1]]
[1] 12 11

$linearCombos[[2]]
[1] 33


$remove
[1] 12 33

En caso de encontrarse con problemas de multicolinealidad se deberia de realizar:

  • Eliminación de variables predictoras que se encuentren altamente relacionadas con otras que permanecen en el modelo

  • Sustituir las variables predictoras por componentes principales

  • Incluir información externa a los datos originales. Esta alternativa implica utilizar estimadores contraídos (de Stein o ridge) o bayesianos.

Si quisieramos eliminar variables que son combinaciones lineales deberiamos de hacer lo siguiente:

Code
head(Madrid_Sale_num_na[, -combos$remove])
  PERIOD   PRICE UNITPRICE CONSTRUCTEDAREA ROOMNUMBER BATHNUMBER HASTERRACE
1 201803  126000  2680.851              47          1          1          0
2 201803  228000  4560.000              50          0          1          0
3 201803  425000  6071.429              70          1          1          0
4 201803 2349000  4333.948             542          1          1          0
5 201803  236000  4720.000              50          2          1          0
6 201803 1131000  5463.768             207          5          3          0
  HASLIFT HASAIRCONDITIONING AMENITYID HASPARKINGSPACE PARKINGSPACEPRICE
1       1                  1         3               0                 1
2       0                  0         3               0                 1
3       1                  0         1               1                 1
4       1                  1         3               0                 1
5       0                  0         3               0                 1
6       1                  0         3               1                 1
  HASNORTHORIENTATION HASSOUTHORIENTATION HASEASTORIENTATION HASWESTORIENTATION
1                   0                   0                  0                  0
2                   0                   0                  0                  0
3                   0                   0                  0                  1
4                   0                   0                  0                  0
5                   0                   0                  1                  0
6                   0                   1                  1                  0
  HASBOXROOM HASWARDROBE HASSWIMMINGPOOL HASDOORMAN HASGARDEN ISDUPLEX ISSTUDIO
1          1           1               1          1         1        0        0
2          0           0               0          0         0        0        1
3          0           0               0          0         0        0        0
4          0           0               0          0         0        0        0
5          0           0               0          0         0        0        0
6          1           0               0          1         0        0        0
  ISINTOPFLOOR CONSTRUCTIONYEAR FLOORCLEAN FLATLOCATIONID CADCONSTRUCTIONYEAR
1            0             2005          1              1                2005
2            0             1930          0              1                1930
3            0             1900          2              1                1900
4            0             1890          1              1                1890
5            0             1900          3              1                1900
6            0             1940          0              1                1940
  CADMAXBUILDINGFLOOR CADDWELLINGCOUNT CADASTRALQUALITYID BUILTTYPEID_2
1                   7              319                  3             1
2                   5               19                  7             0
3                   5               16                  1             0
4                   4               11                  2             1
5                   5                6                  6             1
6                   5               29                  4             1
  BUILTTYPEID_3 DISTANCE_TO_CITY_CENTER DISTANCE_TO_METRO
1             0               8.0584293         0.8720746
2             1               1.2502313         0.3370982
3             1               0.7535746         0.4371906
4             0               0.6227413         0.1622422
5             0               1.0341080         0.3147058
6             0               0.6328356         0.1954949
  DISTANCE_TO_CASTELLANA LONGITUDE LATITUDE
1               6.868677 -3.766933 40.36248
2               1.794136 -3.714340 40.40874
3               1.548310 -3.712390 40.41487
4               1.453994 -3.711072 40.41734
5               1.622230 -3.712053 40.40976
6               1.400989 -3.709651 40.42011

5.2 Métodos de selección de variables

En el subset de variables que sobrevivien al proceso anterior, es necesario detectar cuales de ellas han de entrar en el modelo. Esta fase se realiza porque:

  • Queremos simplificar los modelos para hacerlos más interpretables
  • Mejorar la precisión del modelo
  • Reducir el tiempo de computación. Entrenar algoritmos con mayor velocidad
  • Evitar la maldición de la dimensionalidad (efecto Huges), que se refiere a las consecuencias no deseadas que tiene lugar cuando la dimensionalidad de un problema es muy elevada.
  • Reducir la probabilidad de sobreajuste

5.2.1 Filters

Los métodos de selección de variables tipo filtro usan técnicas estadísticas para evaluar la relación entre cada variable predictora y la variable objetivo. Generalmente, consideran la influencia de cada variable predictora sobre la variable objetivo por separado. Las puntuaciones obtenidas se utilizan como base para clasificar y elegir las variables predictoras que se utilizarán en el modelo.

Si la variable predictora es numérica, entonces se usa el coeficiente de correlación de Pearson o el de Spearman (si es o no lineal). Si las variables fueran todas categóricas se podria usar medidas de asociación para tablas de contingencia. Por lo contrario si la entregada es categorica y la salida es numérica se podrian usar técnicas de ANOVA para analizar que variables son influeyentes.

Podemos usar diferentes paquetes como FSelector, caret para implementar dicha técnica. En este caso, usaremos el paquete FSinR. A continuación se muestra un ejemplo para variables predictoras numéricas. Para ello, se toma una muestra del conjunto de datos. Una vez en disposición de la muestra, primeramente se transforma la variable objetivo en categórica, siendo las categorías (intervalos) cuatro cortes de la distribución de sus valores; dicha categorización se lleva a cabo mediante binning También se eliminan los registros con datos faltantes.

Code
library("rsample")

# Se toma una muestra con el paquete rsample
set.seed(7)
Madrid_Sale_num_sample <- sample(1:nrow(Madrid_Sale_num), size = 5000, replace = FALSE)
Madrid_Sale_num_sample <- Madrid_Sale_num[Madrid_Sale_num_sample, ]
# Se realiza binning con cuatro bins
Madrid_Sale_num_sample_bin <- Madrid_Sale_num_sample |>
  mutate(price_bin = cut(PRICE, breaks = c(0, 250000, 500000, 750000, 10000000), labels = c("primerQ", "segundoQ", "tercerQ", "c"), include.lowest = TRUE)) |>
  select(price_bin, CONSTRUCTEDAREA, ROOMNUMBER, BATHNUMBER, HASTERRACE, HASLIFT)
# Se eliminan los registros con valores missing
Madrid_Sale_sample_na <- drop_na(Madrid_Sale_num_sample_bin)

Una vez discretizada la variable objetivo, se selecciona el conjunto de variables predictoras de la variable objetivo price_bin, que es la variable PRICE transformada mediante binning. Como método tipo filtro se utiliza minimum description length (MDLM), que es un método de selección de variables que se basa en una medida de la complejidad del modelo denominada “longitud mínima de la descripción” (de ahí el nombre del modelo), por lo que su objetivo es encontrar el modelo más sencillo que proporcione una explicación aceptable de los datos. Como algoritmo de búsqueda se utiliza sequential forward selection.

Code
library("FSinR")

# Método tipo filtro MDLC (Minimum-Description_Length-Criterion)
evaluador <- filterEvaluator("MDLC")

# Se genera el algoritmo de búsqueda
buscador <- searchAlgorithm("sequentialForwardSelection")

# Se implementa el proceso, pasando a la función los dos parámetros anteriores
resultados <- featureSelection(Madrid_Sale_sample_na, "price_bin", buscador, evaluador)

# Se muestran los resultados
resultados$bestFeatures
resultados$bestValue

5.2.2 Wrappers

Este enfoque realiza una búsqueda a través de diferentes combinaciones o subconjuntos de variables predictoras/clasificadoras para comprobar el efecto que tienen en la precisión del modelo.

Los métodos wrapper son de gran eficacia a la hora de eliminar variables irrelevantes y/o redundantes (cosa que no ocurre en los de tipo filtro porque se centran en el poder predictor de cada variable de forma aislada).

tienen en cuenta la circunstancia de que dos o más variables, aparentemente irrelevantes en cuanto a su capacidad predictiva o clasificatoria cuando se consideran una por una, pueden ser relevantes cuando se consideran conjuntamente. Sin embargo, son muy lentos, ya que tienen que aplicar muchísimas veces el algoritmo de búsqueda, cambiando cada vez el número de variables, siguiendo cada vez algún criterio tanto de búsqueda como de paro.

Code
# Se fijan los parámetros
evaluador <- wrapperEvaluator("rpart1SE")
buscador <- searchAlgorithm("sequentialForwardSelection")
# Se evalúan sobre Madrid_Sale_sample_na
results <- featureSelection(Madrid_Sale_sample_na, "price_bin", buscador, evaluador)
resultados$bestFeatures
resultados$bestValue

5.2.3 Embeddings

Hay algunos algoritmos de aprendizaje automático que realizan la selección automática de variables como parte del aprendizaje del modelo. Estos son los métodos de selección de tipo intrínseco, que aglutinan las ventajas de los métodos de filtro y envoltura.

Code
library("randomForest")

# Usar random forest para la selección de variables
rf_modelo <- randomForest(price_bin ~ ., data = Madrid_Sale_num_sample_bin)

# Listar las variables más importantes
varImp(rf_modelo)

6 Features Enginineering

La ingeniería de variables consiste en el proceso de conseguir, a partir de la información disponible, las variables idóneas (y en el número apropiado) para que los modelos o clasificadores proporcionen los mejores resultados posibles, dados los datos disponibles y el modelo a ejecutar.

Una de las herramientas más populares es el One-hot encoding. El One-hot encoding consiste en asignar a cada etiqueta un número entero o valor único según el orden alfabético. Es la codificación más popular y ampliamente utilizada.

Code
dummies <- dummyVars("  ~ .", data = Madrid_Sale_num_sample_bin)
head(predict(dummies, newdata = Madrid_Sale_num_sample_bin))

7 Validación y control de calidad

Al final del proceso de limpieza de datos, estos deberían ser consistentes y seguir las reglas apropiadas para su campo de negocio. De no ser así, los modelos que se estimen en base a ellos no representarán convenientemente la realidad objeto de estudio y las conclusiones que se obtengan de dichos modelos no serán de utilidad para dicha realidad.

La verificación de si los datos son o no consistentes y si siguen o no las reglas del campo de negocio del cual proceden se puede llevar a cabo con el paquete tidyverse, que permite hacer selecciones, filtrados o tablas de frecuencias, entre otras acciones.

Una opción más sofisticada es el paquete validate, donde se pueden introducir las reglas de negocio dentro del propio código o bien desde un fichero externo. A continuación, se realiza un ejemplo con las reglas incrustadas en el propio código. Estas reglas pueden ser avisos o normas que indican error en esos datos. En este ejemplo, se han definido siete reglas: por ejemplo, PRICE ≥ 0, o que la suma de las variables HASNORTHORIENTATION, HASSOUTHORIENTATION, HASEASTORIENTATION y HASWESTORIENTATION sea la unidad. La salida que se obtiene se presenta a continuación.

Code
library("validate")

Madrid_Sale_int |>
  check_that(
    HASLIFT >= 0,
    PRICE >= 0,
    HASNORTHORIENTATION + HASSOUTHORIENTATION + HASEASTORIENTATION + HASWESTORIENTATION == 1,
    is.numeric(PRICE),
    UNITPRICE * CONSTRUCTEDAREA == PRICE,
    if (ROOMNUMBER > 3) PRICE > 100000,
    nrow(.) >= 20000
  ) |>
  summary()
  name items passes fails nNA error warning
1   V1 94815  94815     0   0 FALSE   FALSE
2   V2 94815  94815     0   0 FALSE   FALSE
3   V3 94815  28080 66735   0 FALSE   FALSE
4   V4     1      1     0   0 FALSE   FALSE
5   V5 94815  20111 74704   0 FALSE   FALSE
6   V6 94815  94786    29   0 FALSE   FALSE
7   V7     1      1     0   0 FALSE   FALSE
                                                                                             expression
1                                                                                 HASLIFT - 0 >= -1e-08
2                                                                                   PRICE - 0 >= -1e-08
3 abs(HASNORTHORIENTATION + HASSOUTHORIENTATION + HASEASTORIENTATION + HASWESTORIENTATION - 1) <= 1e-08
4                                                                                     is.numeric(PRICE)
5                                                                  UNITPRICE * CONSTRUCTEDAREA == PRICE
6                                                                     ROOMNUMBER <= 3 | (PRICE > 1e+05)
7                                                                                      nrow(.) >= 20000

En un esquema tradicional de validación, además de las reglas de validación aportadas por los expertos en el tema del que se trate, debe incluirse también un listado de reglas de corrección (igualmente aportado por los expertos en la materia) que indique cómo hay que corregir un registro cuando no cumple con una determinada regla de validación. Este modo de proceder, además de suponer un doble esfuerzo, puede conducir a inconsistencias o validaciones cíclicas.

El Método de Fellegi y Holt (MFH) da una solución a este problema, evitando dichas inconsistencias, proporcionando un procedimiento que genera un conjunto completo de reglas de validación, incorporando reglas implícitas a las formuladas por los expertos de manera explícita.

Dicho método asegura el cumplimiento de las siguientes tres premisas:

  • Minimizar el número de campos a corregir en un registro para hacerlo pasar todas las validaciones.
  • Mantener, en la medida de lo posible, la distribución conjunta original del conjunto de datos.
  • Derivar las reglas de corrección, directamente y de forma implícita, de las reglas de validación. Por tanto, dichas reglas de corrección no son propuestas por el experto o, en su caso, por el validador.

El MFH no está exento de limitaciones. La primera es el incremento del coste computacional, que puede llegar a constituir un problema en caso de que el número de reglas implícitas sea muy elevado, lo cual es muy frecuente. De hecho, hay casos en los que hay más reglas implícitas que registros. Para solucionar este problema, denominado “problema de localización del error”, que consiste, básicamente, en determinar el conjunto mínimo de variables a corregir para cada validación, se han propuesto varias alternativas, que incluyen métodos de investigación de operaciones, árboles binarios y metaheurísticas como algoritmos genéticos y similares.

A efectos prácticos, el MFH se puede aplicar con la función locate_errors() del paquete errorlocate, determinándose así cuáles son las variables a corregir para solventar los errores en las reglas de negocio establecidas (objeto rules).

Code
library("errorlocate")

Madrid_Sale_red2 <- mutate(Madrid_Sale_int, price_bin = Hmisc::cut2(PRICE, g=4))

rules <- validator(if (ROOMNUMBER >= 10) price_bin == "[502000,7138000]")
(el <- locate_errors(Madrid_Sale_red2, rules) |>
  summary(el))
Variable:
                            name errors missing
42                     price_bin     45       0
6                     ROOMNUMBER     35       0
1                        ASSETID      0       0
2                         PERIOD      0       0
3                          PRICE      0       0
4                      UNITPRICE      0       0
5                CONSTRUCTEDAREA      0       0
7                     BATHNUMBER      0       0
8                     HASTERRACE      0       0
9                        HASLIFT      0       0
10            HASAIRCONDITIONING      0       0
11                     AMENITYID      0       0
12               HASPARKINGSPACE      0       0
13 ISPARKINGSPACEINCLUDEDINPRICE      0       0
14             PARKINGSPACEPRICE      0       0
15           HASNORTHORIENTATION      0       0
16           HASSOUTHORIENTATION      0       0
17            HASEASTORIENTATION      0       0
18            HASWESTORIENTATION      0       0
19                    HASBOXROOM      0       0
20                   HASWARDROBE      0       0
21               HASSWIMMINGPOOL      0       0
22                    HASDOORMAN      0       0
23                     HASGARDEN      0       0
24                      ISDUPLEX      0       0
25                      ISSTUDIO      0       0
26                  ISINTOPFLOOR      0       0
27              CONSTRUCTIONYEAR      0   55873
28                    FLOORCLEAN      0    3846
29                FLATLOCATIONID      0    6387
30           CADCONSTRUCTIONYEAR      0       0
31           CADMAXBUILDINGFLOOR      0       0
32              CADDWELLINGCOUNT      0       0
33            CADASTRALQUALITYID      0       1
34                 BUILTTYPEID_1      0       0
35                 BUILTTYPEID_2      0       0
36                 BUILTTYPEID_3      0       0
37       DISTANCE_TO_CITY_CENTER      0       0
38             DISTANCE_TO_METRO      0       0
39        DISTANCE_TO_CASTELLANA      0       0
40                     LONGITUDE      0       0
41                      LATITUDE      0       0
Errors per record:
  errors records
1      0   94735
2      1      80

¿Y qué se debe hacer con los registros que no cumplen las normas de validación? La respuesta es, como norma, “siempre que se disponga de información de negocio, esta debe preponderar sobre cualquier tipo de imputación”. A partir de este punto se puede proceder a realizar imputaciones determinísticas para solucionar los problemas detectados.

En el ejemplo anterior, se propone imputar el valor ROOMNUMBER=5 a los casos de los tres primeros cuartiles (todos menos el más caro) que tengan más de 10 habitaciones. Para ello, se utiliza la función modify_so() del paquete dcmodify. Para comprobar que la imputación se ha llevado a cabo con éxito, se pueden comparar los conjuntos de datos antes y después de la imputación con la función compare(), comprobándose que tal imputación se ha realizado exitosamente en los 2 registros que presentaban problemas con la regla ROOMNUMBER >= 10.

Code
library("dcmodify")
out <- Madrid_Sale_red2 |>
  modify_so(if (ROOMNUMBER >= 10 & price_bin != "[502000,7138000]") ROOMNUMBER <- 5)
rules <- validator(if (ROOMNUMBER >= 10) price_bin == "[502000,7138000]")
compare(rules, raw = Madrid_Sale_red2, modified = out)
Object of class validatorComparison:

   compare(x = rules, raw = Madrid_Sale_red2, modified = out)

                    Version
Status                 raw modified
  validations        94815    94815
  verifiable         94815    94815
  unverifiable           0        0
  still_unverifiable     0        0
  new_unverifiable       0        0
  satisfied          94735    94815
  still_satisfied    94735    94735
  new_satisfied          0       80
  violated              80        0
  still_violated        80        0
  new_violated           0        0

8 Bibliografía

8.1 Outliers

  • https://statsandr.com/blog/outliers-detection-in-r/#z-scores
  • https://m-mburu.github.io/datacamp/anomaly_detection_R/anomaly_detection.html
  • https://github.com/pridiltal/ctv-AnomalyDetection

8.2 Imputación

  • http://naniar.njtierney.com/articles/replace-with-na.html
  • https://cran.r-project.org/web/packages/visdat/vignettes/using_visdat.html
  • https://cran.r-project.org/web/packages/DMwR2/DMwR2.pdf
  • https://ltorgo.github.io/DMwR2/RintroDM.html#data_pre-processing
  • https://www.rdocumentation.org/packages/DMwR/versions/0.4.1/topics/knnImputation
  • https://amices.org/mice/

Esta web está creada por Dante Conti y Sergi Ramírez, (c) 2025