1 Objetivo

Identificar, describir e interpretar medidas de variabilidad en un conjunto de datos.

2 Descripción

El caso se relaciona con identificar medidas de variabilidad como la varianza, la desviación estándar y el coeficiente de variación.

Primero se utilizan datos del libro del autor (Anderson, Sweeney, and Williams 2008a) como ejemplo para calcular la varianza, y a partir de ahí, se determina la desviación y finalmente el coeficiente de variación.

Segundo con datos de alumnos se calculan las mismas medias de dispersión, luego, se selecciona tres carreras y se determina cuál de los tres conjuntos de datos tiene mayor o menor dispersión conforme al valor % del coeficiente de variación.

3 Desarrollo

3.1 Cargar librerías

Se cargan las librerías necesarias para los ejercicio de todo el caso.

library(readr)
library(ggplot2)

El desarrollo del caso inicia con un ejercicio obtenido del libro de (Anderson, Sweeney, and Williams 2008a). El segundo ejercicio serán los datos de alumnos con la variable Promedio ya conocidos en casos anteriores.

3.2 Los datos de sueldos

Son datos de sueldos en dólares de trabajadores de una empresa.

datos <- c(3450,3550, 3650, 3480, 3355, 3310, 3490, 3730, 3540, 3925, 3520, 3480 )

datos <- data.frame(xi=datos)

3.2.1 Varianza matemáticamente

Primero se creó un vector llamado datos, luego ese mismo vector se transformó en data.frame con el mismo nombre de datos.

En las siguientes lineas de código R, se utiliza una función llamada cbind() para agregar columnas al data.frame existente llamado datos. La función nrow() sirve para identificar cuántas observaciones tiene la muestra de los datos, es decir, el valor de \(n\) =12.

Al final debe haber un conjunto de datos con cinco columnas, “xi, media, diferencia, alcuadrado.”

Se determina la sumatoria de las diferencias al cuadrado conforme a la fórmula y con ello el valor de la varianza. Se genera también la variable media para utilizarse a lo largo del caso.

n <- nrow(datos)

summary(datos)
##        xi      
##  Min.   :3310  
##  1st Qu.:3472  
##  Median :3505  
##  Mean   :3540  
##  3rd Qu.:3575  
##  Max.   :3925
datos <- cbind(datos, media = mean(datos$xi))
datos <- cbind(datos, diferencia=datos$xi - datos$media)
datos <- cbind(datos, alcuadrado = datos$diferencia^2)


media <- mean(datos$xi)


datos
##      xi media diferencia alcuadrado
## 1  3450  3540        -90       8100
## 2  3550  3540         10        100
## 3  3650  3540        110      12100
## 4  3480  3540        -60       3600
## 5  3355  3540       -185      34225
## 6  3310  3540       -230      52900
## 7  3490  3540        -50       2500
## 8  3730  3540        190      36100
## 9  3540  3540          0          0
## 10 3925  3540        385     148225
## 11 3520  3540        -20        400
## 12 3480  3540        -60       3600
sumatoria <- sum(datos$alcuadrado)
sumatoria
## [1] 301850
varianza <- sumatoria / (n-1)
varianza
## [1] 27440.91

3.2.2 Desviación matemáticamente

desviacion <- sqrt(varianza)
desviacion
## [1] 165.653

3.2.3 Coeficiente de variación matemáticamente

CV <- desviacion / media * 100
CV
## [1] 4.679463

El Coeficiente de Variación indica que la desviación estándar muestral es sólo 4.6794627 % del valor de la media muestral. Entre más bajo sea el valor porcentual del CV menor dispersión se encuentran en los datos. En general, el coeficiente de variación es un estadístico útil para comparar la variabilidad de variables que tienen desviaciones estándar distintas y medias distintas. (Anderson, Sweeney, and Williams 2008b).

Funciones en R para medidas de dispersión

Existen funciones en R que sirven para determinar varianza, desviación de manera directa, con ellas se podrá determinar de igual forma el coeficiente de variación. Las funciones son var() y sd() respectivamente para varianza y desviación estándar.

var(datos$xi)
## [1] 27440.91
#[1] 27440.91

sd(datos$xi)
## [1] 165.653
#[1] 165.653

