* Nom du fichier: pile_bayes.kumac * * KUMAC pour montrer a posteriori Baysienne d'un parametre inconnu * MP 03/01 * [n] essais de pile ou face zone 2 2 n = 128 * Definitions du vecteur a contenir les v.a. vec/cre rr([n]) r * Definitions du vecteur a contenir l'a posteriori vec/cre q(20) r * Definitions du vecteur a contenir 1. partout vec/cre tt([n]) r [n]*1. * Creer un vecteur rr de [n] pseudo-aleatoires 0 < rr < 1. sigma rr = rndm(rr) * Creer un vecteur de [n] pseudo-aleatoires 0 (face) ou 1 (pile) * et les compter pour theta = 0.25 sigma nf = sumv(rr gt 0.75) sigma np = sumv(tt) - nf * Calculer q apres coup 1 for/file 20 'pile_bayes1.eps' meta 20 -113 sigma pp=np(1) sigma ff=nf(1) sigma theta=array(50,0.01#0.99) sigma q=theta**pp*(1-theta)**ff sigma q=q/maxv(q) sigma q2=theta**2*q sigma q2=q2/maxv(q2) sigma q3=(1-theta)**2*q sigma q3=q3/maxv(q3) set ltyp 1 graph 50 theta q set ltyp 2 graph 50 theta q2 c set ltyp 3 graph 50 theta q3 c atitle 'theta' 'q(theta|x)' text .1 .9 'N=1' .5 0. * Calculer q apres coup 2 sigma pp=np(2) sigma ff=nf(2) sigma theta=array(50,0.01#0.99) sigma q=theta**pp*(1-theta)**ff sigma q=q/maxv(q) sigma q2=theta**2*q sigma q2=q2/maxv(q2) sigma q3=(1-theta)**2*q sigma q3=q3/maxv(q3) set ltyp 1 graph 50 theta q set ltyp 2 graph 50 theta q2 c set ltyp 3 graph 50 theta q3 c atitle 'theta' 'q(theta|x)' text .1 .9 'N=2' .5 0. * Calculer q apres coup 4 sigma pp=np(4) sigma ff=nf(4) sigma theta=array(50,0.01#0.99) sigma q=theta**pp*(1-theta)**ff sigma q=q/maxv(q) sigma q2=theta**2*q sigma q2=q2/maxv(q2) sigma q3=(1-theta)**2*q sigma q3=q3/maxv(q3) set ltyp 1 graph 50 theta q set ltyp 2 graph 50 theta q2 c set ltyp 3 graph 50 theta q3 c atitle 'theta' 'q(theta|x)' text .1 .9 'N=4' .5 0. * Calculer q apres coup 8 sigma pp=np(8) sigma ff=nf(8) sigma theta=array(50,0.01#0.99) sigma q=theta**pp*(1-theta)**ff sigma q=q/maxv(q) sigma q2=theta**2*q sigma q2=q2/maxv(q2) sigma q3=(1-theta)**2*q sigma q3=q3/maxv(q3) set ltyp 1 graph 50 theta q set ltyp 2 graph 50 theta q2 c set ltyp 3 graph 50 theta q3 c atitle 'theta' 'q(theta|x)' text .1 .9 'N=8' .5 0. for/close 20 wait * Calculer q apres coup 16 for/file 20 'pile_bayes2.eps' meta 20 -113 sigma pp=np(16) sigma ff=nf(16) sigma theta=array(50,0.01#0.99) sigma q=theta**pp*(1-theta)**ff sigma q=q/maxv(q) sigma q2=theta**2*q sigma q2=q2/maxv(q2) sigma q3=(1-theta)**2*q sigma q3=q3/maxv(q3) set ltyp 1 graph 50 theta q set ltyp 2 graph 50 theta q2 c set ltyp 3 graph 50 theta q3 c atitle 'theta' 'q(theta|x)' text .1 .9 'N=16' .5 0. * Calculer q apres coup 32 sigma pp=np(32) sigma ff=nf(32) sigma theta=array(50,0.01#0.99) sigma q=theta**pp*(1-theta)**ff sigma q=q/maxv(q) sigma q2=theta**2*q sigma q2=q2/maxv(q2) sigma q3=(1-theta)**2*q sigma q3=q3/maxv(q3) set ltyp 1 graph 50 theta q set ltyp 2 graph 50 theta q2 c set ltyp 3 graph 50 theta q3 c atitle 'theta' 'q(theta|x)' text .1 .9 'N=32' .5 0. * Calculer q apres coup 64 sigma pp=np(64) sigma ff=nf(64) sigma theta=array(50,0.01#0.99) sigma q=theta**pp*(1-theta)**ff sigma q=q/maxv(q) sigma q2=theta**2*q sigma q2=q2/maxv(q2) sigma q3=(1-theta)**2*q sigma q3=q3/maxv(q3) set ltyp 1 graph 50 theta q set ltyp 2 graph 50 theta q2 c set ltyp 3 graph 50 theta q3 c atitle 'theta' 'q(theta|x)' text .1 .9 'N=64' .5 0. * Calculer q apres coup 128 sigma pp=np(128) sigma ff=nf(128) sigma theta=array(50,0.01#0.99) sigma q=theta**pp*(1-theta)**ff sigma q=q/maxv(q) sigma q2=theta**2*q sigma q2=q2/maxv(q2) sigma q3=(1-theta)**2*q sigma q3=q3/maxv(q3) set ltyp 1 graph 50 theta q set ltyp 2 graph 50 theta q2 c set ltyp 3 graph 50 theta q3 c atitle 'theta' 'q(theta|x)' text .1 .9 'N=128' .5 0. for/close 20 return