The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Determinación del calculo de tamaño de muestra utilizando distintas afijaciones, considerando costes y sin considerar costes

library(samplingR)
#>                            _ _            ______
#>                           | (_)           | ___ \
#>  ___  __ _ _ __ ___  _ __ | |_ _ __   __ _| |_/ /
#> / __|/ _` | '_ ` _ \| '_ \| | | '_ \ / _` |    /
#> \__ \ (_| | | | | | | |_) | | | | | | (_| | |\ \
#> |___/\__,_|_| |_| |_| .__/|_|_|_| |_|\__, \_| \_|
#>                     | |               __/ |
#>                     |_|              |___/         version 1.0.1
#>  Type 'citation("samplingR")' for citing this R package in publications.

Preparamos los datos

La población está compuesta por 2 estratos generados sintéticamente a partir de dos distribuciones normales.

Primer estrato: pensionistas en CyL

N1<-585479
pen<-rnorm(N1, 750, 100)

Segundo estrato: asalariados en CyL

N2<-932992
ass<-rnorm(N2, 1500, 500)
datos<-cbind(c(pen, ass), c(rep("pensionista", N1), rep("asalariado", N2)))
N<-N1+N2

Ejercicio 1. Consideremos una muestra global de n=800 individuos y afijacion uniforme

a) Reparto de la muestra

Nh<-c(N1, N2)
n<-800
strata.allocation(Nh=Nh, n=n, alloc="unif")
#> [1] 400 400

b) Suponiendo una función de coste

C<-12000
Cini<-5000
ch<-c(45, 20)
size<-strata.samplesize.cost(Nh=Nh, C=C, cini=Cini, ch=ch, alloc="unif")
paste("Tamaño de muestra", size)
#> [1] "Tamaño de muestra 215.384615384615"
nh.unif<-strata.allocation(Nh=Nh, n=size, alloc="unif")

paste(c("Estrato 1:", "Estrato 2"), nh.unif)
#> [1] "Estrato 1: 107.692307692308" "Estrato 2 107.692307692308"
paste("Coste:", Cini+sum(ch*nh.unif))
#> [1] "Coste: 12000"

Como los tamaños de muestra deben ser enteros redondeamos al entero inferior.

nh.unif<-floor(nh.unif)
paste(c("Estrato 1:", "Estrato 2"), nh.unif)
#> [1] "Estrato 1: 107" "Estrato 2 107"
paste("Coste:", Cini+sum(ch*nh.unif))
#> [1] "Coste: 11955"

Ejercicio 2. Afijación proporcional

a) Reparto de la muestra

strata.allocation(Nh=Nh, n=n, alloc="prop")
#> [1] 308.4571 491.5429

b) Con función de coste igual a la anterior

size<-strata.samplesize.cost(Nh=Nh, C=C, cini=Cini, ch=ch, alloc="prop")
paste("Tamaño de muestra", size)
#> [1] "Tamaño de muestra 236.173037187271"
nh.unif<-floor(strata.allocation(Nh=Nh, n=size, alloc="prop"))
paste(c("Estrato 1:", "Estrato 2"), nh.unif)
#> [1] "Estrato 1: 91" "Estrato 2 145"
paste("Coste:", Cini+sum(ch*nh.unif))
#> [1] "Coste: 11995"

Ejercicio 3. Afijación de mínima varianza

La afijación de Neyman depende de las cuasivarianzas de los estratos, por lo que se deben estimar.

a) Reparto de la muestra

Opción 1: usar las varianzas reales como estimadores (solución teórica)

vart<-c(var(pen), var(ass))
strata.allocation(Nh=Nh, n=n, var=vart, alloc="min")
#> [1]  89.16338 710.83662

Opción 2: tomar una muestra previa para estimar las cuasivarianzas de los estratos.

sample<-strata.sample(data=datos, n=c(20, 20))
var<-c(var(sample[which(sample[,2]=="asalariado"),1]), var(sample[which(sample[,2]=="pensionista"),1]))
strata.allocation(Nh=Nh, n=n, var=var, alloc="min")
#> [1] 611.3217 188.6783

Opción 3: estimación más conservadora. Suponemos cuasivarianza máxima en todos los estratos = \(\frac{N_h}{N_h-1}p(1-p)\) con p=0.5

var<-c(Nh/(Nh-1)*0.5*(1-0.5))
strata.allocation(Nh=Nh, n=n, var=var, alloc="min")
#> [1] 308.4572 491.5428

Si no se fija la varianza en la función se mostrará un warning y la varianza declarada en la función será la máxima para cada estrato.

strata.allocation(Nh=Nh, n=n, alloc="min")
#> Warning in strata.allocation(Nh = Nh, n = n, alloc = "min"): 
#> Necessary var argument missing, will be set to worst case scenario value for each strata.
#> [1] 308.4572 491.5428

La estimación conservadora coincide con el cálculo de afijación proporcional.

b) Con función de coste igual a la anterior y solución teórica

En la afijación de mínima varianza optimizando con una función de costes es equivalente a utilizar la afijación óptima.

size<-strata.samplesize.cost(Nh=Nh, var=vart, C=C, cini=Cini, ch=ch, alloc="optim")
paste("Tamaño de muestra", size)
#> [1] "Tamaño de muestra 319.208443216545"
nh.optim<-floor(strata.allocation(Nh=Nh, n=size, var=vart, alloc="optim", C=C, cini=Cini, ch=ch))
paste(c("Estrato 1:", "Estrato 2"), nh.optim)
#> [1] "Estrato 1: 24" "Estrato 2 294"
paste("Coste:", Cini+sum(ch*nh.optim))
#> [1] "Coste: 11960"

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.