CV <- sd(datos$xi) / mean(datos$xi) * 100
CV
## [1] 4.679463

3.2.4 Dispersión de sueldos

Se muestra la dispersión del sueldo de cada trabajador y la linea horizontal indicando la media.

titulo <- "Sueldos"
subtitulo <- paste("Media =", round(media,2)," Varianza=",round(varianza,2)," Desv. Std.=",round(desviacion,2), " CV =", round(CV, 2),"%") 
ggplot(data = datos, mapping = aes(x = 1:n,  y = xi)) + 
  geom_point(colour = "green") +
  geom_hline(yintercept = media, colour = "red") +
  ggtitle(titulo, subtitle = subtitulo) +
  xlab('Observaciones') + ylab('Sueldos')

3.3 Datos de alumnos

Se presenta un ejercicio de medidas de dispersión con datos de alumnos

3.3.1 Cargar los datos

Se descargan datos de la dirección url “Datos de alumno con promedio superior a cero” de github,; los datos ya vienen con la variable Promedio de todas las observaciones superior a cero. En los casos 5 y 4 se tuvo la necesidad de limpiar observaciones, en este caso 6 ya no es necesario hacer dicha tarea de limpieza de registros.

Nuevamente se utiliza la función readr() para descargar un archivo texto (CSV) separado por comas; en esta misma función se utiliza el argumento stringsAsFactors = TRUE que significa que desde la carga de los datos y desde un inicio se considere como categóricas o tipo factor a las variable que vienen como tipo string o character del conjunto de datos que se carga.

Se utiliza la función str() para conocer el tipo de estructura de los datos, además, despliega los tipos de datos de cada variable, las que son numéricas, factor, entre otros, y la cantidad de registros del conjunto de datos cargado a R.

Nuevamente la función summary() muestra sólo las columnas 2,4,8 y 9 únicamente, summary(datos[c(2,4,8,9)]).

datos <- read.csv("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/datos/promedios%20alumnos/datos.alumnosEJ2021.csv", stringsAsFactors = TRUE)

#datos$Carrera <- factor(datos$Carrera)

summary(datos[c(2,4,8,9)])
##        X            Alumno         Promedio                Carrera    
##  Min.   :   1   Min.   :  1.0   Min.   : 70.00   INDUSTRIAL    : 653  
##  1st Qu.:1384   1st Qu.:106.0   1st Qu.: 83.25   ARQUITECTURA  : 633  
##  Median :2768   Median :239.0   Median : 86.36   CIVIL         : 594  
##  Mean   :2768   Mean   :262.2   Mean   : 86.60   GESTION       : 518  
##  3rd Qu.:4152   3rd Qu.:388.0   3rd Qu.: 89.83   QUIMICA       : 515  
##  Max.   :5535   Max.   :755.0   Max.   :100.00   ADMINISTRACION: 458  
##                                                  (Other)       :2164
str(datos)
## 'data.frame':    5535 obs. of  9 variables:
##  $ X.1         : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ X           : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ NoControl   : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ Alumno      : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ Semestre    : int  12 13 10 13 10 10 13 11 11 10 ...
##  $ Cr.Aprobados: int  207 226 235 231 235 235 231 197 235 231 ...
##  $ Cr.Cursando : int  19 9 10 14 10 10 4 23 10 4 ...
##  $ Promedio    : num  79.8 82.5 95.2 79.3 92.7 ...
##  $ Carrera     : Factor w/ 14 levels "ADMINISTRACION",..: 13 13 13 13 13 13 13 13 13 13 ...

3.3.2 Primeros y últimos cincuenta registros

Los primeros cincuenta registros:

