Muestreo en estadística
Al elegir una muestra aleatoria se espera conseguir que sus propiedades sean extrapolables a la población. Este proceso permite ahorrar recursos, y a la vez obtener resultados parecidos a los que se alcanzarían si se realizase un estudio de toda la población. En las investigaciones llevadas por empresarios y de la medicina se usa muestreo extensivamente en recoger información sobre poblaciones.
Cabe mencionar que para que el muestreo sea válido y se pueda realizar un estudio adecuado (que consienta no solo hacer estimaciones de la población sino estimar también los márgenes de error correspondientes a dichas estimaciones), debe cumplir ciertos requisitos. Nunca podremos estar enteramente seguros de que el resultado sea una muestra representativa, pero sí podemos actuar de manera que esta condición se alcance con una probabilidad alta.
En el muestreo, si el tamaño de la muestra es más pequeño que el tamaño de la población, se puede extraer dos o más muestras de la misma población. Al conjunto de muestras que se pueden obtener de la población se denomina espacio muestral. La variable que asocia a cada muestra su probabilidad de extracción, sigue la llamada distribución muestral.
Muestreo aleatorio simple
Selección de la muestra * Muestreo Aleatorio Simple (M.A.S.) Tomar una muestra de 30 de la población
## [1] 836 679 129 509 471 299 270 187 307 597
Asignar los elementos de la muestra al marco de datos
## Var1 Var2 Freq
## 836 13.1 190.5 0
## 679 10 182.88 0
## 129 9.6 149.86 0
## 509 9.8 172.72 0
## 471 10.2 170.18 0
## 299 9.8 160.02 0
Ahora usamos tidyverse 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
## Var1 Var2 Freq
## 1 13.1 190.5 0
## 2 10 182.88 0
## 3 9.6 149.86 0
## 4 9.8 172.72 0
## 5 10.2 170.18 0
## 6 9.8 160.02 0
Muestreo ponderado (pesos)
crimemuestramia3 <- crime %>% # eso se llama "pipe"
sample_n(size=n, weight=Freq)
head(crimemuestramia3)
## Var1 Var2 Freq
## 1 11.4 172.72 10
## 2 11.5 172.72 25
## 3 11 154.94 12
## 4 10.5 149.86 1
## 5 12.1 170.18 28
## 6 10.8 162.56 10
Muestreo con ponderación usando la fracción
crimenes <- data.frame(crimtab)
n <- 50
crime <- sample(1:nrow(crimenes), size=n, replace=FALSE )
crime
## [1] 105 729 878 485 677 802 874 382 601 801 852 326 330 554 422 111 404 532 506
## [20] 556 889 343 582 121 40 684 537 375 248 198 378 39 435 810 390 280 672 526
## [39] 642 45 402 22 718 742 193 371 499 104 913 767
Para extraer el subconjuto de la muestra
## Var1 Var2 Freq
## 105 11.4 147.32 0
## 729 10.8 185.42 0
## 878 13.1 193.04 0
## 485 11.6 170.18 38
## 677 9.8 182.88 0
## 802 9.7 190.5 0
Utilizando la fracción
Entonces se va a muestrear una fracción de 0.04 de la población (4%) que representa 6 flores que se muestrearon 100% al azar
## Var1 Var2 Freq
## 1 12.3 170.18 13
## 2 13.3 190.5 0
## 3 12.1 177.8 10
## 4 12 177.8 8
## 5 9.6 193.04 0
## 6 9.6 170.18 0
## [1] 37 3
Muestreo usando la base de datos de iris
Referencia de los datos usados: https://stat.ethz.ch/R-manual/R-devel/library/datasets/html/iris.html
Marco muestral Esta base de datos tiene 150 filas y 5 columnas de 3 especies de flores de lirio llamadas: Setosa, Virginica y Versicolor.
Para conocer las dimensiones de estos datos se usa “dim”
## [1] 150 5
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
Variables categóricas
## [1] "setosa" "versicolor" "virginica"
## Petal.Width Species id
## 1 0.2 setosa 1
## 2 0.2 setosa 2
## 3 0.2 setosa 3
## 4 0.2 setosa 4
## 5 0.2 setosa 5
Muestreo aleatorio simple sin remplazamiento
## [1] 142 125 81 101 82 41
Muestreo aleatorio simple con remplazamiento
## [1] 142 125 81 101 82 41 80 110 131 116 62 56 92 28 125 59 102 23 76
## [20] 23 49 75 149 98 56 72 135 69 57 101
Muestreo estratificado
## # A tibble: 30 x 5
## # Groups: Species [3]
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <dbl> <dbl> <dbl> <dbl> <fct>
## 1 4.6 3.1 1.5 0.2 setosa
## 2 4.4 3 1.3 0.2 setosa
## 3 5.1 3.5 1.4 0.2 setosa
## 4 5.5 4.2 1.4 0.2 setosa
## 5 4.6 3.6 1 0.2 setosa
## 6 4.4 3.2 1.3 0.2 setosa
## 7 4.3 3 1.1 0.1 setosa
## 8 5.1 3.5 1.4 0.3 setosa
## 9 5.2 4.1 1.5 0.1 setosa
## 10 5.4 3.4 1.7 0.2 setosa
## # ... with 20 more rows
TAREA
library(readxl)
library(DT)
datos <- read_excel("~/Probabilidad y Estadistica/demografia_entidad.xls",6)
datatable(datos)
## [1] 33 4
Selección de muestra
Muestreo aleatorio simple (M.A.S) Tomar una muestra de 30 de la población
## [1] 6 10 32 33 15 20 28 26 12 23 30 8 25 24 7 31 27 22 14 2 13 29 17 11 1
## [26] 3 16 18 4 21
Asignar los elementos de la muestra al marco de datos
Muestreo sin remplazo
Ponderación usando el INDICE a.
poblacionterceramuestra <- poblacion %>%
sample_n(size = n, weight = INDICE.a.)
head(poblacionterceramuestra)
## POBLACION.TOTAL HOMBRES MUJERES INDICE.a.
## 1 15174272 7398283 7775989 95.14266
## 2 8873017 4245993 4627024 91.76510
## 3 2238818 1101114 1137704 96.78387
## 4 4793406 2350373 2443033 96.20717
## 5 1084957 541034 543923 99.46886
## 6 1169825 565889 603936 93.70016
Muestreo con ponderación usando la fracción
poblaciones <- data.frame(datos[,2:5])
n <- 30
poblacion <- sample(1:nrow(poblaciones), size=n, replace=FALSE )
poblacion
## [1] 19 26 3 11 1 14 22 6 20 9 5 28 17 31 25 7 27 33 16 12 29 24 2 8 32
## [26] 13 30 15 4 10