Determinar la distribución muestral de la media.
Se simula población con sueldos de trabajadores de una Institución educativa. La distribución de esta población no es normal es decir, no tiene características de ser distribución normal.
Se crean datos relacionados con la población y se determinan los parámetros descriptivos.
Se crean 100 y 1000 muestras diferentes con n elementos diferentes relacionados con la población y se determinan la media aritmética de cada muestra.
Se determina la distribución muestral de la media de las cien muestras y se identifica que la distribución se acera a una distribución normal además de que la media de la distribución muestral se acerca a la media de la población.
Si se organizan las medias de todas las muestras posibles (por decir cien y mil) en una distribución de probabilidad, el resultado recibe el nombre de distribución muestral de la media.
DISTRIBUCIÓN MUESTRAL DE LA MEDIA es la distribución de probabilidad de todas las posibles medias de las muestras de un determinado tamaño muestral de la población. (Lind, Marchal, and Wathen 2015).
library(cowplot)
library(ggplot2)
library(knitr)
Para que no aparezca notación científica
options(scipen=999)
set.seed(2022)
N <- 650 # Cantidad de datos de población
rango <- 5000:35000 # Rango de sueldos
n = 100 # Cantidad de datos de cada muestra
q1 = 100 # Cantidad de muestras m1, m2, m3
q2 = 1000 # Cantidad de muestras m1, m2, m3
q3 <- 10000
Se simula una población de trabajadores por medio de la creación de un vector con valores que contienen sueldos mensuales en pesos mexicanos de una población de \(N=650\) trabajadores que laboran en una Institución educativa. El rango del sueldo de manera simulada está entre $5000 y $35000 pesos ($) mensuales.
\[ poblacion = \text{ {x | x es un trabajador de una Institución educativa; }} \therefore \\ x_1, x_2, x_3, ... ,x_{N=6500} \]
poblacion <- data.frame(x = 1:N, sueldo=sample(x = rango, size = N, replace = TRUE))
head(poblacion$sueldo, 30)
tail(poblacion$sueldo, 30)
summary(poblacion$sueldo)
media.p <- round(mean(poblacion$sueldo),2)
desv.p <- round(sd(poblacion$sueldo),2)
media.p; desv.p
Se tiene una media aritmética poblacional de r media.p
con una desviación estándar de r desv.p.
\[ \mu = \frac{\sum{sueldo_x}}{N} = 19761.25 \]
Se determina una primera muestra de 100 trabajadores sin reemplazo que significa que no se puede repetir el trabajador el valor de \(x\).
\[ muestra = \text{ {x | x es un trabajador de la población; }} \therefore \\ x_1, x_2, x_3, ... ,x_{n=100} \]
La variables xs como parte de la muestra puede ser cualquier trabajador de la población que representa a la población.
xs <- sample(x = 1:N, size = n, replace = FALSE)
muestra <- poblacion[xs,]
summary(muestra$sueldo)
media.m <- round(mean(muestra$sueldo),2)
desv.m <- round(sd(muestra$sueldo),2)
media.m; desv.m
Se tiene una media aritmética de la primera muestra de
r media.m con una desviación estándar de
r desv.p. \[
\bar{x_1} = \frac{\sum{sueldo_x}}{n} = 20140.97
\]
El error muestral es porque los estadísticos no son valores numéricos igual que los parámetros de la población, siempre existirá una diferencia.
paste("Media aritméica poblacional", media.p, ";", "media muestral", media.m)
paste("Desviación estándar poblacional", desv.p, ";","desviación muestral", desv.m)
Se determina el error muestral del estadístico media de la muestra con respecto al parámetro de la media poblacional
dif.media <- media.p - media.m
paste("El error muestral con respecto a la media aritmética es de: ", round(dif.media, 2))
\[ \text{Error muestral =} (\mu - \bar{x}) = (19761.25 - 20140.97) =-379.72 \]
```{r message=FALSE, warning=FALSE} # Histograma con densidad g1 <- ggplot(poblacion, aes(x = sueldo)) + geom_histogram(aes(y = ..density..), colour = 1, fill = “blue”) + labs(title = “Población”, subtitle = paste(“ME=”, media.p, “; ds=”, desv.p, “; Err muestral media=”,dif.media), caption = “Fuente propia”) +
geom_vline(xintercept = media.m, col=‘red’) + geom_density(lwd = 1.2, linetype = 2, colour = 2) g1 <- g1 + theme( plot.title = element_text(color = “black”, size = 10, face = “bold”), plot.subtitle = element_text(color = “black”,size=7), plot.caption = element_text(color = “black”, face = “italic”, size=6) ) g2 <- ggplot(muestra, aes(x = sueldo)) + geom_histogram(aes(y = ..density..), colour = 1, fill = “green”) + geom_vline(xintercept = media.m, col=‘red’) + labs(title = “Muestra”, subtitle = paste(“me=”, media.m, “; ds.=”, desv.m), caption = “Fuente propia”) + geom_density(lwd = 1.2, linetype = 2, colour = 2) g2 <- g2 + theme( plot.title = element_text(color = “black”, size = 10, face = “bold”), plot.subtitle = element_text(color = “black”,size=7), plot.caption = element_text(color = “black”, face = “italic”, size=6) ) plot_grid(g1, g2, nrow = 1, ncol = 2)
Se observa que **no es una distribuciones normal**, ni los datos de población ni los datos de la muestra se comportan como distribución normal.
## Distribución muestral de la media 100 muestras.
Se determinan cien (100) muestras de 100 elementos cada una, luego se organizan las medias de todas las muestras en una distribución de probabilidad, el resultado recibe el nombre de distribución muestral de la media [@lind2015].
```{r}
muestras = as.list(NULL)
m.muestras = NULL
for (i in 1:q1) {
muestras[[i]] <- sample(x = poblacion$sueldo, size = q1, replace = FALSE)
m.muestras[i] <- mean(muestras[[i]])
}
Se construye una tabla de distribución de todos los sueldos de cada muestra, solo se muestran los tres primeros y los últimos tres en la columna final se observa la media de cada muestra.
La función t() transforma registros a columnas de un data.frame.
sueldos <- data.frame(muestras)
sueldos <- t(sueldos)
colnames(sueldos) <- paste0("sueldo",1:q1)
rownames(sueldos) <- paste0("M",1:q1)
tabla <- data.frame(sueldos[,1:3], "..."="...", sueldos[,(q1-2):q1], medias.muestrales = m.muestras)
kable(tabla, caption = "Tabla de medias aritméticas de cien muestras de cien sueldos cada una")
media.todas.muestras <- round(mean(tabla$medias.muestrales),4)
paste("La media de todas las muestras es de: ", media.todas.muestras)
```{r message=FALSE, warning=FALSE} # Histograma con densidad g1 <- ggplot(poblacion, aes(x = sueldo)) + geom_histogram(aes(y = ..density..), colour = 1, fill = “blue”) + labs(title = “Población”, subtitle = paste(“ME =”, media.p), caption = “Fuente propia”) +
geom_vline(xintercept = media.m, col=‘red’) + geom_density(lwd = 1.2, linetype = 2, colour = 2) g1 <- g1 + theme( plot.title = element_text(color = “black”, size = 10, face = “bold”), plot.subtitle = element_text(color = “black”,size=7), plot.caption = element_text(color = “black”, face = “italic”, size=6) ) g2 <- ggplot(tabla, aes(x = medias.muestrales)) + geom_histogram(aes(y = ..density..), colour = 1, fill = “green”) + geom_vline(xintercept = media.todas.muestras, col=‘red’) + labs(title = “Distribución muestral de la media CIEN”, subtitle = paste(“Media =”, media.todas.muestras), caption = “Fuente propia”) + geom_density(lwd = 1.2, linetype = 2, colour = 2) g2 <- g2 + theme( plot.title = element_text(color = “black”, size = 10, face = “bold”), plot.subtitle = element_text(color = “black”,size=7), plot.caption = element_text(color = “black”, face = “italic”, size=6) ) plot_grid(g1, g2, nrow = 1, ncol = 2)
Se observa la diferencia de forma de las distribuciones poblacional y muestral de medias.
También existe una diferencia en el rango de las medias de la población con respecto a la media de todas las muestras. El rango del sueldo de la población es `r range(poblacion$sueldo)`, mientras que las medias muestrales de la población con respecto al sueldo varían de
`r range(tabla$medias.muestrales)`.
En cuanto a la diferencias de las desviaciones estándar de la población y de las muestras:
```{r}
sd(poblacion$sueldo)
sd(tabla$medias.muestrales)
Se reduce su rango o lo que es lo mismo la desviación disminuye de
r sd(poblacion$sueldo) en la población a
r sd(tabla$medias.muestrales) en las medias muestrales.
¿Que pasará con mil muestras?
Se repite el proceso, ahora en lugar de ser cien ahora serán mil muestras.
Se determinan mil (1000) muestras de 100 elementos cada una, luego se organizan las medias de todas las muestras en una distribución de probabilidad, el resultado recibe el nombre de distribución muestral de la media (Lind, Marchal, and Wathen 2015).
muestras = as.list(NULL)
m.muestras = NULL
for (i in 1:q2) {
muestras[[i]] <- sample(x = poblacion$sueldo, size = q2, replace = TRUE)
m.muestras[i] <- mean(muestras[[i]])
}
Se construye una tabla de distribución de todos los sueldos de cada muestra, solo se muestran los tres primeros y los últimos tres en la columna final se observa la media de cada muestra.
Como son mil muestras solo se muestran las primeras cincuenta y las últimas cincuenta.
sueldos <- data.frame(muestras)
sueldos <- t(sueldos)
colnames(sueldos) <- paste0("sueldo",1:q2)
rownames(sueldos) <- paste0("M",1:q2)
tabla <- data.frame(sueldos[,1:3], "..."="...", sueldos[,(q2-2):q2], medias.muestrales = m.muestras)
kable(head(tabla,50), caption = paste("Tabla de medias aritméticas de ",q2," muestras de cien sueldos cada una"))
kable(tail(tabla,50), caption = paste("Tabla de medias aritméticas de ",q2," muestras de cien sueldos cada una"))
media.todas.muestras <- round(mean(tabla$medias.muestrales),2)
paste("La media de todas las ", q2, " muestras "," es de: ", media.todas.muestras)
```{r message=FALSE, warning=FALSE} # Histograma con densidad g1 <- ggplot(poblacion, aes(x = sueldo)) + geom_histogram(aes(y = ..density..), colour = 1, fill = “blue”) + labs(title = “Población”, subtitle = paste(“ME=”, media.p), caption = “Fuente propia”) +
geom_vline(xintercept = media.m, col=‘red’) + geom_density(lwd = 1.2, linetype = 2, colour = 2) g1 <- g1 + theme( plot.title = element_text(color = “black”, size = 10, face = “bold”), plot.subtitle = element_text(color = “black”,size=7), plot.caption = element_text(color = “black”, face = “italic”, size=6) ) g2 <- ggplot(tabla, aes(x = medias.muestrales)) + geom_histogram(aes(y = ..density..), colour = 1, fill = “green”) + geom_vline(xintercept = media.todas.muestras, col=‘red’) + labs(title = “Distribución muestral de la media MIL”, subtitle = paste(“Media =”, media.todas.muestras), caption = “Fuente propia”) + geom_density(lwd = 1.2, linetype = 2, colour = 2) g2 <- g2 + theme( plot.title = element_text(color = “black”, size = 10, face = “bold”), plot.subtitle = element_text(color = “black”,size=6), plot.caption = element_text(color = “black”, face = “italic”, size=6) ) plot_grid(g1, g2, nrow = 1, ncol = 2) ```
Se observa que la media de todas las muestras se acerca a la media de la población así mismo, la distribución muestral de la media es una distribución que se parece a distribución normal con gráfica de gauss o campana.
Entre mas muestras haya, la dispersión de los datos disminuye y entre más muestras se determinen, el valor de la media de todas las muestras se acerca al valor de la media poblacional.
El caso presentado es un ejemplo de muestreo aleatorio simple con el objetivo de estimar la media poblacional de los sueldos de trabajadores de una institución educativa.
En el caso, se simula una población de trabajadores con sueldos mensuales que van desde $5000 hasta $35000 pesos mexicanos. La población está compuesta por 650 trabajadores.
A partir de la población, se toma una muestra aleatoria simple de 100 trabajadores sin reemplazo. Se calculan los estadísticos muestrales, como la media y la desviación estándar de la muestra. Se compara la media muestral con la media poblacional para determinar el error muestral.
Posteriormente, se generan 100 muestras de 100 trabajadores cada una, y se calcula la media de cada muestra. Estas medias muestrales se organizan en una distribución muestral de la media. Se observa que esta distribución no sigue una distribución normal.
Luego, se repite el proceso con 1000 muestras de 100 trabajadores cada una, y se obtiene una nueva distribución muestral de la media. Nuevamente, se observa que la distribución no sigue una distribución normal.
En resumen, el caso presenta un ejemplo de muestreo aleatorio simple y la construcción de distribuciones muestrales de la media para estimar la media poblacional de los sueldos de los trabajadores de una institución educativa. Sin embargo, se destaca que las distribuciones muestrales obtenidas no se ajustan a una distribución normal, lo cual podría tener implicaciones en la precisión de las estimaciones.