head(datos[,c(2,8,9)], 50)
##     X Promedio  Carrera
## 1   1    79.84 SISTEMAS
## 2   2    82.55 SISTEMAS
## 3   3    95.16 SISTEMAS
## 4   4    79.32 SISTEMAS
## 5   5    92.67 SISTEMAS
## 6   6    91.25 SISTEMAS
## 7   7    82.46 SISTEMAS
## 8   8    83.72 SISTEMAS
## 9   9    85.37 SISTEMAS
## 10 10    85.12 SISTEMAS
## 11 11    78.22 SISTEMAS
## 12 12    91.25 SISTEMAS
## 13 13    84.59 SISTEMAS
## 14 14    89.16 SISTEMAS
## 15 15    82.51 SISTEMAS
## 16 16    81.58 SISTEMAS
## 17 17    82.63 SISTEMAS
## 18 18    87.18 SISTEMAS
## 19 19    89.55 SISTEMAS
## 20 20    86.27 SISTEMAS
## 21 21    84.02 SISTEMAS
## 22 22    82.23 SISTEMAS
## 23 23    83.37 SISTEMAS
## 24 24    92.67 SISTEMAS
## 25 25    82.75 SISTEMAS
## 26 26    95.94 SISTEMAS
## 27 27    91.27 SISTEMAS
## 28 28    89.33 SISTEMAS
## 29 29    86.02 SISTEMAS
## 30 30    83.45 SISTEMAS
## 31 31    80.81 SISTEMAS
## 32 32    78.33 SISTEMAS
## 33 33    89.35 SISTEMAS
## 34 34    83.76 SISTEMAS
## 35 35    80.42 SISTEMAS
## 36 36    94.43 SISTEMAS
## 37 37    83.29 SISTEMAS
## 38 38    87.72 SISTEMAS
## 39 39    85.25 SISTEMAS
## 40 40    93.16 SISTEMAS
## 41 41    81.88 SISTEMAS
## 42 42    80.86 SISTEMAS
## 43 43    82.24 SISTEMAS
## 44 44    87.78 SISTEMAS
## 45 45    81.60 SISTEMAS
## 46 46    84.83 SISTEMAS
## 47 47    83.71 SISTEMAS
## 48 48    90.44 SISTEMAS
## 49 49    90.79 SISTEMAS
## 50 50    89.08 SISTEMAS

Los últimos cincuenta registros:

tail(datos[,c(2,8,9)], 50)
##         X Promedio      Carrera
## 5486 5486    87.70 ARQUITECTURA
## 5487 5487    81.96 ARQUITECTURA
## 5488 5488    85.45 ARQUITECTURA
## 5489 5489    93.75 ARQUITECTURA
## 5490 5490    82.33 ARQUITECTURA
## 5491 5491    82.80 ARQUITECTURA
## 5492 5492    76.71 ARQUITECTURA
## 5493 5493    87.05 ARQUITECTURA
## 5494 5494    87.50 ARQUITECTURA
## 5495 5495    83.70 ARQUITECTURA
## 5496 5496    93.50 ARQUITECTURA
## 5497 5497    91.67 ARQUITECTURA
## 5498 5498    89.67 ARQUITECTURA
## 5499 5499    89.83 ARQUITECTURA
## 5500 5500    87.03 ARQUITECTURA
## 5501 5501    87.25 ARQUITECTURA
## 5502 5502    77.91 ARQUITECTURA
## 5503 5503    88.38 ARQUITECTURA
## 5504 5504    89.00 ARQUITECTURA
## 5505 5505    86.17 ARQUITECTURA
## 5506 5506    86.40 ARQUITECTURA
## 5507 5507    91.50 ARQUITECTURA
## 5508 5508    84.33 ARQUITECTURA
## 5509 5509    91.75 ARQUITECTURA
## 5510 5510    86.72 ARQUITECTURA
## 5511 5511    89.13 ARQUITECTURA
## 5512 5512    87.00 ARQUITECTURA
## 5513 5513    86.21 ARQUITECTURA
## 5514 5514    87.80 ARQUITECTURA
## 5515 5515    88.83 ARQUITECTURA
## 5516 5516    75.00 ARQUITECTURA
## 5517 5517    84.00 ARQUITECTURA
## 5518 5518    84.50 ARQUITECTURA
## 5519 5519    85.55 ARQUITECTURA
## 5520 5520    87.77 ARQUITECTURA
## 5521 5521    86.11 ARQUITECTURA
## 5522 5522    91.50 ARQUITECTURA
## 5523 5523    84.36 ARQUITECTURA
## 5524 5524    86.81 ARQUITECTURA
## 5525 5525    87.80 ARQUITECTURA
## 5526 5526    84.67 ARQUITECTURA
## 5527 5527    81.27 ARQUITECTURA
## 5528 5528    92.00 ARQUITECTURA
## 5529 5529    87.59 ARQUITECTURA
## 5530 5530    81.16 ARQUITECTURA
## 5531 5531    84.43 ARQUITECTURA
## 5532 5532    92.47 ARQUITECTURA
## 5533 5533    89.74 ARQUITECTURA
## 5534 5534    87.75 ARQUITECTURA
## 5535 5535    86.50 ARQUITECTURA

