Está en la página 1de 10

CURSO DE MUESTREO. IEA. PRÁCTICA 1.

Programa R. Varios.
Instalación de R. Ejecutar R. (trabajaremos en C:\muestreo)
Importar paquetes externos survey, sampling y xlsReadWrite.
Cargar paquetes
>library(sampling)
>library(xlsReadWrite)
Leer dataframe MU284
>data(MU284)
Son los datos de 284 “municipalidades” de Suecia. Algunas variables son,
 LABEL : Identificador, de 1 a 284.
 P75 : Población en 1975.
 P85 : Población en 1985.
 RMT85 : Recaudación por impuestos municipales en 1985.
 REG : Región geográfica. Hay 8 regiones.
 CL : Indicador de conglomerado o “cluster”. Hay 50 conglomerados.

La función sample(N,n) genera una muestra aleatoria simple de n elementos


seleccionados de 1 a N. Diseño muestral MAS(N,n). El resultado es un vector.
>sample(10,4)
Seleccionar una muestra de 20 registros en MU284.
>MU284[sample(284,20),]

Distribución en el muestreo de la media muestral de P85. n=30.


> vmedias=c()
> for (i in 1:1000) vmedias=c(vmedias,mean(MU284[sample(284,30),]$P85))
> hist(vmedias)
Hacerlo para otros tamaños muestrales, n=50, 80, 100.
NOTA: La variable P85 no presenta normalidad. Probar
>hist(MU284$P85).
NOTA: bajo ciertas condiciones, la distribución de la media se aproxima a la
distribución normal cuando N,n  Infinito (Hájek).
Hacerlo para la razón de medias entre P85 y P75.
Hacerlo para la cuasivarianza y la mediana. Comentar el resultado.
Muestreo de Bernoulli en MU284. Tamaño de muestra esperado 0.05*284=14.2.
>MU284[replicate(284,runif(1)<=0.05),]
NOTA: la instrucción replicate(n,expr) repite n veces expr con actualización.

Programa SPSS. Muestra aleatoria Simple en MU284. n=20.

Grabar MU284 en formato de EXCEL.


>write.xls(MU284,”c:/muestreo/mu284.xls”)
Ejecutar SPSS y abrir mu284.xls
Elaborar un plan de muestreo para seleccionar una muestra aleatoria simple de
20 elementos.
Analizar  Muestras Complejas  Seleccionar una Muestra  Diseñar una
Muestra  Examinar [asignar nombre de plan]  y seguir el asistente.
La muestra se grabará en un nuevo conjunto de datos. Observar las πi .
Observar el código generado en el visor.

PROGRAMA SAS. Muestra aleatoria Simple en MU284. n=20.

proc import out= work.mu284


datafile= "c:\muestreo\mu284.xls"
dbms=excel replace;
sheet="sheet1$";
getnames=yes;

