# Luennot vko 38/(20.9.) # Pallojen sijoittaminen lokeroihin #H1.1 # 3 palloa 3:een lokeroon, 3^3 kpl lokerot<-c(1,2,3) expand.grid(p1=lokerot,p2=lokerot,p3=lokerot) # 2 palloa 3:een lokeroon, 3^2 kpl lokerot<-c(1,2,3) expand.grid(p1=lokerot,p2=lokerot) # 3 palloa 2:een lokeroon, 2^3 lokerot<-c(1,2) expand.grid(p1=lokerot,p2=lokerot,p3=lokerot) ####### library(combinat) help("library") library(help = combinat) ######## # Luennot vko 38/(21.9.) # Todennäköisyysfunktio ####################### # Silmälukujen summa, 2 noppaa x<-2:12; p<-c(1:6,5:1)/36 plot(x,p,type="h") points(x,p) # plot(x,p,type="h",xlim=c(0,14),ylim=c(0,0.20)) # sum(p) # Y=min{7,X}, SM:n X funktio x<-2:7; p<-c(1:5,21)/36 plot(x,p,type="h") # points(x,p,pch=19);points(x,p,pch=20) # Kertymäfunktio ################### # Kertymäfunktio, lanttia 2 kertaa, kruunujen lkm x<-0:2 # X:n arvojoukko {0,1,2} p<-c(0,1/4,1/2,1/4) # Arvojen tn:t cp<-cumsum(p) # Arvojen kumulatiiviset tn:t Ffun<-stepfun(x, cp, f = 0) plot(Ffun,verticals= FALSE) # Hypergeometrinen jakauma ########################## dhyper(x, a, b, n) # tnf, a valkoisten ja b mustien pallojen lkm; n otoskoko phyper(x, a, b, n) # kf # x on pallojen lkm otoksessa; x<=min(a,n) a<-2; b<-3; n<-3 x<-0:min(a,n) tnf<-dhyper(x, a, b, n) # tnf:n kuvaaja plot(x,tnf,type="h",xlim=c(-1,3)) points(x,tnf) # Kertymäfunktio F<-c(0,phyper(x, a, b, n)) Ffun<-stepfun(x, F, f = 0) plot(Ffun,verticals= FALSE) F<-phyper(x, a, b, n); Fv<-c(0,F) Ffun<-stepfun(x, Fv, f = 0) plot(Ffun,verticals= FALSE) # Binomijakauma ########################### dbinom(x, n, p) pbinom(q, n, p) # n on otoskoko # p=a/(a+b), missä a valkoisten ja b mustien pallojen lkm a<-2; b<-3; n<-2 p<-a/(a+b) x<-0:n # Todennäköisyysfunktio tnf<-dbinom(x, n, p) plot(x,tnf,type="h",xlim=c(-1,3)) points(x,tnf) # Kertymäfunktio F<-c(0,pbinom(x, n, p)) Ffun<-stepfun(x, F, f = 0) plot(Ffun,verticals= FALSE) ########################### Fx<-ecdf(x) plot(Fx,xlim=c(-3,3)) #plot(Fx, verticals= F, do.p = FALSE) #(b) x<-1:5; p<-rep(1/5,5) plot(x,p,type="h") Fx<-ecdf(x) plot(Fx) #Fx; summary(Fx) x<-0:5 m<-13;n<-39;k<-5 dhyper(x, m, n, k) #[1] 0.2215336134 0.4114195678 0.2742797119 0.0815426170 0.0107292917 #[6] 0.0004951981 (choose(m,x)*choose(n,5-x))/choose(52,5) #[1] 0.2215336134 0.4114195678 0.2742797119 0.0815426170 0.0107292917 #[6] 0.0004951981 # (a) #plot(x,dhyper(x, m, n, k),type="h") plot(x,dhyper(x, m, n, k),type="h",xlim=c(-1,6)) points(x,dhyper(x, m, n, k)) # (b) dh<-dhyper(x, m, n, k) F1<-sum(dh[1:2]) # F1= 0.6329532 dh[1]+dh[2] # = 0.6329532 Fx<-cumsum(dh) # H3.7 ##################### # (a) x<-0:5 m<-5;n<-25;k<-10 dh<-dhyper(x, m, n, k) # m # valkoiset pallot, n # mustat pallot; k otoskoko # [1] 0.108795419 0.339985685 0.359984843 0.159993263 0.029472443 0.001768347 # (a) P(X>=1)=1-P(X=0) 1-dhyper(0, m, n, k) # [1] 0.8912046 # P(2<=X<5)= F(4)-F(1) phyper(4, m, n, k)-phyper(1, m, n, k) # [1] 0.5494505 sum(dhyper(2:4, m, n, k)) #[1] 0.5494505 (choose(m,x)*choose(n,k-x))/choose(m+n,k) # (b) Kertymäfunktio F<-phyper(x, m, n, k); Fv<-c(0,F) Ffun<-stepfun(x, Fv, f = 0) plot(Ffun,verticals= FALSE) # Luennot vko 37 # Satunnaiskoe # Lantin heitto ##################### # Lotto; Valitaan 7 numeroa 39:stä sample(1:39,7) # [1] 15 10 39 8 25 38 2 sample(c("R","L"),10,replace=T) # [1] "R" "L" "R" "R" "L" "L" "L" "R" "L" "R" sample(0:1,10,replace=T) n<-10 sample(c(0,1),n,replace=T) sum(sample(c(0,1),n,replace=T))/n sample(c(0,1),n,replace=T,prob=c(0.4,0.6)) sum(sample(c(0,1),n,replace=T,prob=c(0.4,0.6)))/n ################## ################# # Kombinatoriikkaa (s. 12) ################# prod(1:5) # 5! 5-kertoma prod((6-4+1):6) # 6^(4) 6:n 4-kertoma # Esimerkki 2.3 Syntymäpäiväongelma (Luennot s. 12) ################################################### r<-50 # r on ryhmän koko a<-cumprod(365:(365-r+1)); b<-365^(1:r) y<-(1-a/b) # tn, että ainakin kahdella on sama syntymäpäivä r:n funktiona, ks. s. 13 plot(1:r,y) ############ # Yksi arvo ############ # Kiinnitetään ryhmän koko r<-39 a<-prod(365:(365-r+1)); b<-365^r tn<-(1-a/b) # tn, että ainakin kahdella on sama syntymäpäivä, r=30 ############### ############### # Kertoma (s. 25) ######### choose(39,7) # [1] 15380937 choose(6,2) # 6 kahden yli; prod((6-2+1):6)/prod(1:2) # Multinomikerroin (s. 25) ################### choose(6,3)*choose(3,2)*choose(1,1) # 6!/3!2!1! prod(1:6)/(prod(1:3)*prod(1:2)*prod(1:1)) # 6!/3!2!1! ################### # Pallojen sijoittaminen lokeroihin #H1.1 # 3 palloa 3:een lokeroon lokerot<-c(1,2,3) expand.grid(p1=lokerot,p2=lokerot,p3=lokerot) # 2 palloa 3:een lokeroon lokerot<-c(1,2,3) expand.grid(p1=lokerot,p2=lokerot) # 3 palloa 2:een lokeroon lokerot<-c(1,2) expand.grid(p1=lokerot,p2=lokerot,p3=lokerot) ####### library(combinat) help("library") library(help = combinat) ########