3.3.3 La media

media <- mean(datos$Promedio)
media
## [1] 86.59522

3.3.4 La varianza

Se determina la varianza de la variable Promedio del conjunto de datos.

La variable Promedio es una variable cuantitativa que se que significa el promedio de alumnos inscritos en una Institución Educativa. Siendo variable cuantitativa se puede aplicar medidas de dispersión.

varianza <- var(datos$Promedio)
varianza
## [1] 20.72146

3.3.5 La desviación

Se determina la desviación estándar de la variable Promedio del conjunto de datos.

desviacion <- sd(datos$Promedio)
desviacion
## [1] 4.552083

3.3.6 El coeficiente de variación

CV <- desviacion / media * 100
CV
## [1] 5.256737

3.3.7 Dispersión de Promedio

Se visualiza el diagrama de dispersión de todos los alumnos de todas las carreras en su variable Promedio.

titulo <- "Todos los alumnos"
subtitulo <- paste("Media=", round(media,2), " Varianza=",round(varianza,2)," Desv. Std.=",round(desviacion,2), " CV =", round(CV, 2),"%") 
ggplot(data = datos, mapping = aes(x = X,  y = Promedio)) + 
  geom_point(colour = "blue") +
  geom_hline(yintercept = media, colour = "red") +
  ggtitle(titulo, subtitle = subtitulo) +
  xlab('Observaciones') + ylab('Promedios')

3.4 Tres carreras diferentes

Se eligen tres carreras diferentes, SISTEMAS, MECATRONICA y ADMINISTRACIÓN

3.4.1 Datos de la carrera Sistemas

datos.sistemas <- subset(datos, Carrera == 'SISTEMAS') 

head(datos.sistemas)
##   X.1 X NoControl Alumno Semestre Cr.Aprobados Cr.Cursando Promedio  Carrera
## 1   1 1         1      1       12          207          19    79.84 SISTEMAS
## 2   2 2         2      2       13          226           9    82.55 SISTEMAS
## 3   3 3         3      3       10          235          10    95.16 SISTEMAS
## 4   4 4         4      4       13          231          14    79.32 SISTEMAS
## 5   5 5         5      5       10          235          10    92.67 SISTEMAS
## 6   6 6         6      6       10          235          10    91.25 SISTEMAS
media.sistemas <- mean(datos.sistemas$Promedio)
varianza.sistemas <- var(datos.sistemas$Promedio)
desviacion.sistemas <- sd(datos.sistemas$Promedio)
CV.sistemas <- desviacion.sistemas / media.sistemas * 100

3.4.2 Medidas de Dispersión de Sistemas

3.4.2.1 Media

media.sistemas
## [1] 87.15769

3.4.2.2 Varianza

varianza.sistemas
## [1] 20.32183

3.4.2.3 Desviación Estándar

desviacion.sistemas
## [1] 4.507974

3.4.2.4 Coeficiente de Variación

CV.sistemas
## [1] 5.172205

3.4.3 Dispersión

En a instrucción ggplot(data = datos.sistemas, mapping = aes(x = Alumno, y = Promedio)) se toma en el eje de las X el consecutivo de la variable Alumnos, que es desde 1 hasta el último alumno de cada carrera; y en el eje de las Y’s el Promedio.

titulo <- "Alumnos Sistemas"
subtitulo <- paste("Media=", round(media.sistemas,2), " Varianza=",round(varianza.sistemas,2)," Desv. Std.=",round(desviacion.sistemas,2), " CV =", round(CV.sistemas, 2),"%") 
ggplot(data = datos.sistemas, mapping = aes(x = Alumno,  y = Promedio)) + 
  geom_point(colour = "orange") +
  geom_hline(yintercept = media, colour = "red") +
  ggtitle(titulo, subtitle = subtitulo) +
  xlab('Observaciones') + ylab('Promedios')

