Simular el teorema del límite central.
Con un conjunto de datos y librerías adecuadas, simular el valor de la media muestral comparado con el valor de la media poblacional asociando con ello con el teorema del límite central.
library(dplyr)
library(mosaic)
library(readr)
library(ggplot2) # Para gráficos
library(knitr) # Para formateo de datos
library(fdth) # Para tablas de frecuencias
library(gtools) # Para combinaciones y permutaciones
library(Rmpfr)
Experimentar con una población de 1000000 de edades de personas * Se simula una población bajo una condición de distribución normal de N=1000000 (un millón) de personas con media de edad de 35 años y desviación estándar de 5. * Se muestran los parámetros principales de la edad de la población.
N <- 1000000;
edad.poblacion <- round(rnorm(N, mean = 35, sd = 5), 0)
summary(edad.poblacion)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 10 32 35 35 38 59
paste("El valor de edad de una pobacion. Los primeros cincuenta valores ...")
## [1] "El valor de edad de una pobacion. Los primeros cincuenta valores ..."
head(edad.poblacion, 50)
## [1] 31 31 42 31 36 30 36 32 39 35 28 28 29 36 36 34 30 41 42 39 32 40 40 30 43
## [26] 29 47 38 43 26 30 33 36 34 31 44 34 36 36 35 38 38 39 30 33 36 35 37 36 37
paste("El valor de edad de una pobacion. Los últimos cincuenta valores ...")
## [1] "El valor de edad de una pobacion. Los últimos cincuenta valores ..."
tail(edad.poblacion, 50)
## [1] 34 34 42 28 36 31 36 30 42 31 42 39 37 32 37 38 29 40 38 30 36 26 40 37 32
## [26] 36 31 46 33 34 52 42 43 35 32 37 38 41 30 33 34 34 40 33 23 43 40 32 31 29
media.pob <- mean(edad.poblacion)
desv.std <- sd(edad.poblacion)
paste("Los parámetros de la media y desviación estándard de la población")
## [1] "Los parámetros de la media y desviación estándard de la población"
media.pob; desv.std
## [1] 35.00175
## [1] 5.008227
Determinar medias y desviaciones muestrales.
n <- 500
muestras <- data.frame(m1=sample(edad.poblacion, n),
m2=sample(edad.poblacion, n),
m3=sample(edad.poblacion, n),
m4=sample(edad.poblacion, n),
m5=sample(edad.poblacion, n))
summary(muestras)
## m1 m2 m3 m4 m5
## Min. :21.00 Min. :22.00 Min. :19.00 Min. :20.0 Min. :17.00
## 1st Qu.:31.75 1st Qu.:32.00 1st Qu.:32.00 1st Qu.:32.0 1st Qu.:32.00
## Median :35.00 Median :35.00 Median :35.00 Median :35.0 Median :35.00
## Mean :34.65 Mean :35.12 Mean :34.98 Mean :34.9 Mean :35.03
## 3rd Qu.:38.00 3rd Qu.:39.00 3rd Qu.:38.00 3rd Qu.:38.0 3rd Qu.:38.00
## Max. :56.00 Max. :53.00 Max. :51.00 Max. :50.0 Max. :51.00
kable(head(muestras, 10), caption = "Muestras de la población. Los primeros diez de 500 registros")
| m1 | m2 | m3 | m4 | m5 |
|---|---|---|---|---|
| 37 | 36 | 25 | 32 | 35 |
| 40 | 36 | 33 | 27 | 39 |
| 35 | 30 | 36 | 36 | 31 |
| 27 | 38 | 42 | 32 | 34 |
| 43 | 34 | 28 | 37 | 39 |
| 37 | 34 | 34 | 32 | 30 |
| 38 | 38 | 39 | 36 | 28 |
| 32 | 37 | 27 | 40 | 36 |
| 30 | 32 | 41 | 44 | 41 |
| 40 | 35 | 43 | 36 | 28 |
kable(head(muestras, 10), caption = "Muestras de la población. Los últimos diez de 500 registros")
| m1 | m2 | m3 | m4 | m5 |
|---|---|---|---|---|
| 37 | 36 | 25 | 32 | 35 |
| 40 | 36 | 33 | 27 | 39 |
| 35 | 30 | 36 | 36 | 31 |
| 27 | 38 | 42 | 32 | 34 |
| 43 | 34 | 28 | 37 | 39 |
| 37 | 34 | 34 | 32 | 30 |
| 38 | 38 | 39 | 36 | 28 |
| 32 | 37 | 27 | 40 | 36 |
| 30 | 32 | 41 | 44 | 41 |
| 40 | 35 | 43 | 36 | 28 |
medias <- 0
error <- 0
for(i in 1:5) {
medias[i] <- mean(muestras[,i])
error[i] <- medias[i] - media.pob
}
error.muestreo <- data.frame(Media.Poblacion = media.pob, Media.Muestras = medias, Errores = error)
kable(error.muestreo, caption = "Error de media de edad de cada muestra con respecto a la media de la población")
| Media.Poblacion | Media.Muestras | Errores |
|---|---|---|
| 35.00175 | 34.646 | -0.35575 |
| 35.00175 | 35.118 | 0.11625 |
| 35.00175 | 34.978 | -0.02375 |
| 35.00175 | 34.896 | -0.10575 |
| 35.00175 | 35.026 | 0.02425 |
Cada una de estas diferencias en la columna de Errores, representa el error de muestreo cometido al calcular la media de la población. A veces estos errores son valores positivos, lo cual indica que la media muestral sobre excedió la media poblacional; otras veces son negativos, lo cual indica que la media muestral es inferior a la media poblacional (Lind et al., 2015).
Visualizando la población y la muestra
hist(edad.poblacion, main = "Histrograma de la edad de la población")
hist(muestras$m1, main = "Histrograma de la edad de la muestra 1", ylab = "Edades", xlab="Observacaiones")
hist(muestras$m2, main = "Histrograma de la edad de la muestRa 2", ylab = "Edades", xlab="Observacaiones")
hist(muestras$m3, main = "Histrograma de la edad de la muestRa 3", ylab = "Edades", xlab="Observacaiones")
hist(muestras$m4, main = "Histrograma de la edad de la muestRa 4", ylab = "Edades", xlab="Observacaiones")
hist(muestras$m5, main = "Histrograma de la edad de la muestRa 5", ylab = "Edades", xlab="Observacaiones")
Con el ejercicio anterior, anterior se encontró el error de muestreo y se presentaron los resultados de comparar un estadístico para una muestra (como la media de la muestra) con la media de la población; bajo este contexto, cuando se usa la media muestral para estudiar la media de la población, ¿cómo se determina la exactitud de la estimación?, es decir, como saber si la media de la muestra es un estimador real con respecto a la población.
Para responder estas preguntas, primero hay que precisar el concepto de 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 et al., 2015).
options(scipen = 999) # Para mostrar notación normal y no científica en el valor de N: 1e+06
N; n;
## [1] 1000000
## [1] 500
options(scipen = 0) # Regresa a notación numérica normal
summary(edad.poblacion)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 10 32 35 35 38 59
media.pob; desv.std
## [1] 35.00175
## [1] 5.008227
#factorialMpfr(N) / (factorialMpfr(n) * (factorialMpfr(N-n)))
Por lo anterior el número de muestra con una población de un millón (1000000) en grupo de 500 es demasiado grande para tratarlo.
Para ejemplificar el teorema de límite central se reduce la población a 10 con muestras de 2 personas.
Simulando una nueva población con los mismos valores de media de edad igual a 35 y desviación de 5.
Se determinan los nuevos parámetros de medias y desviaciones estándar de la población. * N = 10, tamaño de la población * n = 2, tamaño de la muestra
N <- 10; n <- 2
edad.poblacion <- round(rnorm(N, mean = 35, sd = 5), 0)
edad.poblacion
## [1] 28 32 27 30 31 36 44 38 47 36
media.pob <- mean(edad.poblacion)
desv.std <- sd(edad.poblacion)
media.pob; desv.std
## [1] 34.9
## [1] 6.657494
De acuerdo al concepto distribución muestral de la media ¿cuál es el número de muestras que hay que determinar en grupos de 2 para una población de 10?
n.combinaciones <- factorialMpfr(N) / (factorialMpfr(n) * (factorialMpfr(N-n)))
as.integer(n.combinaciones)
## [1] 45
Ahora bien ¿cuál es el valor estadístico de la media de la edad de la primera muestra, de la segunda, de la tercera y de la 45 ava muestra.
muestras <- cbind(1:as.integer(n.combinaciones))
muestras <- cbind(muestras, combinations(N, n, 1:N))
muestras <- cbind(muestras, edad.poblacion[muestras[,2]], edad.poblacion[muestras[,3]])
medias <- 0
error <- 0
for(i in 1:as.integer(n.combinaciones)) {
medias[i] <- mean(muestras[i,c(4,5)])
error[i] <- medias[i] - media.pob
}
muestras <- cbind(muestras, medias)
muestras <- cbind(muestras, media.pob)
muestras <- cbind(muestras, error)
muestras <- data.frame(muestras)
colnames(muestras) <- c("Muestra", "Pos.1", "Pos.2", "Valor.1", "Valor.2", "Media muestra", "Media pob.", "Error")
kable(muestras, caption = "Las muestras")
| Muestra | Pos.1 | Pos.2 | Valor.1 | Valor.2 | Media muestra | Media pob. | Error |
|---|---|---|---|---|---|---|---|
| 1 | 1 | 2 | 28 | 32 | 30.0 | 34.9 | -4.9 |
| 2 | 1 | 3 | 28 | 27 | 27.5 | 34.9 | -7.4 |
| 3 | 1 | 4 | 28 | 30 | 29.0 | 34.9 | -5.9 |
| 4 | 1 | 5 | 28 | 31 | 29.5 | 34.9 | -5.4 |
| 5 | 1 | 6 | 28 | 36 | 32.0 | 34.9 | -2.9 |
| 6 | 1 | 7 | 28 | 44 | 36.0 | 34.9 | 1.1 |
| 7 | 1 | 8 | 28 | 38 | 33.0 | 34.9 | -1.9 |
| 8 | 1 | 9 | 28 | 47 | 37.5 | 34.9 | 2.6 |
| 9 | 1 | 10 | 28 | 36 | 32.0 | 34.9 | -2.9 |
| 10 | 2 | 3 | 32 | 27 | 29.5 | 34.9 | -5.4 |
| 11 | 2 | 4 | 32 | 30 | 31.0 | 34.9 | -3.9 |
| 12 | 2 | 5 | 32 | 31 | 31.5 | 34.9 | -3.4 |
| 13 | 2 | 6 | 32 | 36 | 34.0 | 34.9 | -0.9 |
| 14 | 2 | 7 | 32 | 44 | 38.0 | 34.9 | 3.1 |
| 15 | 2 | 8 | 32 | 38 | 35.0 | 34.9 | 0.1 |
| 16 | 2 | 9 | 32 | 47 | 39.5 | 34.9 | 4.6 |
| 17 | 2 | 10 | 32 | 36 | 34.0 | 34.9 | -0.9 |
| 18 | 3 | 4 | 27 | 30 | 28.5 | 34.9 | -6.4 |
| 19 | 3 | 5 | 27 | 31 | 29.0 | 34.9 | -5.9 |
| 20 | 3 | 6 | 27 | 36 | 31.5 | 34.9 | -3.4 |
| 21 | 3 | 7 | 27 | 44 | 35.5 | 34.9 | 0.6 |
| 22 | 3 | 8 | 27 | 38 | 32.5 | 34.9 | -2.4 |
| 23 | 3 | 9 | 27 | 47 | 37.0 | 34.9 | 2.1 |
| 24 | 3 | 10 | 27 | 36 | 31.5 | 34.9 | -3.4 |
| 25 | 4 | 5 | 30 | 31 | 30.5 | 34.9 | -4.4 |
| 26 | 4 | 6 | 30 | 36 | 33.0 | 34.9 | -1.9 |
| 27 | 4 | 7 | 30 | 44 | 37.0 | 34.9 | 2.1 |
| 28 | 4 | 8 | 30 | 38 | 34.0 | 34.9 | -0.9 |
| 29 | 4 | 9 | 30 | 47 | 38.5 | 34.9 | 3.6 |
| 30 | 4 | 10 | 30 | 36 | 33.0 | 34.9 | -1.9 |
| 31 | 5 | 6 | 31 | 36 | 33.5 | 34.9 | -1.4 |
| 32 | 5 | 7 | 31 | 44 | 37.5 | 34.9 | 2.6 |
| 33 | 5 | 8 | 31 | 38 | 34.5 | 34.9 | -0.4 |
| 34 | 5 | 9 | 31 | 47 | 39.0 | 34.9 | 4.1 |
| 35 | 5 | 10 | 31 | 36 | 33.5 | 34.9 | -1.4 |
| 36 | 6 | 7 | 36 | 44 | 40.0 | 34.9 | 5.1 |
| 37 | 6 | 8 | 36 | 38 | 37.0 | 34.9 | 2.1 |
| 38 | 6 | 9 | 36 | 47 | 41.5 | 34.9 | 6.6 |
| 39 | 6 | 10 | 36 | 36 | 36.0 | 34.9 | 1.1 |
| 40 | 7 | 8 | 44 | 38 | 41.0 | 34.9 | 6.1 |
| 41 | 7 | 9 | 44 | 47 | 45.5 | 34.9 | 10.6 |
| 42 | 7 | 10 | 44 | 36 | 40.0 | 34.9 | 5.1 |
| 43 | 8 | 9 | 38 | 47 | 42.5 | 34.9 | 7.6 |
| 44 | 8 | 10 | 38 | 36 | 37.0 | 34.9 | 2.1 |
| 45 | 9 | 10 | 47 | 36 | 41.5 | 34.9 | 6.6 |
La media de la distribución muestral de la media se obtiene al sumar las medias muestrales y dividir el resultado entre el número de muestras. La media de todas las medias muestrales se representa mediante μx¯ \(μx¯=∑i=1Nx¯=x1¯+x2¯+x3¯...xn¯\) Entonces … la media de la distribución muestral comparado con la media poblaciónal
paste("La media poblacional es: ", media.pob, " y la media de la edad de la distribución muestral es: ", mean(muestras$`Media muestra`))
## [1] "La media poblacional es: 34.9 y la media de la edad de la distribución muestral es: 34.9"
En el caso 23 vemos lo que es el teorema del límite central es un teorema fundamental de probabilidad y estadística. El teorema describe la distribución de la media de una muestra aleatoria proveniente de una población con varianza finita. En este problema primeramente vamos a cargar lo que son los 1000000 datos en el cual tenemos rangos por edades y lo que es la media la tenemos en lo que son los 35 años y cuando saquemos la desviacion estandar sera de 5. Una vez obtenidos estos datos se realizaron unos histogramas para apreciarlos mejor, como podemos ver en uno de los histogramas la barra mas alta indica que 150,000 personas estan en la media. Y finalmente lo divimos en grupos, y ya que sabemos que cada grupo consta de 500 personas podemos ver los resultados que nos arroja que toda la poblacion osila entre los 33 y 35 años de edad.