NIVEL DE COBERTURA DE UN INTERVALO DE CONFIANZA
NIVEL DE COBERTURA DE UN INTERVALO DE CONFIANZA (SIMULACIÓN)
SIMULACIÓN Y MÉTODOS DE MONTE CARLO: APLICACIONES 3. Aproximación por Monte Carlo del error de recubrimiento de un intervalo de confianza. m. a. s. natural B m. a. s. artificiales
Notemos que por lo que las estimaciones anteriores son fuertemente consistentes. Llamaremos error de recubrimiento a la diferencia entre la cobertura nominal y la real en valor absoluto.
Tabla. Resultado de un estudio de simulación que calcula el error de recubrimiento y la longitud (debajo, entre paréntesis) del intervalo de confianza de nivel aproximado 0, 95 (obtenido a partir de ), estimando por Monte Carlo dicho error y longitud con B=10. 000 en diferentes escenarios controlados. Normal (5, 1) Exponencial (1/5) Chicuadrado (5) 0, 006 (1, 24) 0, 0048 (6, 20) 0, 0030 (3, 92) 0, 002 (0, 55) 0, 0012 (2, 77) 0, 0021 (1, 75) 0, 000 (0, 39) 0, 0009 (1, 96) 0, 0030 (1, 24) Nota. • En el contexto normal este intervalo es exacto (nivel 0, 95). En los restantes contextos son aproximados (T. C. L. ).
#ESTIMACIÓN POR MC DEL ERROR DE COBERTURA DEL INTERVALO DE CONFIANZA TCL #PARA LA MEDIA Y SU LONGITUD MEDIA. CASO NORMAL (LM). ########################## alpha<-0. 05 n<-10 mu<-5 sigma<-1 B=10000 cobertura=numeric(B) longitud. MC=numeric(B) longitud. EXACTA<- 2*sigma*zalpha/sqrt(n) zalpha<-qnorm(1 -(alpha/2)) for (i in 1: B) { muestra<-rnorm(n, mu, sigma) liminf=mean(muestra)-sigma*zalpha/sqrt(n) limsup=mean(muestra)+sigma*zalpha/sqrt(n) longitud. MC[i]=limsup-liminf if ((liminf<=mu)&(mu<=limsup)) cobertura[i]=1 } cobertura=mean(cobertura) errorcobertura=abs(cobertura-(1 -alpha)) longitud. MC=mean(longitud. MC) longitud. EXACTA<-2*sigma*zalpha/sqrt(n) print(list("cobertura"=cobertura, "longitud. MC"=longitud. MC, "errorcobertura"=errorcobertura, "longitud. EXACTA"=longitud. EXA CTA)) #error aquí debe ser próximo a 0 (intervalo exacto)
#ESTIMACIÓN POR MC DEL ERROR DE COBERTURA DEL INTERVALO DE CONFIANZA TCL #PARA LA MEDIA Y SU LONGITUD MEDIA. CASO EXPONENCIAL. ########################## alpha<-0. 05 n<-10 mu<-4 sigma<-mu #sigma=mu (en este caso) B=10000 cobertura=numeric(B) longitud. EXACTA<-2*sigma*zalpha/sqrt(n) zalpha<-qnorm(1 -(alpha/2)) for (i in 1: B) { muestra<-rexp(n, (1/mu)) liminf=mean(muestra)-sigma*zalpha/sqrt(n) limsup=mean(muestra)+sigma*zalpha/sqrt(n) longitud[i]=limsup-liminf if ((liminf<=mu)&(mu<=limsup)) cobertura[i]=1 } cobertura=mean(cobertura) longitud. MC=mean(longitud) errorcobertura=abs(cobertura-(1 -alpha)) print(list("cobertura"=cobertura, "longitud. MC"=longitud. MC, "errorcobertura"=errorcobertura, "longitud. EXACTA"=longitud. EXACT A)) #error aquí de orden (n^-1/2, TCL)
#ESTIMACIÓN POR MC DEL ERROR DE COBERTURA DEL INTERVALO DE CONFIANZA TCL #PARA LA MEDIA Y SU LONGITUD MEDIA. CASO CHICUADRADO. ########################### alpha<-0. 05 n<-10 mu<-4 sigma<-sqrt(2*mu) B=10000 cobertura=numeric(B) longitud. EXACTA<-2*sigma*zalpha/sqrt(n) zalpha<-qnorm(1 -(alpha/2)) for (i in 1: B) { muestra<-rchisq(n, mu) liminf=mean(muestra)-sigma*zalpha/sqrt(n) limsup=mean(muestra)+sigma*zalpha/sqrt(n) longitud=limsup-liminf if ((liminf<=mu)&(mu<=limsup)) cobertura[i]=1 } cobertura=mean(cobertura) longitud. MC=mean(longitud) errorcobertura=abs(cobertura-(1 -alpha)) print(list("cobertura"=cobertura, "longitud. MC"=longitud. MC, "errorcobertura"=errorcobertura, "longitud. EXACTA"=longitud. EXACTA)) #error aquí de orden (n^-1/2, TCL)
SIMULACIÓN Y MÉTODOS DE MONTE CARLO: APLICACIONES 4. Comparación por Monte Carlo de dos intervalos de confianza. m. a. s. natural ¿? B m. a. s. artificiales
Notemos que por lo que las estimaciones anteriores son fuertemente consistentes. Elegiríamos el intervalo con menor error de recubrimiento con diferentes escenarios controlados. , probando A igualdad de cobertura elegiríamos el intervalo de menor longitud.
Tabla. Resultado de un estudio de simulación que compara errores de recubrimiento y longitudes (debajo, entre paréntesis) de dos intervalos de confianza de nivel aproximado 0, 95 (obtenidos a partir de y ), estimando por Monte Carlo dichos errores y longitudes con B=10. 000 en diferentes escenarios controlados. Normal (5, 1) Exponencial (1/5) Chicuadrado (5) 0, 0000 0, 0003 (1, 24) (1, 25) 0, 0048 0, 0070 (6, 20) (6, 26) 0, 0030 0, 0047 (3, 92) (3, 96) 0, 0003 0, 0027 (0, 55) (0, 56) 0, 0012 0, 0041 (2, 77) (2, 80) 0, 0021 0, 0033 (1, 75) (1, 77) 0, 0015 0, 0019 (0, 392) (0, 396) 0, 0009 0, 0022 (1, 96) (1, 98) 0, 0030 0, 0037 (1, 24) (1, 25) Nota. • En el contexto normal estos intervalos son exactos (nivel 0, 95). En los restantes contextos son aproximados (T. C. L. ). Se observa que los intervalos obtenidos a partir de (de longitud mínima en contexto normal) tienen siempre menor longitud que los obtenidos a partir de. • Una aproximación alternativa será el bootstrap.
#Comparación por MC de dos intervalos de confianza para mu, con sigma conocida, #de igual nivel, el LM y otro cambiando extremos. CASO NORMAL. ################################# alpha<-0. 05 n<-100 mu<-5 sigma<-1 B=10000 cobertura 1=numeric(B) cobertura 2=numeric(B) longitud 1=numeric(B) longitud 2=numeric(B) zalpha<-qnorm(1 -(alpha/2)) zalpha 1<-qnorm(1 -(alpha/3)) zalpha 2<-qnorm((2*alpha)/3) for (i in 1: B) { muestra<-rnorm(n, mu, sigma) liminf 1=mean(muestra)-sigma*zalpha/sqrt(n) limsup 1=mean(muestra)+sigma*zalpha/sqrt(n) longitud 1[i]=limsup 1 -liminf 1 liminf 2=mean(muestra)-sigma*zalpha 1/sqrt(n) limsup 2=mean(muestra)-sigma*zalpha 2/sqrt(n) longitud 2[i]=limsup 2 -liminf 2 if ((liminf 1<=mu)&(mu<=limsup 1)) { cobertura 1[i]=1} if ((liminf 2<=mu)&(mu<=limsup 2)) { cobertura 2[i]=1} } cobertura 1=mean(cobertura 1) errorcobertura 1=abs(cobertura 1 -(1 -alpha)) longitud 1=mean(longitud 1) cobertura 2=mean(cobertura 2) errorcobertura 2=abs(cobertura 2 -(1 -alpha)) longitud 2=mean(longitud 2) print(list("cobertura 1"=cobertura 1, "longitud 1"=longitud 1, "errorcobertura 1"=errorcobertura 1, "cobertura 2"=cobertura 2, "longitud 2"=longitud 2, "errorcobertura 2"=errorcobertura 2)) #error aquí debe ser próximo a 0 (intrevalo exacto)
#Comparación por MC de dos intervalos de confianza para mu, con sigma conocida, #de igual nivel, el LM (caso normal) y otro cambiando extremos. CASO EXPONENCIAL. ############################### alpha<-0. 05 n<-100 mu<-5 sigma<-mu B=10000 cobertura 1=numeric(B) cobertura 2=numeric(B) longitud 1=numeric(B) longitud 2=numeric(B) zalpha<-qnorm(1 -(alpha/2)) zalpha 1<-qnorm(1 -(alpha/3)) zalpha 2<-qnorm((2*alpha)/3) for (i in 1: B) { muestra<-rexp(n, 1/mu) liminf 1=mean(muestra)-sigma*zalpha/sqrt(n) limsup 1=mean(muestra)+sigma*zalpha/sqrt(n) longitud 1[i]=limsup 1 -liminf 1 liminf 2=mean(muestra)-sigma*zalpha 1/sqrt(n) limsup 2=mean(muestra)-sigma*zalpha 2/sqrt(n) longitud 2[i]=limsup 2 -liminf 2 if ((liminf 1<=mu)&(mu<=limsup 1)) { cobertura 1[i]=1} if ((liminf 2<=mu)&(mu<=limsup 2)) { cobertura 2[i]=1} } cobertura 1=mean(cobertura 1) errorcobertura 1=abs(cobertura 1 -(1 -alpha)) longitud 1=mean(longitud 1) cobertura 2=mean(cobertura 2) errorcobertura 2=abs(cobertura 2 -(1 -alpha)) longitud 2=mean(longitud 2) print(list("cobertura 1"=cobertura 1, "longitud 1"=longitud 1, "errorcobertura 1"=errorcobertura 1, "cobertura 2"=cobertura 2, "longitud 2"=longitud 2, "errorcobertura 2"=errorcobertura 2))
#Comparación por MC de dos intervalos de confianza para mu, con sigma conocida, #de igual nivel, el LM (caso normal) y otro cambiando extremos. CASO CHI 2. ################################ alpha<-0. 05 n<-100 mu<-5 sigma<-sqrt(2*mu) B=10000 cobertura 1=numeric(B) cobertura 2=numeric(B) longitud 1=numeric(B) longitud 2=numeric(B) zalpha<-qnorm(1 -(alpha/2)) zalpha 1<-qnorm(1 -(alpha/3)) zalpha 2<-qnorm((2*alpha)/3) for (i in 1: B) { muestra<-rchisq(n, mu) liminf 1=mean(muestra)-sigma*zalpha/sqrt(n) limsup 1=mean(muestra)+sigma*zalpha/sqrt(n) longitud 1[i]=limsup 1 -liminf 1 liminf 2=mean(muestra)-sigma*zalpha 1/sqrt(n) limsup 2=mean(muestra)-sigma*zalpha 2/sqrt(n) longitud 2[i]=limsup 2 -liminf 2 if ((liminf 1<=mu)&(mu<=limsup 1)) { cobertura 1[i]=1} if ((liminf 2<=mu)&(mu<=limsup 2)) { cobertura 2[i]=1} } cobertura 1=mean(cobertura 1) errorcobertura 1=abs(cobertura 1 -(1 -alpha)) longitud 1=mean(longitud 1) cobertura 2=mean(cobertura 2) errorcobertura 2=abs(cobertura 2 -(1 -alpha)) longitud 2=mean(longitud 2) print(list("cobertura 1"=cobertura 1, "longitud 1"=longitud 1, "errorcobertura 1"=errorcobertura 1, "cobertura 2"=cobertura 2, "longitud 2"=longitud 2, "errorcobertura 2"=errorcobertura 2))
- Slides: 13