3.4.4 Datos de la carrera Mecatrónica

datos.mecatronica <- subset(datos, Carrera == 'MECATRONICA') 

head(datos.mecatronica)
##       X.1    X NoControl Alumno Semestre Cr.Aprobados Cr.Cursando Promedio
## 2049 2049 2049         1      1       13          195          25    78.63
## 2050 2050 2050         2      2       12          229           6    80.46
## 2051 2051 2051         3      3       12          220          15    83.91
## 2052 2052 2052         4      4       10          235          10    92.45
## 2053 2053 2053         5      5       10          201           9    84.10
## 2054 2054 2054         6      6       11          189          36    83.03
##          Carrera
## 2049 MECATRONICA
## 2050 MECATRONICA
## 2051 MECATRONICA
## 2052 MECATRONICA
## 2053 MECATRONICA
## 2054 MECATRONICA
media.mecatronica <- mean(datos.mecatronica$Promedio)
varianza.mecatronica <- var(datos.mecatronica$Promedio)
desviacion.mecatronica <- sd(datos.mecatronica$Promedio)
CV.mecatronica <- desviacion.mecatronica / media.mecatronica * 100

3.4.5 Medidas de Dispersión de Mecatronica

3.4.5.1 Media

media.mecatronica
## [1] 85.23032

3.4.5.2 Varianza

varianza.mecatronica
## [1] 13.01185

3.4.5.3 Desviación Estándar

desviacion.mecatronica
## [1] 3.607194

3.4.5.4 Coeficiente de Variación

CV.mecatronica
## [1] 4.232289

3.4.6 Dispersión

titulo <- "Alumnos Mecatrónica"
subtitulo <- paste("Media=", round(media.mecatronica,2), " Varianza=",round(varianza.mecatronica,2)," Desv. Std.=",round(desviacion.mecatronica,2), " CV =", round(CV.mecatronica, 2),"%") 
ggplot(data = datos.mecatronica, mapping = aes(x = Alumno,  y = Promedio)) + 
  geom_point(colour = "brown") +
  geom_hline(yintercept = media, colour = "red") +
  ggtitle(titulo, subtitle = subtitulo) +
  xlab('Observaciones') + ylab('Promedios')

3.4.7 Datos de la carrera Administración

datos.admon <- subset(datos, Carrera == 'ADMINISTRACION') 

head(datos.admon)
##     X.1   X NoControl Alumno Semestre Cr.Aprobados Cr.Cursando Promedio
## 558 558 558         1      1       10          262          10    87.67
## 559 559 559         2      2       10          231          20    90.29
## 560 560 560         3      3       10          204          22    85.60
## 561 561 561         4      4       10          262          10    89.56
## 562 562 562         5      5       11          252          10    87.25
## 563 563 563         6      6       10          232          24    87.10
##            Carrera
## 558 ADMINISTRACION
## 559 ADMINISTRACION
## 560 ADMINISTRACION
## 561 ADMINISTRACION
## 562 ADMINISTRACION
## 563 ADMINISTRACION
media.admon <- mean(datos.admon$Promedio)
varianza.admon <- var(datos.admon$Promedio)
desviacion.admon <- sd(datos.admon$Promedio)
CV.admon <- desviacion.admon / media.admon * 100

3.4.8 Medidas de Dispersión de Administración

3.4.8.1 Media

media.admon
## [1] 90.17629

3.4.8.2 Varianza

varianza.admon
## [1] 14.1488

3.4.8.3 Desviación Estándar

desviacion.admon
## [1] 3.76149

3.4.8.4 Coeficiente de Variación

CV.admon
## [1] 4.171262

3.4.9 Dispersión

titulo <- "Alumnos Administración"
subtitulo <- paste("Media=", round(media.admon,2), " Varianza=",round(varianza.admon,2)," Desv. Std.=",round(desviacion.admon,2), " CV =", round(CV.admon, 2),"%") 
ggplot(data = datos.admon, mapping = aes(x = Alumno,  y = Promedio)) + 
  geom_point(colour = "green") +
  geom_hline(yintercept = media, colour = "red") +
  ggtitle(titulo, subtitle = subtitulo) +
  xlab('Observaciones') + ylab('Promedios')