title1 `Muestreo Aleatorio Simple en MU284';


proc surveyselect data=mu284
method=srs n=5 out=muestra_mu284;
proc print data=muestra_mu284;
run;

NOTA: Véase documento sas_muestreo_iea.pdf


CURSO DE MUESTREO. IEA. PRÁCTICA 2.

Programa R. Varios.
Instalación de R. Ejecutar R. (trabajaremos en C:\muestreo)
Importar paquetes externos survey, sampling y xlsReadWrite.
Cargar paquetes
>library(sampling)
>library(xlsReadWrite)
Leer f1500.xls. Lo carga en un dataframe llamado f1500
>f1500=read.xls(“c:/muestreo/f1500.xls”)
Son los datos de 1500 familias. Las variables son,
 NID : Identificador, de 1 a 1500.
 PE : Personas en la familia.
 ING : Ingresos anuales. En euros.
 AL : Gastos en alimentación.
 VIV: Vivienda propia. SÍ:1, NO:0.
 ZONA: Zona de residencia. De 1 a 30.
 NIVEL: Nivel económico. A, B ó C, de menos a mayor ingresos.

Seleccionamos una muestra aleatoria simple de 30 familias. La almacenamos


en el dataframe mufam30. Es una simulación de un muestreo.
>mufam30=f1500[sample(1500,30),]
Determinamos el diseño muestral para posteriores estimaciones. Es un diseño
básico, por ello el primer parámetro es ~.
>disefam30=svydesign(~1,data=mufam30,weights=~rep(1500/30,30),
fpc=~rep(1500,30))
Estimaciones de la media de ING y del total de VIV.
>svymean(~ING,disefam30)
>svytotal(~VIV,disefam30)
Intervalo de confianza para la media de ING.
>meding=svymean(~ING,disefam30)
>meding[[1]]-1.96*SE(meding)[[1]]
>meding[[1]]+1.96*SE(meding)[[1]]
Proporción de familias con vivienda propia. Una forma es con svymean
directamente pues la variable es 0, 1.
>svymean(~VIV,disefam30)
Si la variable no es 0,1, se hace con svymean, pero factorizando previamente.
>nivelf=factor(mufam30$NIVEL,levels=c(„A‟,‟B‟,‟C‟),
labels=c(“Bajo”,”Medio”,”Alto”))
>vivf=factor(mufam30$VIV,levels=c(1,0),labels=c(“ VPRO_SI”,” VPRO_NO”))
>svymean(~vivf+nivelf,disefam30)

Intervalos de confianza para cuantiles, y error típico. Variable ING.


>svyquantile(~ING,disefam30,c(0.25,0.5,0.75),ci=TRUE)
>SE(svyquantile(~ING,disefam30,c(0.25,0.5,0.75),ci=TRUE))

Estimación en subpoblaciones. Con svyby.


Estimación de la media de ingresos para cada nivel económico.
>svyby(~ING,~NIVEL,disefam30,svymean)
Lo mismo cruzando nivel con vivienda.
svyby(~ING,~NIVEL+VIV,disefam30,svymean)
Mediana de ingresos por nivel económico. Con intervalos de confianza.
>svyby(~ING,~NIVEL,disefam30,svyquantile,quantiles=0.5,ci=T,vartype="ci")
Lo mismo pero con error típico.
>svyby(~ING,~NIVEL,disefam30,svyquantile,quantiles=0.5,ci=T,vartype=”se”)

Problemática con la variable ZONA. Tamaños de muestra pequeños, e incluso


nulos. Estimaciones inexistente, o con gran error. Son áreas pequeñas.
>svyby(~ING,~ZONA,disefam30,svymean)

Histograma y boxplot de ING. NOTA: ¡SON GRÁFICOS PONDERADOS!.


>svyhist(~ING,disefam30,freq=TRUE)
>svyboxplot(ING~1,disefam30)
Boxplot de ingresos por zonas.
>svyboxplot(ING~NIVEL,disefam30)
CURSO DE MUESTREO. IEA. PRÁCTICA 3.

Programa R.

Cargar f1500.xls
Supongamos que la variable ING está relacionada con AL, por una relación
aproximada de proporcionalidad directa. Se supone que ING es conocida y AL
de estudio (esta sería una situación real).

Hallar el tamaño muestral necesario para estimar la media de AL con precisión


relativa del 5% (delta=0‟05) con una confianza del 95%.

Hacer lo mismo para estimar la proporción de familias con vivienda propia, con
una precisión de 0‟05.

(a) Sin ningún tipo de información.


(b) Si se sabe que dicha proporción es superior a 0‟6.

Realizar entonces el muestreo para las tres situaciones, generando tres


muestras.

PROGRAMA SPSS

Para cada una de las muestras anteriores, estimar los parámetros


mencionados y comprobar si se han cumplido los requerimientos de precisión.

Hacer también las estimaciones para los distintos niveles económicos


comprobando que la precisión disminuye dramáticamente.
CURSO DE MUESTREO. IEA. PRÁCTICA 4.

Programa SPSS.
Abrimos la población mu284.xls.
(a) Diseñamos un plan de muestreo para seleccionar una muestra aleatoria
simple de n=10 “municipalidades”. Con dicha muestra estimamos media
y total de P75 y P85. Obtener el efecto del diseño y su raíz cuadrada.

(b) Diseñamos un plan de muestreo para seleccionar una muestra de n=10


“municipalidades” empleando el método de Sampford, con n=10.
IMPORTANTE: es necesario indicar LABEL como variable de conglo-
merado. Emplear P75 como tamaño. Con dicha muestra estimar media y
total de P75 y P85. Obtener el efecto del diseño y su raíz cuadrada e
interpretar el resultado. Nótese que para la media, el método PIPS no
parece mejorar mucho los resultados.

Estimar la media de P85 de forma alternativa creando (en la muestra)


una columna con P85/N y estimando su total y observar ahora la mejora
obtenida.

Seguidamente exportar la muestra obtenida por el método de Sampford a R vía


formato Excel. Se recomienda cambiar el nombre de los pesos a PESOS.

R
Supongamos que el dataframe que contiene la muestra es musamp.
Cargamos survey.
>library(survey)
Definimos el diseño.
pvdis = svydesign(id = ~1,weights = ~PESOS, data = musamp)
Estimamos media y total de P85 con efecto del diseño.
>svymean(~P85,pvdis,deff=T)
>svytotal(~P85,pvdis,deff=T)
CURSO DE MUESTREO. IEA. PRÁCTICA 5.

Programa R.

#############Estimador de Razón. Varios.

>library(sampling)
>library(survey)
>data(MU284)
>muestra=MU284[sample(284,15),]
>dise=svydesign(~1,data=muestra,weights=~rep(284/15),fpc=~rep(284))

Estimador de la razón de medias entre P85 y P75


>svyratio(~P85,~P75,dise)
Estimador de razón del total de P85. Estima el total del numerador.
>raz=svyratio(~P85,~P75,dise)
>predict(r,total=sum(MU284$P75))
Estimador de razón de la media de P85
>predict(r,total=mean(MU284$P75))
Estimador de regresión del total de RMT85. V. auxiliares P75 y P85.
Modelo lineal RMT85=b0+b1*P75+b2*P85
>svyglm(RMT85~P75+P85,dise)
Totales de las variables auxiliares. Se almacenan en un
dataframe. Necesario Para la estimación.
>datos=dataframe(P75=sum(MU284$P75),P85=sum(MU284$P85))
Estimación de regresión del total de RMT85.
>predict(reg,total=284,newdata=datos)
Comparación con estimación sin información auxiliar.
>svytotal(~RMT85,dise)
########### Estimaciones en f1500. Muestreo aleatorio estratificado
########### con afijación proporcional. Estratos = NIVEL

>attach(f1500)
>Na=length(NIVEL[NIVEL=="A"])
>Nb=length(NIVEL[NIVEL==”B”])
>Nc=length(NIVEL[NIVEL==”C”])

Afijación proporcional
>na=trunc(30*Na/1500)
>nb=trunc(30*Nb/1500)
>nc=trunc(30*Nc/1500)

Muestreo
>ma=f1500[NIVEL=="A",][sample(length(f1500[NIVEL=="A",][[1]]),na),]
>mb=f1500[NIVEL=="B",][sample(length(f1500[NIVEL=="B",][[1]]),nb),]
>mc=f1500[NIVEL=="C",][sample(length(f1500[NIVEL=="C",][[1]]),nc),]
>mest=rbind(ma,mb,mc)

Estimación
>disest=svydesign(~1,data=mest,weigths=~c(rep(Na/na,na),rep(Nb/nb,nb),
rep(Nc/nc,nc)),fpc=~c(rep(Na,na),rep(Nb,nb),rep(Nc,nc)))
>svymean(~AL+AD+VIV,disest)
>svyby(~AL+AD+VIV,~NIVEL,disest,svymean)

Comparación con muestreo no estratificado.


>muestra=f1500[sample(1500,30),]
>dise=svydesign(~1,data=muestra,weights=~rep(50,30),fpc=~rep(1500,30))
>svymean(~AL+AD+VIV,dise)
>svyby(~AL+AD+VIV,~NIVEL,dise,svymean)
PRÁCTICA 6. IEA. CURSO DE MUESTREO. SEPTIEMBRE 2011.

SPSS
Repetir la última actividad de la práctica 5 empleando SPSS.

R
Seleccionar una muestra aleatoria simple de tamaño 40 en f1500
>mu40=f1500[sample(1500,40),]
Definir el diseño
>dise=svydesign(~1,data=mu,weights=~rep(1500/40,40),fpc=~rep(1500,40))
Estimar la media de AL y la proporción de VIV
>svymean(~AL+VIV,dise)
Post estratificar el diseño (la muestra)
> Na=517
> Nb=633
> Nc=350
> estra=data.frame(NIVEL=c("A","B","C"),tam=c(Na,Nb,Nc))
> postdesi=postStratify(desi,strata=~NIVEL,population=estra)
Repetir las estimaciones
> svymean(~AL+VIV,postdesi)

SPSS
Una población se compone de 2000 familias, distribuidas en 3 zonas. Cada
zona está dividida en secciones censales, 10, 15 y 20 respectivamente.
Mediante muestreo aleatorio simple se han seleccionado en cada zona
2, 3 y 3 secciones censales . Dentro de cada sección seleccionada se ha
obtenido mediante muestreo aleatorio simple, una muestra de familias.
Para ellas se ha observado los ingresos familiares en EUROS y si la
vivienda en la que habitan es en propiedad (1), o en alquiler (2). Los datos
obtenidos se encuentran en el fichero famestcon.xls.
(a) Estimar los ingresos medios por familia y el porcentaje de familias
con vivienda propia o en alquiler. Realizar las estimaciones para la población
completa y por zonas. En todos los casos, calcular intervalos de confianza al
95%.
(b) Estimar los ingresos medios para las subpoblaciones FAMILIAS CON
VIVIENDA PROPIA y FAMILIAS CON VIVIENDA EN ALQUILER.

Las 8 secciones muestreadas tienen los tamaños que se indican a


continuación,
---------------------------------------------------
ZONA SECCIÓN TAMAÑO
---------------------------------------------------
1 2 30
1 5 40
---------------------------------------------------
2 3 20
2 10 20
2 12 40
---------------------------------------------------
3 14 40
3 18 50
3 20 30
----------------------------------------------------

Repetir la estimación con R.

>desi=svydesign(~seccion+familia,data=famestcon,strata=~distrito,
weights=~pesos,fpc=~nsec+tamsec)

SPSS

Dada la población SIMA, obtener una muestra de 10 poblaciones en cada provincia


empleando el método PIPS de Sampford siendo la población (2010) la variable
tamaño.
Estimar el total de hombres y mujeres en paro en 2009, y el total de IRPF de rentas del
trabajo en 2008.

También podría gustarte