Un valor atípico (en inglés outlier) es una observación que es numéricamente distante del resto de los datos. Las estadísticas derivadas de los conjuntos de datos que incluyen valores atípicos serán frecuentemente engañosas afectando a los posibles resultados que se puedan obtener a partir de estos datos.
La base de la cual se dispone tiene varias variables dónde existen algunas numéricas y una gran cantidad de categóricas. Dado que se tiene un conjunto de variables mixtas se usará el paquete HDoutliers que usar el algoritmo de detección de valores atípicos “Wilkinson’s hdoutliers”.
Para este algoritmo los datos se dividen de acuerdo con ejemplares y sus listas asociadas de miembros.
MemT <- getHDmembers(base1,maxrows = 80000)
Una vez que se tienen estos miembros se procede a buscar datos atípicos mediante el algoritmo indicado.
atipicosT <- getHDoutliers(base1,MemT,alpha = 0.2)
atipicosT
## NULL
Lamentablemente el algoritmo no arroja posibles valores atípicos, a pesar de haber jugado con el valor de \(\alpha\) para reducir el umbral para determinar el límite para valores atípicos.
Dado que no se ha conseguido un resultado al trabajar con todos los datos se va a trabajar solamente con los datos continuos. Se hace la prueba con los datos continuos y la variable respuesta pero arroja el mismo resultado anterior, por ello se trabaja solamente con los datos continuos, tomando \(\alpha=0.01\).
base_conti<-data.frame(base[,c("Product_Info_4", "Ins_Age", "Ht", "Wt", "BMI",
"Employment_Info_1", "Employment_Info_6")])
MemC <- getHDmembers(base_conti,maxrows = 80000)
atipicosc <- getHDoutliers(base_conti,MemC,alpha = 0.01)
base_contiSA<- data.frame(base_conti[-atipicosc,])
En este caso se tuvieron 24272 datos atípicos. A continuación se tienen los histogramas de cada variable continua, se muestra con todos los datos y quitando los datos que fueron reportados como atípicos por la función; además se muestra el gráfico de barras de la variable respuesta en ambos casos.
p<-ggplot(base1, aes(x=Response))+geom_bar(fill="skyblue", alpha=0.8)+ylab("observaciones")
ggplotly(p, color=~Response, width = 800, height = 400)%>%
layout(title="Distribución de la variable Response", plot_bgcolor= "white", xaxis=list(gridcolor="lightgrey", opacity=0.5), yaxis=list(gridcolor="lightgrey",opacity = 0.5),autosize = T)
p<-ggplot(base[-atipicosc,] %>% select(Response), aes(x=Response))+geom_bar(fill="skyblue", alpha=0.8)+ylab("observaciones")
ggplotly(p, color=~Response, width = 800, height = 400)%>%
layout(title="Distribución de la variable Response (Sin Atípicos)", plot_bgcolor= "white", xaxis=list(gridcolor="lightgrey", opacity=0.5), yaxis=list(gridcolor="lightgrey",opacity = 0.5),autosize = T)
Se prueba además a buscar datos atípicos solamente del grupo de variables “Emplyment_Info”.
subcat <- base1 %>% select(starts_with("Employment_Info_"))
MEI <- getHDmembers(subcat,maxrows = 80000)
atipicosEI <- getHDoutliers(subcat,MEI,alpha = 0.01)
subcatSA<- data.frame(subcat[-atipicosEI,])
En este caso se tienen 20060 atípicos, luego, se presentan los histogramas para las variables continuas después de quitar estos supuestos datos atípicos y también el correspondiente gráfico de barras de la variable respuesta.
De nuevo se tienen varios atípicos, con lo cual se siguen pensando en la existencia de falsos positivos. Se seleccionó este grupo de variables debido a los datos atípicos observados en los gráficos de caja durante el análisis exploratorio de los datos.
La mayoría de técnicas y paquetes disponibles en R están orientadas a variables continuas o categóricas por separado. En otros casos el número de datos que se pueden ingresar es limitado.
La gran cantidad de variables categóricas afecta a los resultados al momento de buscar datos atípicos.
Según los gráficos de caja que se realizaron durante el proceso del análisis exploratorio de datos, las variables continuas con posibles datos atípicos no siguen una distribución normal. Si se hubiera cumplido la condición de normalidad, para el caso univariante, la manera de proceder hubiera sido reemplazar estos datos por NAs para hacer imputación de datos (evitando perder toda la observación).
Para el caso multivariante se procedió eliminando toda la observación, no se presenta mayor variabilidad en las variables continuas después de este proceso.
Se deberían buscar otras técnicas para la detección de atípicos en datos mixtos puesto que actualmente se tienen demasiados posibles atípicos, por lo que se podría tener falsos positivos, el proceso de comprobación está limitado por el alto tiempo de cómputo debido a la baja capacidad del procesador dónde se realiza el estudio.
Se sospecha que la gran cantidad de observaciones en las que los solicitantes han sido ubicados en el nivel 8 de la variable respuesta sesga los datos y sus resultados