Objetivo

Simular el teorema del límite central.

Descripción

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.

1. Cargar librerías

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(mosaic)
## Warning: package 'mosaic' was built under R version 4.0.3
## Registered S3 method overwritten by 'mosaic':
##   method                           from   
##   fortify.SpatialPolygonsDataFrame ggplot2
## 
## The 'mosaic' package masks several functions from core packages in order to add 
## additional features.  The original behavior of these functions should not be affected by this.
## 
## Attaching package: 'mosaic'
## The following object is masked from 'package:Matrix':
## 
##     mean
## The following object is masked from 'package:ggplot2':
## 
##     stat
## The following objects are masked from 'package:dplyr':
## 
##     count, do, tally
## The following objects are masked from 'package:stats':
## 
##     binom.test, cor, cor.test, cov, fivenum, IQR, median, prop.test,
##     quantile, sd, t.test, var
## The following objects are masked from 'package:base':
## 
##     max, mean, min, prod, range, sample, sum
library(readr)
library(ggplot2)  
library(knitr)   
library(fdth)    
## 
## Attaching package: 'fdth'
## The following objects are masked from 'package:mosaic':
## 
##     sd, var
## The following objects are masked from 'package:stats':
## 
##     sd, var
library(gtools)   
## 
## Attaching package: 'gtools'
## The following object is masked from 'package:mosaic':
## 
##     logit
library(Rmpfr)     
## Warning: package 'Rmpfr' was built under R version 4.0.3
## Loading required package: gmp
## Warning: package 'gmp' was built under R version 4.0.3
## 
## Attaching package: 'gmp'
## The following object is masked from 'package:mosaic':
## 
##     factorize
## The following objects are masked from 'package:Matrix':
## 
##     crossprod, tcrossprod
## The following objects are masked from 'package:base':
## 
##     %*%, apply, crossprod, matrix, tcrossprod
## C code of R package 'Rmpfr': GMP using 64 bits per limb
## 
## Attaching package: 'Rmpfr'
## The following object is masked from 'package:gmp':
## 
##     outer
## The following objects are masked from 'package:stats':
## 
##     dbinom, dgamma, dnbinom, dnorm, dpois, pnorm
## The following objects are masked from 'package:base':
## 
##     cbind, pmax, pmin, rbind

2. Cargar datos

Experimentar con una población de 1000000 de edades de personas

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      60
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] 30 32 42 33 33 35 43 38 25 38 36 41 39 37 43 33 36 20 36 39 36 38 27 35 40
## [26] 35 34 32 27 35 40 42 38 35 43 29 41 38 37 33 42 27 37 38 35 40 29 36 33 44
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] 33 36 36 33 26 35 30 36 38 37 46 42 39 40 29 34 38 33 43 31 33 24 32 42 34
## [26] 29 31 33 34 35 33 49 35 45 39 33 40 33 42 39 44 37 34 30 26 39 28 40 30 33
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.00438
## [1] 5.007769
Determinar medias y desviaciones muestrales.
  • Determinar cinco muestras de n=500 casos por medio de la función sample(), se guardan en un data.frame llamado muestras.
  • Se visualizan los estadísticos principales por medio de la función summary()
  • Se utiliza un ciclo para determinar las medias de cada muestra.
  • Se construye un data frame con los valores de los errores estadísticos
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       
##  Min.   :18.00   Min.   :17.00   Min.   :21.00   Min.   :19.00  
##  1st Qu.:31.00   1st Qu.:32.00   1st Qu.:31.00   1st Qu.:32.00  
##  Median :35.00   Median :35.00   Median :35.00   Median :35.00  
##  Mean   :34.71   Mean   :35.27   Mean   :34.91   Mean   :34.92  
##  3rd Qu.:38.00   3rd Qu.:39.00   3rd Qu.:38.00   3rd Qu.:38.00  
##  Max.   :54.00   Max.   :48.00   Max.   :52.00   Max.   :49.00  
##        m5       
##  Min.   :20.00  
##  1st Qu.:31.00  
##  Median :35.00  
##  Mean   :34.73  
##  3rd Qu.:38.00  
##  Max.   :50.00
kable(head(muestras, 10), caption = "Muestras de la población. Los primeros diez de 500 registros")
Muestras de la población. Los primeros diez de 500 registros
m1 m2 m3 m4 m5
31 28 28 31 39
32 38 40 29 46
37 33 33 36 28
34 40 30 36 43
29 41 37 32 29
30 38 27 32 31
23 31 30 40 47
34 32 44 41 29
40 43 31 31 34
37 27 42 28 33
kable(head(muestras, 10), caption = "Muestras de la población. Los últimos diez de 500 registros")
Muestras de la población. Los últimos diez de 500 registros
m1 m2 m3 m4 m5
31 28 28 31 39
32 38 40 29 46
37 33 33 36 28
34 40 30 36 43
29 41 37 32 29
30 38 27 32 31
23 31 30 40 47
34 32 44 41 29
40 43 31 31 34
37 27 42 28 33
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")
Error de media de edad de cada muestra con respecto a la media de la población
Media.Poblacion Media.Muestras Errores
35.00438 34.708 -0.296378
35.00438 35.270 0.265622
35.00438 34.906 -0.098378
35.00438 34.920 -0.084378
35.00438 34.730 -0.274378

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.

Se recapitulan los datos iniciales:

  • N = 1000000, tamaño de la población
  • n = 500, tamaño de la muestra
  • edad.poblacion es la edad conocida y recabada de las personas.
  • media.pob es la media de toda la población,
  • desv.std es la desviación estándar de toda la población,
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      60
media.pob; desv.std
## [1] 35.00438
## [1] 5.007769
  • En el anterior ejercicio se determinaron cinco muestras y cinco errores muestrales, uno de cada muestra.
  • De acuerdo al concepto de distribución muestral de la media,
  • ¿Cual es la cantidad posibles muestras de grupos de 500 que se pueden determinar para una población de 1000000?
  • Se necesita determinar la combinaciones …

\[C(N/(n))=N!/n!⋅(N−n)!\]