################### # # Intervaly spolehlivosti pro parametr lambda v Poissonove rozdeleni set.seed(1234) nopak <- 1000; n <- 25; # Rozsah vyberu alfa <- 0.05; # 1-alfa je pst pokryti lam <- 5; # Skutecna hodnota parametru p IS1 <- matrix(NA, nrow=nopak, ncol=2) IS2 <- matrix(NA, nrow=nopak, ncol=2) IS3 <- matrix(NA, nrow=nopak, ncol=2) u <- qnorm(1-alfa/2) for(i in 1:nopak){ # generovani nahodneho vyberu rozsahu n z geometrickeho rozdeleni x <- rpois(n, lambda=lam); xmean=mean(x) IS1[i,] <- xmean + u*c(-1,1) /sqrt(n)*sqrt(xmean) IS2[i,] <- xmean +u^2/(2*n) +c(-1,1)*sqrt(xmean*u^2/n+u^4/(4*n^2)) IS3[i,] <- xmean +u^2/(4*n)+c(-1,1)*u*sqrt(xmean)/sqrt(n) } ukazka=cbind(IS1[1:5,],IS2[1:5,],IS3[1:5,]) colnames(ukazka)=c("L1","U1","L2","U2","L3","U3") ukazka # Pokryva interval spolehlivosti skutecnost? pokryto1 <- as.logical((IS1[,1] <= lam)*(IS1[,2] >= lam)); pokryto2 <- as.logical((IS2[,1] <= lam)*(IS2[,2] >= lam)); pokryto3 <- as.logical((IS3[,1] <= lam)*(IS3[,2] >= lam)); mean(pokryto1); # Odhad skutecneho pokryti mean(IS1[,2]-IS1[,1]); # Odhad stredni hodnoty delky intervalu # mean(pokryto2); # Odhad skutecneho pokryti mean(IS2[,2]-IS2[,1]); # Odhad stredni hodnoty delky intervalu mean(pokryto3); # Odhad skutecneho pokryti mean(IS3[,2]-IS3[,1]); # Odhad stredni hodnoty delky intervalu n0 <- 25; # Pocet intervalu, ktere budou na obrazku plot(c(0,0), xlim=range(IS1[1:n0,], IS3[1:n0,]), ylim=2*c(1-0.25,n0+0.75), type="n", ylab="Cislo vyberu", xlab=expression(lambda),yaxt="n",main="Poissonovo rozdeleni"); mtext(1:25,2,line=1,at=2.05*(1:25),las=2,cex=0.7) for(i in 1:n0){ if(pokryto1[i]){ col1 <- 1; }else{ col1<- 2; } if(pokryto2[i]){ col2 <- 1; }else{ col2 <- 2; } if(pokryto3[i]){ col3 <- 1; }else{ col3 <- 2; } lines(IS1[i,], 2*c(i,i)-0.25, lty=1, col=col1,lwd=1.2); lines(IS2[i,], 2*c(i,i)+0.25, lty=2, col=col2,lwd=1.2); lines(IS3[i,], 2*c(i,i)+0.75, lty=3, col=col3,lwd=1.2); points(IS1[i,1], 2*i-0.25, pch="|", cex=0.5); points(IS1[i,2], 2*i-0.25, pch="|", cex=0.5); points(IS2[i,1], 2*i+0.25, pch="|", cex=0.5); points(IS2[i,2], 2*i+0.25, pch="|", cex=0.5); points(IS3[i,1], 2*i+0.75, pch="|", cex=0.5); points(IS3[i,2], 2*i+0.75, pch="|", cex=0.5); } abline(v=lam, lty="dotted", lwd=2); n0 <- 1; # Pocet intervalu, ktere budou na obrazku plot(c(0,0), xlim=range(IS1[1:n0,], IS3[1:n0,]), ylim=2*c(1-0.25,n0+0.75), type="n", ylab="Cislo vyberu", xlab=expression(lambda),yaxt="n"); mtext(1:25,2,line=1,at=2.05*(1:25),las=2,cex=0.7) for(i in 1:n0){ if(pokryto1[i]){ col1 <- 1; }else{ col1<- 2; } if(pokryto2[i]){ col2 <- 1; }else{ col2 <- 2; } if(pokryto3[i]){ col3 <- 1; }else{ col3 <- 2; } lines(IS1[i,], 2*c(i,i)-0.25, lty=1, col=col1,lwd=1.2); lines(IS2[i,], 2*c(i,i)+0.25, lty=2, col=col2,lwd=1.2); lines(IS3[i,], 2*c(i,i)+0.75, lty=3, col=col3,lwd=1.2); points(IS1[i,1], 2*i-0.25, pch="|", cex=0.5); points(IS1[i,2], 2*i-0.25, pch="|", cex=0.5); points(IS2[i,1], 2*i+0.25, pch="|", cex=0.5); points(IS2[i,2], 2*i+0.25, pch="|", cex=0.5); points(IS3[i,1], 2*i+0.75, pch="|", cex=0.5); points(IS3[i,2], 2*i+0.75, pch="|", cex=0.5); } abline(v=lam, lty="dotted", lwd=2); # dev.off();