Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porVictoria Quintero Ramírez Modificado hace 9 años
1
FUNCIÓN DE POTENCIA DE UN CONTRASTE DE HIPÓTESIS (SIMULACIÓN)
2
SIMULACIÓN Y MÉTODOS DE MONTE CARLO: APLICACIONES 5. Aproximación por Monte Carlo de la función de potencia de un test de hipótesis. m.a.s. natural NOTA. En contexto normal, es de tamaño y por lo tanto también de ese nivel. En contexto no normal todo es aproximado (T.C.L.).
3
Cálculo exacto de la función de potencia de en contexto normal: NOTA: En otro escenario ese cálculo sería aproximado.
4
B m.a.s. artificiales Notemos que esa estimación es fuertemente consistente: Estimación por MC de la función de potencia de :
5
#Aproxima por MC la función de potencia del test TCL para contrastar mu=mu0 frente a mu=/mu0 (bilateral) con sigma conocida y la compara con la función de potencia exacta. #CASO NORMAL (mp); en otro escenario también se podrá usar pero no tiene por qué ser mp. ################################################################## mu0<-0 #si cambia mu0 hay que cambiar mus a un entorno de mu0 sigma<-2 nivel<-0.05 #si cambia nivel cambiar abline y sub n<-100 B<-1000 fpotencia1=numeric() mus=seq(-1,1,length=50) plot(mus,1-pnorm(qnorm(1-nivel/2)+((sqrt(n)/sigma)*(mu0-mus))) +pnorm(-qnorm(1-nivel/2)+((sqrt(n)/sigma)*(mu0-mus))),type="l",ylim=c(0.0,1.0),col=2,lwd=2,xlab="mu=mu0 frente mu=/mu0",sub="nivel 0.05",main="Función de potencia, test bilateral media (UMP), X normal (rojo: exacta; negro: MC)") #test UMP (función potencia exacta, si X normal)) abline(h=0.05) for (k in 1:length(mus)) { c=1 for (i in 1:B) { muestra<-rnorm(n,mus[k],sigma) media=mean(muestra) if (abs(media-mu0)>sigma*qnorm(1-nivel/2)/sqrt(n)){ #test UMP (función potencia aproximada MC) c=c+1} } fpotencia1[k]=(1/B)*c } lines(mus,fpotencia1,type="l") points(0.0,0.05,col=2,lwd=3) #cambiar si cambia mu0 o nivel
7
SIMULACIÓN Y MÉTODOS DE MONTE CARLO: APLICACIONES 6. Comparación por Monte Carlo de dos funciones de potencia. m.a.s. natural ¿? NOTA. En contexto normal, los tres son de nivel ; además, y son de tamaño ; y son insesgados y es sesgado. En contexto no normal todo es aproximado (T.C.L.). Una aproximación alternativa será el bootstrap. ¿?
8
B m.a.s. artificiales Notemos que esa estimación es fuertemente consistente: Elegiríamos el test cuya función de potencia estimada fuese máxima bajo (si son comparables), probando con diferentes escenarios.
9
#Aproxima por MC la función de potencia del test UMP (entre insesgados) para contrastar #mu=mu0 frente a la alternativa mu=/mu0 (bilateral), con X normal y sigma de X conocida. #Compara con la función de potencia de otro test bilateral del mismo nivel para ese contraste. #Compara con la función de potencia de otro test bilateral del mismo nivel para ese contraste, SESGADO. #NOTA: el test normal puede usarse en contexto no paramétrico (TCL). ##################################################################### mu0<-0 #si cambia mu0 hay que cambiar mus a un entorno de mu0 sigma<-2 #si cambia sigma ojo al otro test (si sigma=2 doblar umbral rechazo) nivel<-0.1 #si cambia nivel cambiar abline y sub n<-100 #si cambia n ojo al otro test B<-1000 fpotencia1=numeric() fpotencia2=numeric() fpotencia3=numeric() mus=seq(-1,1,length=50) for (k in 1:length(mus)) { c=0 d=0 e=0 for (i in 1:B) { muestra<-rnorm(n,mus[k],sigma) media=mean(muestra) if (abs(media-mu0)>sigma*qnorm(1-nivel/2)/sqrt(n)){ #test UMP (función potencia aproximada MC) c=c+1} if (abs(media-mu0)>sigma*qnorm(1-nivel/6)/sqrt(n)){ #if (abs(media-mu0)>0.50){ d=d+1} #otro test cualquiera (función potencia aproximada MC) if ((media-sigma*qnorm((3*nivel)/4)/sqrt(n)<mu0)| (mu0<media-sigma*qnorm(1-nivel/4)/sqrt(n))){ e=e+1} } fpotencia1[k]=(1/B)*c fpotencia2[k]=(1/B)*d fpotencia3[k]=(1/B)*e } plot(mus,fpotencia1,type="l",ylim=c(0.0,1.0),col=2,xlab="mu=0 frente mu=/0",sub="nivel=0.1",main="Comparación de funciones de potencia por MC (caso normal)") lines(mus,fpotencia2,col=3) lines(mus,fpotencia3,col=4) abline(h=0.1) points(0.0,0.1,lwd=3) legend("top",legend=c("Test bilateral UMP (entre insesgados)","Otro test bilateral mismo nivel (insesgado)","Test bilateral mismo nivel (sesgado)"),lwd=2,col = c(2,3,4))
11
#Aproxima por MC la función de potencia del test TCL (UMP entre insesgados caso normal) para contrastar #mu=mu0 frente a la alternativa mu=/mu0 (bilateral), con X exponencial y sigma de X conocida. #Compara con la función de potencia de otro test bilateral (insesgado y mismo nivel si caso normal) para ese contraste. #Compara con la función de potencia de otro test bilateral (mismo nivel y S ESGADO si caso normal). #NOTA: el test normal puede usarse en contexto no paramétrico (TCL). ####################################################################### mu0<-2 #si cambia mu0 hay que cambiar mus a un entorno de mu0 sigma<-2 #si cambia sigma ojo al otro test (si sigma=2 doblar umbral rechazo) nivel<-0.1 #si cambia nivel cambiar abline y sub n<-100 #si cambia n ojo al otro test B<-1000 fpotencia1=numeric() fpotencia2=numeric() fpotencia3=numeric() mus=seq(1,3,length=50) for (k in 1:length(mus)) { c=0 d=0 e=0 for (i in 1:B) { muestra<-rexp(n,1/mus[k]) media=mean(muestra) if (abs(media-mu0)>sigma*qnorm(1-nivel/2)/sqrt(n)){ #test UMP (función potencia aproximada MC) c=c+1} if (abs(media-mu0)>sigma*qnorm(1-nivel/6)/sqrt(n)){ d=d+1} #otro test cualquiera (función potencia aproximada MC) if ((media-sigma*qnorm((3*nivel)/4)/sqrt(n)<mu0)| (mu0<media-sigma*qnorm(1-nivel/4)/sqrt(n))){ e=e+1} } fpotencia1[k]=(1/B)*c fpotencia2[k]=(1/B)*d fpotencia3[k]=(1/B)*e } plot(mus,fpotencia1,type="l",ylim=c(0.0,1.0),col=2,xlab="mu=2 frente mu=/2",sub="nivel=0.1",main="Comparación de funciones de potencia por MC (caso exponencial)") lines(mus,fpotencia2,col=3) lines(mus,fpotencia3,col=4) abline(h=0.1) points(0.0,0.1,lwd=3) legend("top",legend=c("Test bilateral TCL (UMP insesgados caso normal)","Otro test bilateral (mismo nivel caso normal insesgado)","Test bilateral (mismo nivel caso normal sesgado)"),lwd=2,col = c(2,3,4))
13
#Aproxima por MC la función de potencia del test TCL (UMP entre insesgados caso normal) para contrastar #mu=mu0 frente a la alternativa mu=/mu0 (bilateral), con X chi2 y sigma de X conocida. #Compara con la función de potencia de otro test bilateral (insesgado y mismo nivel si caso normal) para ese contraste. #Compara con la función de potencia de otro test bilateral (mismo nivel y SESGADO si caso normal). #NOTA: el test normal puede usarse en contexto no paramétrico (TCL). ########################################################################## mu0<-2 #si cambia mu0 hay que cambiar mus a un entorno de mu0 sigma<-sqrt(2*mu0) #si cambia sigma ojo al otro test (si sigma=2 doblar umbral rechazo) nivel<-0.1 #si cambia nivel cambiar abline y sub n<-100 #si cambia n ojo al otro test B<-1000 fpotencia1=numeric() fpotencia2=numeric() fpotencia3=numeric() mus=seq(1,3,length=50) for (k in 1:length(mus)) { c=0 d=0 e=0 for (i in 1:B) { muestra<-rchisq(n,mus[k]) media=mean(muestra) if (abs(media-mu0)>sigma*qnorm(1-nivel/2)/sqrt(n)){ #test UMP (función potencia aproximada MC) c=c+1} if (abs(media-mu0)>sigma*qnorm(1-nivel/6)/sqrt(n)){ d=d+1} #otro test cualquiera (función potencia aproximada MC) if ((media-sigma*qnorm((3*nivel)/4)/sqrt(n)<mu0)| (mu0<media-sigma*qnorm(1-nivel/4)/sqrt(n))){ e=e+1} } fpotencia1[k]=(1/B)*c fpotencia2[k]=(1/B)*d fpotencia3[k]=(1/B)*e } plot(mus,fpotencia1,type="l",ylim=c(0.0,1.0),col=2,xlab="mu=2 frente mu=/2",sub="nivel=0.1",main="Comparación de funciones de potencia por MC (caso chicuadrado)") lines(mus,fpotencia2,col=3) lines(mus,fpotencia3,col=4) abline(h=0.1) points(0.0,0.1,lwd=3) legend("top",legend=c("Test bilateral TCL (UMP insesgados caso normal)","Otro test bilateral (mismo nivel caso normal insesgado)","Test bilateral (mismo nivel caso normal sesgado)"),lwd=2,col = c(2,3,4))
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.