################## # # Intervaly spolehlivosti pro parametr theta v rovnomernem rozdeleni na [0,theta] # srovnani intervalu zalozenem na momentovem odhadu a max X_i (MLE odhad) set.seed(1234) nopak <- 1000; n <- 25; # Rozsah vyberu alfa <- 0.05; # 1-alfa je pst pokryti theta <- 2; # Skutecna hodnota parametru p ISMM <- matrix(NA, nrow=nopak, ncol=2) ISMLE <- matrix(NA, nrow=nopak, ncol=2) u <- qnorm(1-alfa/2) for(i in 1:nopak){ x <- runif(n, 0,theta); xmean=mean(x) xmax=max(x) ISMM[i,] <- 2*xmean + u*c(-1,1) /sqrt(3*n)*2*xmean ISMLE[i,1] <- xmax ISMLE[i,2]=xmax*alfa^(-1/n) } pokryto1 <- as.logical((ISMM[,1] <= theta)*(ISMM[,2] >= theta)); pokryto2 <- as.logical((ISMLE[,1] <= theta)*(ISMLE[,2] >= theta)); mean(pokryto1); # Odhad skutecneho pokryti mean(ISMM[,2]-ISMM[,1]); # Odhad stredni hodnoty delky intervalu # mean(pokryto2); # Odhad skutecneho pokryti mean(ISMLE[,2]-ISMLE[,1]); # Odhad stredni hodnoty delky intervalu n0 <- 25; # Pocet intervalu, ktere budou na obrazku plot(c(0,0), xlim=range(ISMM[1:n0,], ISMLE[1:n0,]), ylim=2*c(1-0.25,n0+0.75), type="n", ylab="Cislo vyberu", xlab=expression(theta),yaxt="n",main="Rovnomerne rozdeleni"); for(i in 1:n0){ if(pokryto1[i]){ col1 <- 1; }else{ col1<- 2; } if(pokryto2[i]){ col2 <- 1; }else{ col2 <- 2; } lines(ISMM[i,], 2*c(i,i)-0.25, lty=1, col=col1,lwd=1.2); lines(ISMLE[i,], 2*c(i,i)+0.25, lty=2, col=col2,lwd=1.2); points(ISMM[i,1], 2*i-0.25, pch="|", cex=0.5); points(ISMM[i,2], 2*i-0.25, pch="|", cex=0.5); points(ISMLE[i,1], 2*i+0.25, pch="|", cex=0.5); points(ISMLE[i,2], 2*i+0.25, pch="|", cex=0.5); } abline(v=theta, lty="dotted", lwd=2);