3.4.10 Dispersión de todas las carreras

ggplot(data = datos, mapping = aes(x = Alumno, y = Promedio, color = Carrera)) +
         geom_point() +
         facet_wrap(~ Carrera, nrow = 5) 

4 Interpretación del caso

  • ¿A que se refieren las medidas de dispersión?

    R: En general, señalizan y determinan qué tan alejados se encuentran los datos entre sí, e indican qué tanto varía la separación de los datos a otras medidas.

  • ¿Qué significa la varianza en un conjunto de datos? y ¿cómo se determina en lenguaje R?

    R: Es la diferencia que hay entre cada dato del conjunto y la media de todo el conjunto. Matemáticamente se determina dividiendo la sumatoria del cuadrado de la diferencia que hay en cada dato y la media, dividido entre el número total de datos, pero en R se determina fácilmente con la función var().

  • ¿Qué significa la desviación estándar en un conjunto de datos? y ¿cómo se determina en lenguaje R?

    R: Es la raíz cuadrada de la varianza, y en R se determina con la función sd().

  • ¿A qué se refiere el coeficiente de variación en un conjunto de datos? y ¿cómo se determina en R?

    R: Es la representación porcentual de la desviación estándar, e indica qué tan grande es la desviación estándar respecto a la media de los datos. En R no tiene una función específica, así que se determina matemáticamente con la división de la desviación estándar entre la media del conjunto de datos, luego se multiplica por 100%.

  • De los datos alumnos de aquellos que tienen promedio superior a cero, ¿cuál es el valor de la media, de la varianza, de la desviación estándar y del coeficiente de variación de todos ellos conforme a la variable o columna Promedio?

    R: De la Media es 86.5952, de la Varianza es 20.7214, de la Desviación Estándar es 4.552 y del Coeficiente de Variación es 5.2567%

  • Seleccione tres carreras al azar e indique cuáles seleccionaron, determine los coeficiente de variación para cada carrera o para cada conjunto de datos de cada carrera conforme a la variable Promedio. ¿Cuál de los tres conjuntos tiene mayor y menor coeficiente de variación y qué significa?

    R: Se seleccionaron las carreras de Sistemas, Mecatrónica y Administración. Se determinaron los siguientes datos.

    De la carrera de Sistemas, la Media fue de 87.1576, la Varianza fue de 20.3218, la Desviación Estándar fue de 4.5079, y el Coeficiente de Variación fue de 5.1722%.

    De la carrera de Mecatrónica, la Media fue de 85.2303, la Varianza fue de 13.0118, la Desviación Estándar fue de 3.6071, y el Coeficiente de Variación fue de 4.2322%.

    De la carrera de Administración, la Media fue de 90.1762, la Varianza fue de 14.1488, la Desviación Estándar fue de 3.7614, y el Coeficiente de Variación fue de 4.1712%.

    En base a esto se puede observar que Sistemas tiene el mayor Coeficiente de Variación. y Administración tiene el menor. Esto nos indica que cada promedio de sistemas se encuentra más alejado de la media, en comparación a los promedios de administración.

  • ¿Qué les deja el caso?

    Este caso nos demuestra y aplica el uso de las medidas de dispersión estándar, las cuales sirven para dar una idea de qué tan alejados se encuentran todos los datos de un conjunto de datos a comparación de su media o promedio. Esto a su ves nos sirve para calcular la escala y diferencia de los datos de todo un conjunto de datos obtenidos de una muestra, y nos permite tomar decisiones y actuar en base a ello.

5 Referencias bibliográficas

Anderson, David R., Dennis J. Sweeney, and Thomas A. Williams. 2008a. Estadística Para Administración y Economía. 10th ed. Australia • Brasil • Corea • España • Estados Unidos • Japón • México • Reino Unido • Singapur: Cengage Learning,.

———. 2008b. Estadística Para Administración y Economía. 10th ed. Australia Brasil Corea España Estados Unidos Japón México Reino Unido Singapur: Cengage Learning,.

Devore, Jay L. 2016b. Fundamentos de Probabilidad y Estadística. Primera Edición. CENGAGE.

———. 2016a. Fundamentos de Probabilidad y Estadística. Primera Edición. CENGAGE.