Determinar medidas de localización basadas en estadísticos cuartiles y percentiles utilizando de un conjunto de datos así como determinar su significado, visualización e interpretación.
El caso pretende dar a conocer como determinar cuartiles y percentiles de un conjunto de datos.
Los datos será simulados, primero un conjunto de valores numéricos y la segunda parte se hace uso de los datos descargados del promedio de alumnos.
Este caso inicia con la declaración con cargar las librerías, posteriormente, se simulan los datos y se descargan los datos de alumnos, finalmente se aplican los cuartiles y percentiles así como su visualización , se identifica también su significado e interpretación.
Pendiente…..
\[ L_p = (n+1) \cdot \frac{p}{100} \]
Siendo:
Lp El valor del percentil o del cuartil a buscar
n Es el total de los datos p Es el valor porcentual 25,30,50,75,….
100 dividido entre cien es el valor relativo
El diagrama de caja permite es una representación gráfica basada en cuartiles que ayuda a presentar un conjunto de datos. Para construir un diagrama de caja solo se necesitan estos estadísticos: valor mínimo, Q1 (primer cuartil), mediana o Q2 (segundo cuartil), Q3 (tercer cuartil) y valor máximo.
Diagrama de caja o diagrama de bigotes
El diagrama de caja también revele el concepto de rango intercuartil que significa la cantidad o la densidad de elementos que hay entre el Q1Q1 y Q3Q3; este rango inercuartil significa que el 50%50% de los datos está en ese rango.
Luego existe otro significado del diagrama, se pueden ver cuales son valores atípicos, extraños, muy altos o muy bajos, o outliers en inglés. Un dato atípico se trata de un valor que no concuerda con el resto de los datos. (Lind, Marchal, and Wathen 2015).
Se define como un valor más de 1.5 veces la amplitud del rango intercuartil más pequeño que Q1, o mayor que Q3. (Lind, Marchal, and Wathen 2015).
\[ \text{dato antípico > Q3}=Q3 + 1.5\cdot(Q3-Q1)) \]
y
\[ \text {dato antípico <Q1}=Q1 - 1.5\cdot(Q3-Q1)) \]
estos datos se encuentran a 1.5 veces el valor del rango entercuartil
\[ \text{rango intercuartil RI=}Q3 - Q1 \]
En Lenguaje R se utiliza la función quantile para determinar tanto cuartiles como percentiles y hasta deciles.
La función tiene un atributo type que permite determinar los cuartiles de acuerdo a autores y cada uno de ellos con sus fórmulas matemáticas para su cálculo, finalmente los valores que da una u otra fórmula son muy similares entre si y lo trascendente es el significado y la interpretación que hay que darle a estas medidas de localización.
El desarrollo del caso utiliza primero datos simulados.
Luego, se utilizan y se descargan los datos de alumnos que existen en la dirección “alumnos.”
Con ambos datos se encuentran cuartiles y percentiles; finalmente se visualizan con diagramas de cajas utilizando la librería ggplot.
Al final del caso se busca la interpretación del mismo.
Se cargan las librerías readr y ggplot2 cuya utilidad es disponer de funciones para importar datos de archivos separados por coma o csv y visualizar diversos tipos de gráficos respectivamente.
library(readr)
library(ggplot2)
4.2 Datos simulados
Se crean datos con la función sample de tal vez 100 valores de edades de personas entre 18 y 65. La variable datos es un vector que almacena dichos valores
set.seed(2021)
datos <- sample(18:65, 100, replace = TRUE)
datos
## [1] 24 55 63 56 29 23 55 55 63 22 64 56 58 40 29 35 20 63 57 43 53 54 39 48 65
## [26] 51 36 21 39 22 26 55 35 60 23 39 23 32 51 39 33 32 41 34 55 54 37 21 47 25
## [51] 36 20 19 34 57 58 48 26 46 44 28 53 55 63 32 35 26 36 33 61 51 54 59 61 39
## [76] 55 44 61 30 50 63 38 42 48 62 28 26 40 60 39 53 47 63 65 24 46 18 36 62 53
n <- length(datos)
n
## [1] 100
datos <- c(datos, c(-13,9,96,150))
datos
## [1] 24 55 63 56 29 23 55 55 63 22 64 56 58 40 29 35 20 63
## [19] 57 43 53 54 39 48 65 51 36 21 39 22 26 55 35 60 23 39
## [37] 23 32 51 39 33 32 41 34 55 54 37 21 47 25 36 20 19 34
## [55] 57 58 48 26 46 44 28 53 55 63 32 35 26 36 33 61 51 54
## [73] 59 61 39 55 44 61 30 50 63 38 42 48 62 28 26 40 60 39
## [91] 53 47 63 65 24 46 18 36 62 53 -13 9 96 150
Ordenando y mostrando los datos para luego determinar medidas de localización cuartiles y percentiles
datos.ordenados <- datos[order(datos)]
datos.ordenados
## [1] -13 9 18 19 20 20 21 21 22 22 23 23 23 24 24 25 26 26
## [19] 26 26 28 28 29 29 30 32 32 32 33 33 34 34 35 35 35 36
## [37] 36 36 36 37 38 39 39 39 39 39 39 40 40 41 42 43 44 44
## [55] 46 46 47 47 48 48 48 50 51 51 51 53 53 53 53 54 54 54
## [73] 55 55 55 55 55 55 55 56 56 57 57 58 58 59 60 60 61 61
## [91] 61 62 62 63 63 63 63 63 63 64 65 65 96 150
\[ L_p = (n+1) \cdot \frac{p}{100}\]
Estos valores deberán ser aproximados a utilizar la función quantile() en R
q1 <- datos.ordenados[(n+1) * 25/100]; q1
## [1] 30
q2 <- datos.ordenados[(n+1) * 50/100]; q2
## [1] 41
q3 <- datos.ordenados[(n+1) * 75/100]; q3
## [1] 55
Para el resto del caso se le hará caso a los valores generados por la función quantile().
Q1 <- quantile(datos, c(0.25), type = 6); Q1
## 25%
## 32
Q2 <- quantile(datos, c(0.50), type = 6); Q2
## 50%
## 43.5
Q3 <- quantile(datos, c(0.75), type = 6); Q3
## 75%
## 55
La mediana siempre será igual al cuartil del 50% o al segundo cuartil
mediana <- median(datos)
mediana
## [1] 43.5
Q2
## 50%
## 43.5
Los percentiles es dividir los datos en un procentaje a decisión del analista, puede ser al 10%, al 20%, al 30%… al 90%
P10 <- quantile(datos, c(0.10)); P10
## 10%
## 23
percentiles <- quantile(datos, c(0.2, 0.40, 0.50, 0.60, 0.80), type = 6)
percentiles
## 20% 40% 50% 60% 80%
## 28.0 39.0 43.5 51.0 58.0
Se determinan los valores mínimos y máximos y se muestran.
La función summary() describe los mismos datos
minimo <- min(datos)
maximo <- max(datos)
minimo; Q1; Q2; Q3; maximo
## [1] -13
## 25%
## 32
## 50%
## 43.5
## 75%
## 55
## [1] 150
summary(datos)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -13.00 32.00 43.50 43.93 55.00 150.00
El vector de los datos se transforma a estructura data.frame para poderlo tratar con la libería ggplot2.
datos <- data.frame(datos)
datos
## datos
## 1 24
## 2 55
## 3 63
## 4 56
## 5 29
## 6 23
## 7 55
## 8 55
## 9 63
## 10 22
## 11 64
## 12 56
## 13 58
## 14 40
## 15 29
## 16 35
## 17 20
## 18 63
## 19 57
## 20 43
## 21 53
## 22 54
## 23 39
## 24 48
## 25 65
## 26 51
## 27 36
## 28 21
## 29 39
## 30 22
## 31 26
## 32 55
## 33 35
## 34 60
## 35 23
## 36 39
## 37 23
## 38 32
## 39 51
## 40 39
## 41 33
## 42 32
## 43 41
## 44 34
## 45 55
## 46 54
## 47 37
## 48 21
## 49 47
## 50 25
## 51 36
## 52 20
## 53 19
## 54 34
## 55 57
## 56 58
## 57 48
## 58 26
## 59 46
## 60 44
## 61 28
## 62 53
## 63 55
## 64 63
## 65 32
## 66 35
## 67 26
## 68 36
## 69 33
## 70 61
## 71 51
## 72 54
## 73 59
## 74 61
## 75 39
## 76 55
## 77 44
## 78 61
## 79 30
## 80 50
## 81 63
## 82 38
## 83 42
## 84 48
## 85 62
## 86 28
## 87 26
## 88 40
## 89 60
## 90 39
## 91 53
## 92 47
## 93 63
## 94 65
## 95 24
## 96 46
## 97 18
## 98 36
## 99 62
## 100 53
## 101 -13
## 102 9
## 103 96
## 104 150
ggplot(data = datos, mapping = aes(x=datos)) + geom_boxplot(outlier.colour="turquoise")
ggplot(data = datos, mapping = aes(y=datos)) + geom_boxplot(outlier.colour="green")
4.3 Datos de alumnos
Se importan los datos de alumnos.
Cabe hacer notar que en este conjunto de datos existen datos en la variable Promedio que son igual a cero, esto se interpreta como datos atípicos o que tal vez no debieran ser considerados en análisis estadísticos.
datos.alumnos <- read.csv("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/datos/promedios%20alumnos/ALUMNOS%20EJ2021.csv")
head(datos.alumnos)
## NoControl Alumno Semestre Cr.Aprobados Cr.Cursando Promedio Carrera
## 1 1 1 12 207 19 79.84 SISTEMAS
## 2 2 2 13 226 9 82.55 SISTEMAS
## 3 3 3 10 235 10 95.16 SISTEMAS
## 4 4 4 13 231 14 79.32 SISTEMAS
## 5 5 5 10 235 10 92.67 SISTEMAS
## 6 6 6 10 235 10 91.25 SISTEMAS
tail(datos.alumnos)
## NoControl Alumno Semestre Cr.Aprobados Cr.Cursando Promedio Carrera
## 6037 750 750 9 170 20 81.16 ARQUITECTURA
## 6038 751 751 7 103 19 84.43 ARQUITECTURA
## 6039 752 752 4 76 34 92.47 ARQUITECTURA
## 6040 753 753 4 84 26 89.74 ARQUITECTURA
## 6041 754 754 3 52 28 87.75 ARQUITECTURA
## 6042 755 755 2 18 22 86.50 ARQUITECTURA
n <- nrow(datos.alumnos)
n
## [1] 6042
Se factoriza la variable Carrera para que en summary se obtenga la frecuencia de la columna Carrera.
datos.alumnos$Carrera <- factor(datos.alumnos$Carrera)
summary(datos.alumnos)
## NoControl Alumno Semestre Cr.Aprobados
## Min. : 1.0 Min. : 1.0 Min. : 1.000 Min. : 0.0
## 1st Qu.:112.0 1st Qu.:112.0 1st Qu.: 3.000 1st Qu.: 53.0
## Median :245.0 Median :245.0 Median : 5.000 Median :109.0
## Mean :268.1 Mean :268.1 Mean : 5.428 Mean :114.8
## 3rd Qu.:394.0 3rd Qu.:394.0 3rd Qu.: 8.000 3rd Qu.:172.0
## Max. :755.0 Max. :755.0 Max. :17.000 Max. :264.0
## NA's :499
## Cr.Cursando Promedio Carrera
## Min. : 3.00 Min. : 0.00 ARQUITECTURA : 755
## 1st Qu.:23.00 1st Qu.: 82.20 INDUSTRIAL : 721
## Median :27.00 Median : 85.83 CIVIL : 674
## Mean :26.09 Mean : 79.33 QUIMICA : 564
## 3rd Qu.:30.00 3rd Qu.: 89.50 GESTION : 557
## Max. :42.00 Max. :100.00 ADMINISTRACION: 492
## (Other) :2279
Se determinan los cuartiles de la variable Promedio de los datos de alumnos con la función quantile().
cuartiles <- quantile(x = datos.alumnos$Promedio, probs = c(0.25, 0.50, 0.75), type = 6)
cuartiles
## 25% 50% 75%
## 82.20 85.83 89.50
Q1 <- cuartiles[1]; Q1
## 25%
## 82.2
Q2 <- cuartiles[2]; Q2
## 50%
## 85.83
Q3 <- cuartiles[3]; Q3
## 75%
## 89.5
El 50%de los datos está entre 82.2 y 89.5. El RI rango intercuartil es Q3−Q1 sea 7.3.
Los valores atípicos mayores a Q3 serán los que estén por encima de 100.45 y los valores atípicos menores a Q1 serán los que estén por debajo de 71.25
atipicos.mayores <- Q3 + 1.5 * (Q3-Q1)
atipicos.mayores
## 75%
## 100.45
atipicos.menores <- Q1 - 1.5 * (Q3-Q1)
atipicos.menores
## 25%
## 71.25
ggplot(data = datos.alumnos, mapping = aes(y=Promedio)) + geom_boxplot(outlier.colour="violet")
En este diagrama de caja se detecta que hay valores atípicos principalemente los que tienen 00 en la variable promedio.
Aquí es en donde se hace prudente tomar decisiones de que ¿hacer con esos valores?, por lo pronto la decisión es simple, son alumnos que no tienen promedio en su historia académica, es decir que no han cursado semestre alguno y no han cerrado al menos un periodo escolar.
Por medio de la función subset() vista anteriormente, se eliminan o filtran esos registros.
datos <- subset(datos, Promedio > 0) significa quitar los alumnos que no tienen promedio aún
datos.alumnos <- subset(datos.alumnos, Promedio > 0)
head(datos.alumnos)
## NoControl Alumno Semestre Cr.Aprobados Cr.Cursando Promedio Carrera
## 1 1 1 12 207 19 79.84 SISTEMAS
## 2 2 2 13 226 9 82.55 SISTEMAS
## 3 3 3 10 235 10 95.16 SISTEMAS
## 4 4 4 13 231 14 79.32 SISTEMAS
## 5 5 5 10 235 10 92.67 SISTEMAS
## 6 6 6 10 235 10 91.25 SISTEMAS
tail(datos.alumnos)
## NoControl Alumno Semestre Cr.Aprobados Cr.Cursando Promedio Carrera
## 6037 750 750 9 170 20 81.16 ARQUITECTURA
## 6038 751 751 7 103 19 84.43 ARQUITECTURA
## 6039 752 752 4 76 34 92.47 ARQUITECTURA
## 6040 753 753 4 84 26 89.74 ARQUITECTURA
## 6041 754 754 3 52 28 87.75 ARQUITECTURA
## 6042 755 755 2 18 22 86.50 ARQUITECTURA
n<-nrow(datos.alumnos)
n
## [1] 5535
cuartiles <- quantile(x = datos.alumnos$Promedio, probs = c(0.25, 0.50, 0.75), type = 6)
cuartiles
## 25% 50% 75%
## 83.24 86.36 89.83
Q1 <- cuartiles[1]; Q1
## 25%
## 83.24
Q2 <- cuartiles[2]; Q2
## 50%
## 86.36
Q3 <- cuartiles[3]; Q3
## 75%
## 89.83
summary(datos.alumnos)
## NoControl Alumno Semestre Cr.Aprobados Cr.Cursando
## Min. : 1.0 Min. : 1.0 Min. : 2.000 Min. : 4 Min. : 3.0
## 1st Qu.:106.0 1st Qu.:106.0 1st Qu.: 3.000 1st Qu.: 53 1st Qu.:23.0
## Median :239.0 Median :239.0 Median : 6.000 Median :109 Median :28.0
## Mean :262.2 Mean :262.2 Mean : 5.826 Mean :115 Mean :26.1
## 3rd Qu.:388.0 3rd Qu.:388.0 3rd Qu.: 8.000 3rd Qu.:172 3rd Qu.:30.0
## Max. :755.0 Max. :755.0 Max. :17.000 Max. :264 Max. :42.0
##
## Promedio Carrera
## Min. : 70.00 INDUSTRIAL : 653
## 1st Qu.: 83.25 ARQUITECTURA : 633
## Median : 86.36 CIVIL : 594
## Mean : 86.60 GESTION : 518
## 3rd Qu.: 89.83 QUIMICA : 515
## Max. :100.00 ADMINISTRACION: 458
## (Other) :2164
ggplot(data = datos.alumnos, mapping = aes(y=Promedio)) + geom_boxplot(outlier.colour="maroon") +
labs(title = "Promedio de Alumnos",subtitle = paste("Q1 = ",Q1, ", Q2 = ",Q2, ", Q3 = ",Q3))
Se siguen visualizando datos atípicos, sin embargo estos si son datos extraños pero reales, que significa que hay alumnos con promedio de 100 y alumnos con promedio de 70 aproximadamente.
4.4 Histograma con cuartiles
ggplot(data = datos.alumnos, aes(x=Promedio)) +
geom_histogram(bins = 30) +
geom_vline(aes(xintercept = Q1,
color = "Q1"),
linetype = "dashed",
size = 1) +
geom_vline(aes(xintercept = Q2,
color = "Q2"),
linetype = "dashed",
size = 1) +
geom_vline(aes(xintercept = Q3,
color = "Q3"),
linetype = "dashed",
size = 1) +
labs(title = "Histograma de Promedio de Alumnos",subtitle = paste("Cuartil 1 al 25% = ",Q1, ", Cuartil 2 al 50% = ",Q2, ", Cuartil 3 al 75% = ",Q3))
Medidas de posición en una lista de datos que tienen la propiedad de dividir la serie estadística en cuatro grupos de números en partes iguales.
Es la diferencia entre el tercer y primer intercuartil de una distribución. es una medida de la dispersión estadística.
Esta por debajo
Es una manera conveniente de mostrar visualmente grupos de datos numéricos a través de sus cuartiles.
Las puntuaciones que contiene las variables son:
Mediana: es la línea negra más gruesa que está dentro de la caja azul. Es su valor central.
Cuartiles: el primer cuartil y el tercer cuartil delimitan los límites, inferior el primer cuartil y superior el tercer cuartil de la caja. Los cuartiles dividen la muestra en 4 partes iguales: primer cuartil: valor hasta el primer 25%; De la muestra, segundo cuartil: valor hasta el 50% de la muestra; tercer cuartil: valor hasta el 75% de la muestra.
Este comando muestra un resumen general sobre las variables del data frame.
Se interpreta de forma de resumen general mínimo, máximo, media, mediana, primer y tercer cuartil.
Que existen otras medias de posición a demás de la media, mediana y moda, las cuales nos ayudan a determinar la ubicación de los valores de un conjunto en partes iguales, las cuales son los cuartiles, deciles y percentiles. Nos sirven para separar la magnitud de los datos. También que los cuartiles nos ayudan a dividir conjuntos en cuatro partes iguales, ordenandolos de menor a mayor. También comprendí que los percentiles nos ayudan a dividir los datos a criterio nuestro. También entendí que los cuartiles pueden ser representados gráficamente por un diagrama de caja sus datos numéricos.
Describir con sus palabras …80 a 100 palabras ….
Lind, Douglas, William Marchal, and Samuel Wathen. 2015. Estadística Aplicada a Los Negocios y La Economía. Decimo Sexta. México, D.F.: McGraw-Hill.