#SimulationslŠnge N<-100000 #Gleichverteilung #Mittelwert set.seed(7) xw<-runif(N) rN<-mean(xw) rNl<-0.5-1.96*1/(12*N)**0.5 rNu<-0.5+1.96*1/(12*N)**0.5 #Histogramm hist(xw) cw<-hist(xw,breaks=100) plot(cw) ncells<-length(cw$mids) nn<-length(xw)/ncells lower<-nn-1.96*((nn*(1-1/ncells))**0.5) higher<-nn+1.96*((nn*(1-1/ncells))**0.5) abline(h=lower) abline(h=higher) #Wir haben 100 Zellen #P(keine fŠllt au§erhalb dieser Grenzen) ist 0.95^100 0.00592 #Anzahl au§erhalb 99% Grenzen ist B(100,0.01) verteilt #P(keine au§erhalb nn±g)=0.95 g<-qnorm((0.975)^(1/100),0,(nn*(1-1/ncells))**0.5) #Streudiagramm JavaGD() i<-1:(N/2) yw<-rep(0,N/2) yw[i]<-xw[2*i] zw<-rep(0,N/2) zw[i]<-xw[2*i-1] plot(zw,yw,pch=20) #Normalverteilung N<-1000 mu<-5 sigma<-3 set.seed(4) zz<-rnorm(N,mean=mu, sd=sigma) JavaGD() hist(zz, breaks=N/50) #Ausreisser ag<-3 #Anzahl sum(abs(zz-mu)>ag*sigma) #erwartete Anzahl pag<-2*(1-pnorm(ag)) pag*N #Verteilung der Anzahl pbinom(0,N,pag) pbinom(2,N,pag) #Poisson Approximation ppois(0,1000*pag) ppois(2,1000*pag) #Streudiagramm JavaGD() i<-1:(N/2) yz<-rep(0,N/2) yz[i]<-zz[2*i] vz<-rep(0,N/2) vz[i]<-zz[2*i-1] plot(vz,yz,pch=20) #Normal Varianz sd(zz) sdS<-(N-1)*(sd(zz)/sigma)**2 pchisq(sdS,N-1) plot(function(x)dchisq(x,N-1), N-4*(N**0.5), N+4*(N**0.5), main = "Chiquadratverteilung Dichte",ylab="") abline(h=0) abline(v=sdS,lty=3) #Verteilung des Medians N<-100000 set.seed(71) xn<-rnorm(N) #Stichproben der Grš§e n n<-10 sqn<-n**0.5 medT<-rep(0,N/n) mitT<-rep(0,N/n) for (j in 1:(N/n)) {medT[j]<-median(xn[(1+(j-1)*n):(j*n)]) mitT[j]<-mean(xn[(1+(j-1)*n):(j*n)])} JavaGD() par(mfrow=c(2,1)) hist(medT,xlim=c(-5/sqn,5/sqn), breaks=20) hist(mitT,xlim=c(-5/sqn,5/sqn), breaks=20) JavaGD() plot(mitT,medT) (mmed<-mean(medT)) (mmit<-mean(mitT)) (sdmed<-sd(medT)) (sdmit<-sd(mitT)) JavaGD() par(mfrow=c(2,1)) hist(medT,xlim=c(-5/sqn,5/sqn), breaks=20) abline(v=mmed,lty=3) abline(v=mmed,lty=3,col="red",lwd=3) abline(v=mmed-2*sdmed,lty=3,col="red",lwd=3) abline(v=mmed+2*sdmed,lty=3,col="red",lwd=3) hist(mitT,xlim=c(-5/sqn,5/sqn), breaks=20) abline(v=mmit,lty=3,col="red",lwd=3) abline(v=mmit+2*sdmit,lty=3,col="red",lwd=3) abline(v=mmit-2*sdmit,lty=3,col="red",lwd=3) #Verteilung des Unterschieds zwischen zwei Poisson ZV K<-100000 Lam1<-2.3 Lam2<-1.9 x1<-rpois(K,Lam1) x2<-rpois(K,Lam2) dif<-x1-x2 table(dif) hist(dif,breaks=seq(min(dif)-1,max(dif))) #Lotto Statistiken #Zwei Ziehungen pro Woche L<-104 M<-1000 sp<-array(0,c(L,6)) Lmax<-rep(0,M) Lmin<-rep(0,M) for (j in 1:M){ for (i in 1:L) sp[i,]<-sample(49,6) tL<-table(sp) Lmax[j]<-max(tL) Lmin[j]<-min(tL)} JavaGD() hist(Lmax) JavaGD() hist(Lmin) JavaGD() Lmm<-cbind(Lmin,Lmax) hist(Lmm) abline(v=L*6/49,lty=3,lwd=3,col="red") JavaGD() Ldif<-Lmax-Lmin hist(Ldif) #Was passiert, wenn eine Zahl in 104 Ziehungen nie gezogen wird? #Wahrscheinlichkeit? MŸssen wir diesen Fall abdecken? Wie? #Verteilung von X^Y fŸr X und Y unabhŠngig normal K<-1000 muX<-0 sigmaX<-1 muY<-0 sigmaY<-1 x<-rnorm(K,muX, sigmaX) y<-rnorm(K,muY,sigmaY) zprod<-x**y hist(zprod) boxplot(zprod) #Was passiert bei X <0? summary(zprod) #Pareto Beispiel library(evd) plot(dgpd(600:10000, scale=600,shape=1.6),type="l") M<-10 n<-1000 pp<-array(0,c(M,n)) for (j in 1:M){ pp[j,]<-600+rgpd(n,scale=600,shape=1.6)} #Statistiken der M Stichproben meinzus<-function(x){ list(min=min(x),q25=quantile(x,0.25),mean=mean(x), med=median(x),q75=quantile(x,0.75),max=max(x),sd=sd(x))} zus<-array(0,c(M,7)) zut<-unlist(apply(pp,1,meinzus)) for (i in 1:M) zus[i,]<-zut[((i-1)*7+1):(i*7)] colnames(zus)<-c("min","25%q","mean","med","75%q","max","sd") zus