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)
library(knitr)
library(fdth)
library(gtools)
library(Rmpfr) # Para factoriales de números muy grandes
N <- 1000000;
edad.poblacion <- round(rnorm(N, mean = 35, sd = 5), 0)
summary(edad.poblacion)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 13.00 32.00 35.00 35.01 38.00 60.00
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 45 34 28 38 38 40 37 38 40 32 42 36 37 40 36 40 39 43 41 38 33 23 38 27
## [26] 38 51 36 37 40 26 45 41 33 35 42 36 33 41 41 38 41 40 37 25 37 43 42 30 46
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 23 31 28 34 38 31 35 37 28 33 40 39 41 37 32 32 32 34 33 31 39 40 29 41
## [26] 33 39 36 38 36 46 36 31 29 47 41 29 33 37 39 33 25 42 27 38 41 36 44 38 32
media.pob <- mean(edad.poblacion)
desv.std <- sd(edad.poblacion)
paste("Los parámetros de la media y desviación estándar de la población")
## [1] "Los parámetros de la media y desviación estándar de la población"
media.pob; desv.std
## [1] 35.00648
## [1] 5.008383
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. :19.00 Min. :23.0 Min. :18.0 Min. :21.00 Min. :22.0
## 1st Qu.:32.00 1st Qu.:31.0 1st Qu.:32.0 1st Qu.:32.00 1st Qu.:32.0
## Median :35.00 Median :35.0 Median :35.0 Median :35.00 Median :35.0
## Mean :34.96 Mean :34.8 Mean :34.8 Mean :34.77 Mean :35.3
## 3rd Qu.:38.00 3rd Qu.:38.0 3rd Qu.:38.0 3rd Qu.:38.00 3rd Qu.:39.0
## Max. :52.00 Max. :49.0 Max. :51.0 Max. :49.00 Max. :54.0
kable(head(muestras, 10), caption = "Muestras de la población. Los primeros diez de 500 registros")
m1 | m2 | m3 | m4 | m5 |
---|---|---|---|---|
36 | 42 | 38 | 27 | 44 |
39 | 42 | 36 | 34 | 28 |
31 | 41 | 34 | 47 | 36 |
34 | 33 | 25 | 32 | 31 |
44 | 35 | 38 | 33 | 35 |
37 | 33 | 41 | 37 | 34 |
38 | 39 | 30 | 26 | 43 |
23 | 28 | 39 | 31 | 29 |
27 | 33 | 38 | 28 | 28 |
31 | 33 | 35 | 39 | 31 |
kable(head(muestras, 10), caption = "Muestras de la población. Los últimos diez de 500 registros")
m1 | m2 | m3 | m4 | m5 |
---|---|---|---|---|
36 | 42 | 38 | 27 | 44 |
39 | 42 | 36 | 34 | 28 |
31 | 41 | 34 | 47 | 36 |
34 | 33 | 25 | 32 | 31 |
44 | 35 | 38 | 33 | 35 |
37 | 33 | 41 | 37 | 34 |
38 | 39 | 30 | 26 | 43 |
23 | 28 | 39 | 31 | 29 |
27 | 33 | 38 | 28 | 28 |
31 | 33 | 35 | 39 | 31 |
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.00648 | 34.956 | -0.050483 |
35.00648 | 34.804 | -0.202483 |
35.00648 | 34.798 | -0.208483 |
35.00648 | 34.772 | -0.234483 |
35.00648 | 35.296 | 0.289517 |
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 = "Observaciones", xlab="Edades")
hist(muestras$m2, main = "Histrograma de la edad de la muestra 2", ylab = "Observaciones", xlab="Edades")
hist(muestras$m3, main = "Histrograma de la edad de la muestra 3", ylab = "Observaciones", xlab="Edades")
hist(muestras$m4, main = "Histrograma de la edad de la muestra 4", ylab = "Observaciones", xlab="Edades")
hist(muestras$m5, main = "Histrograma de la edad de la muestra 5", ylab = "Observaciones", xlab="Edades")
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.
## 13.00 32.00 35.00 35.01 38.00 60.00
media.pob; desv.std
## [1] 35.00648
## [1] 5.008383
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] 47 43 32 41 26 28 41 33 36 35
media.pob <- mean(edad.poblacion)
desv.std <- sd(edad.poblacion)
media.pob; desv.std
## [1] 36.2
## [1] 6.746192
n.combinaciones <- factorialMpfr(N) / (factorialMpfr(n) * (factorialMpfr(N-n)))
as.integer(n.combinaciones)
## [1] 45
paste("El número de muestras que hay que determinar en grupos de 2 para una población de 10 es de", as.integer(n.combinaciones))
## [1] "El número de muestras que hay que determinar en grupos de 2 para una población de 10 es de 45"
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 | 47 | 43 | 45.0 | 36.2 | 8.8 |
2 | 1 | 3 | 47 | 32 | 39.5 | 36.2 | 3.3 |
3 | 1 | 4 | 47 | 41 | 44.0 | 36.2 | 7.8 |
4 | 1 | 5 | 47 | 26 | 36.5 | 36.2 | 0.3 |
5 | 1 | 6 | 47 | 28 | 37.5 | 36.2 | 1.3 |
6 | 1 | 7 | 47 | 41 | 44.0 | 36.2 | 7.8 |
7 | 1 | 8 | 47 | 33 | 40.0 | 36.2 | 3.8 |
8 | 1 | 9 | 47 | 36 | 41.5 | 36.2 | 5.3 |
9 | 1 | 10 | 47 | 35 | 41.0 | 36.2 | 4.8 |
10 | 2 | 3 | 43 | 32 | 37.5 | 36.2 | 1.3 |
11 | 2 | 4 | 43 | 41 | 42.0 | 36.2 | 5.8 |
12 | 2 | 5 | 43 | 26 | 34.5 | 36.2 | -1.7 |
13 | 2 | 6 | 43 | 28 | 35.5 | 36.2 | -0.7 |
14 | 2 | 7 | 43 | 41 | 42.0 | 36.2 | 5.8 |
15 | 2 | 8 | 43 | 33 | 38.0 | 36.2 | 1.8 |
16 | 2 | 9 | 43 | 36 | 39.5 | 36.2 | 3.3 |
17 | 2 | 10 | 43 | 35 | 39.0 | 36.2 | 2.8 |
18 | 3 | 4 | 32 | 41 | 36.5 | 36.2 | 0.3 |
19 | 3 | 5 | 32 | 26 | 29.0 | 36.2 | -7.2 |
20 | 3 | 6 | 32 | 28 | 30.0 | 36.2 | -6.2 |
21 | 3 | 7 | 32 | 41 | 36.5 | 36.2 | 0.3 |
22 | 3 | 8 | 32 | 33 | 32.5 | 36.2 | -3.7 |
23 | 3 | 9 | 32 | 36 | 34.0 | 36.2 | -2.2 |
24 | 3 | 10 | 32 | 35 | 33.5 | 36.2 | -2.7 |
25 | 4 | 5 | 41 | 26 | 33.5 | 36.2 | -2.7 |
26 | 4 | 6 | 41 | 28 | 34.5 | 36.2 | -1.7 |
27 | 4 | 7 | 41 | 41 | 41.0 | 36.2 | 4.8 |
28 | 4 | 8 | 41 | 33 | 37.0 | 36.2 | 0.8 |
29 | 4 | 9 | 41 | 36 | 38.5 | 36.2 | 2.3 |
30 | 4 | 10 | 41 | 35 | 38.0 | 36.2 | 1.8 |
31 | 5 | 6 | 26 | 28 | 27.0 | 36.2 | -9.2 |
32 | 5 | 7 | 26 | 41 | 33.5 | 36.2 | -2.7 |
33 | 5 | 8 | 26 | 33 | 29.5 | 36.2 | -6.7 |
34 | 5 | 9 | 26 | 36 | 31.0 | 36.2 | -5.2 |
35 | 5 | 10 | 26 | 35 | 30.5 | 36.2 | -5.7 |
36 | 6 | 7 | 28 | 41 | 34.5 | 36.2 | -1.7 |
37 | 6 | 8 | 28 | 33 | 30.5 | 36.2 | -5.7 |
38 | 6 | 9 | 28 | 36 | 32.0 | 36.2 | -4.2 |
39 | 6 | 10 | 28 | 35 | 31.5 | 36.2 | -4.7 |
40 | 7 | 8 | 41 | 33 | 37.0 | 36.2 | 0.8 |
41 | 7 | 9 | 41 | 36 | 38.5 | 36.2 | 2.3 |
42 | 7 | 10 | 41 | 35 | 38.0 | 36.2 | 1.8 |
43 | 8 | 9 | 33 | 36 | 34.5 | 36.2 | -1.7 |
44 | 8 | 10 | 33 | 35 | 34.0 | 36.2 | -2.2 |
45 | 9 | 10 | 36 | 35 | 35.5 | 36.2 | -0.7 |
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: 36.2 y la media de la edad de la distribución muestral es: 36.2"
En este caso se usamos el teorema del limite central, el cual nos ayuda a encontrar la media poblacion y la media de distribucion. Por ejemplo:
El primer ejercicio, se experimeto con una poblacion de 1,000,000 de edades de personas, sabiendo que la media de edad es de 35 y su desviacion estandar es de 5, apartir de estos datos, se comienza a buscar el valor de edad de los primeros y ultimos 50 valores, y luego realizamos parametros de media y desvacion estandar de la poblacion, el cual nos da como resultado que la media edad es de 35.0020 y la desviacion estandar es la poblacion es de 5.0063.
En el segundo ejercicio, se determina la media y la desviacion estadar de muestras, para esto se checa los primeros y utlimtos 500 muestras de la poblacion, luego se busca el error de media de cada muestra con respecto a la media de la poblacion, esto quiere decir que si el resultado es negativo, la media muestral es inferior a la media poblacional y si es positiva, es que excede a la media de la poblacion, como se muestra en las visualizaciones de las graficas de barras.
Para el tercer ejercicio, se retomaron los datos de los anteriores ejercicios, el tamaño de la poblacion que son 1,000,000, al tamaño de las muestras que son 500, edades de la poblacion conocidas y recabadas de las personas,la media de toda la poblacion y su desviacion estandar, para poder realizar el teorema, lo que hacemos es redicir a la poblacion de 10 con muestras de 2 personas, con esto se puede simular una nueva poblacion con los mismos valores de la media de edades, que son 35 y 5, con esto se determina un nuevo parametro, y se obtendriamos el numero de muestras que se determinaron en grupos de 2 para una población de 10, dando como resultado 45, y entendiendo que la media poblacion es de 34.4 y de la media de la edad de la distribucion muestral es de 34.4.