TP Statistiques Bayésiennes

Exercice 2 Un premier programme.

La commande suivante calcule la valeur pour laquelle la fonction de répartition atteint une probabilité de 97.5%

qnorm(0.975)
## [1] 1.959964

La commande suivante calcule la densité de probabilité à x=0, pour une distribuion normale de moyenne 0 et d’écart-type 1

dnorm(0)
## [1] 0.3989423

La commande suivante calcule la densité de probabilité de l’intégrale de - l’infini à x=1.96 (fonction de répartition), pour une distribuion normale de moyenne 0 et d’écart-type 1

pnorm(1.96)
## [1] 0.9750021

La commande suivante génère un vecteur de 20 variables déstriubées selon une loi normale de moyenne 0 et d’écart-type 1

rnorm(20)
##  [1] -0.54785064  0.02385543 -1.13392056 -2.41803205  0.47452130  1.02601528
##  [7] -0.64888443  0.90627683 -1.75840599  0.64305311 -0.64883468 -1.89270830
## [13]  0.21881423 -1.63194913  1.28443093 -0.50038732 -0.01631015  1.84734086
## [19]  0.56680832  0.36729889

La commande suivante génère un vecteur de 10 variables déstriubées selon une loi normale de moyenne 5 et d’écart-type 0.5

rnorm(10,mean=5,sd=0.5)
##  [1] 5.569756 4.753107 4.306936 5.311184 4.876719 5.169853 5.341588 5.556096
##  [9] 5.344163 5.016973

Le script suivant génère une séquence de variable allant de -3 à 3 avec un pas de 0.1 (61 variables) On calcule ensuite la fonction de densité pour chaque point selon une loi normale de moyenne 0 et d’éart-type 0 Puis on trace le graphe de cette fonction de densité

x=seq(-3,3,0.1) 
pdf=dnorm(x) 
plot(x,pdf,type="l")

La commande suivant génère un vecteur de 3 valeurs suivant une loi uniforme comprise entre 0 et 1

runif(3)
## [1] 0.8505927 0.6305225 0.2215761

La commande suivant génère un vecteur de 5 valeurs suivant une loi de Student avec 10 degrés de liberté

rt(5,10)
## [1]  0.01579451 -0.59362754 -1.61949330  0.23138365  0.70932900

Exercice 3

Tracer la densité et la fonction de répartition pour la loi gamma (r, lambda) pour les valeurs suivantes de r avec lambda = 1 : 1/2, 1, 3/2, 2, 3

r = c(0.5, 1, 3/2, 2, 3)

n = seq(0,10,0.1)

for (i in r){
  pdf = pgamma(n,shape = i, scale = 1)
  plot(pdf, main ="Fonction de réparittion selon une loi gamma", sub = paste("with lambda = 1, r =", i))
  
  pdf = dgamma(n,shape = i, scale = 1)
  plot(pdf, main = "Densité de probabilité selon une loi gamma", sub = paste("with lambda = 1, r =", i))
}

pdf = dgamma(n,shape = 0.5, scale = 1)
plot(pdf, type="l")

for (i in r){
  lines(dgamma(n,shape = i, scale = 1), col=i)}
legend(80, 1, legend=to_vec(for (i in r)i),col = to_vec(for (i in r)i), lty=1, cex=0.8)

title("Fonction de densité de probabilité selon une loi gamma")

Tracer la densité et la fonction de répartition de la loi bêta type I pour les valeurs suivantes pour n et p :

(0.5,0.5) ; (1,1) ; (1,2) ; (2,1) : (3,3) ; (9,2)

r = 0.5
p = 0.5
n = seq(0,1,0.01)

pdf = pbeta(n,shape1 = r, shape2= p)
plot(pdf, main ="Fonction de réparittion selon une loi beta", sub = paste("with r =", r,"p =", p))

pdf = dbeta(n,shape1 = r, shape2= p)
plot(pdf, main = "Densité de probabilité selon une loi beta",  sub = paste("with r =", r,"p =", p))

pdf = pbeta(n,shape1 = r, shape2= p)
plot(pdf)
lines(dbeta(n,shape1 = r, shape2= p))
title("Fonction de réparition et densité de probabilité selon une loi beta", sub = paste("with r =", r,"p =", p))

r = 1
p = 1
pdf = pbeta(n,shape1 = r, shape2= p)
plot(pdf, main ="Fonction de réparittion selon une loi beta", sub = paste("with r =", r,"p =", p))

pdf = dbeta(n,shape1 = r, shape2= p)
plot(pdf, main = "Densité de probabilité selon une loi beta",  sub = paste("with r =", r,"p =", p))

pdf = pbeta(n,shape1 = r, shape2= p)
plot(pdf)
lines(dbeta(n,shape1 = r, shape2= p))
title("Fonction de réparition et densité de probabilité selon une loi beta", sub = paste("with r =", r,"p =", p))

r = 1
p = 2
pdf = pbeta(n,shape1 = r, shape2= p)
plot(pdf, main ="Fonction de réparittion selon une loi beta", sub = paste("with r =", r,"p =", p))

pdf = dbeta(n,shape1 = r, shape2= p)
plot(pdf, main = "Densité de probabilité selon une loi beta",  sub = paste("with r =", r,"p =", p))

pdf = pbeta(n,shape1 = r, shape2= p)
plot(pdf)
lines(dbeta(n,shape1 = r, shape2= p))
title("Fonction de réparition et densité de probabilité selon une loi beta", sub = paste("with r =", r,"p =", p))

r = 2
p = 1
pdf = pbeta(n,shape1 = r, shape2= p)
plot(pdf, main ="Fonction de réparittion selon une loi beta", sub = paste("with r =", r,"p =", p))

pdf = dbeta(n,shape1 = r, shape2= p)
plot(pdf, main = "Densité de probabilité selon une loi beta",  sub = paste("with r =", r,"p =", p))

pdf = pbeta(n,shape1 = r, shape2= p)
plot(pdf)
lines(dbeta(n,shape1 = r, shape2= p))
title("Fonction de réparition et densité de probabilité selon une loi beta", sub = paste("with r =", r,"p =", p))

r = 3
p = 3
pdf = pbeta(n,shape1 = r, shape2= p)
plot(pdf, main ="Fonction de réparittion selon une loi beta", sub = paste("with r =", r,"p =", p))

pdf = dbeta(n,shape1 = r, shape2= p)
plot(pdf, main = "Densité de probabilité selon une loi beta",  sub = paste("with r =", r,"p =", p))

pdf = pbeta(n,shape1 = r, shape2= p)
plot(pdf)
lines(dbeta(n,shape1 = r, shape2= p))
title("Fonction de réparition et densité de probabilité selon une loi beta", sub = paste("with r =", r,"p =", p))

r = 9
p = 2
pdf = pbeta(n,shape1 = r, shape2= p)
plot(pdf, main ="Fonction de réparittion selon une loi beta", sub = paste("with r =", r,"p =", p))

pdf = dbeta(n,shape1 = r, shape2= p)
plot(pdf, main = "Densité de probabilité selon une loi beta",  sub = paste("with r =", r,"p =", p))

pdf = pbeta(n,shape1 = r, shape2= p)
plot(pdf)
lines(dbeta(n,shape1 = r, shape2= p))
title("Fonction de réparition et densité de probabilité selon une loi beta", sub = paste("with r =", r,"p =", p))

Tracer la densité et la fonction de répartition de la loi du Khi-deux pour les valeurs suivantes de p :

1,2,3,4,5,6,7,8,9,10,15,20,25,30,40,50

p = c(1,2,3,4,5,6,7,8,9,10,15,20,25,30,40,50)

n = seq(0,100,1)
for (i in p){
  pdf = pchisq(n, df = i)
  plot(pdf, main ="Fonction de réparittion selon une loi du chi-deux", sub = paste("with p =", i))
  
  pdf = dchisq(n, df = i)
  plot(pdf, main = "Densité de probabilité selon une loi du chi-deux", sub = paste("with p =", i))
}

pdf = dchisq(n,df=1)
plot(pdf, type="l")

for (i in p){
  lines(dchisq(n,df = i), col=i)}
legend(x="topright",legend=to_vec(for (i in p)i),col = to_vec(for (i in p)i), lty=1, cex=0.8)

title("Fonction de densité de probabilité selon une loi du chi-deux")

### Tracer la densité et la fonction de répartition de la loi de Fischer-Snedecor pour les valeurs suivantes de n et p : 1,2, 2,2, 3,2, 4,2, 5,2

x1 = c(1,2)
x2= c(2,2)
x3 = c(3,2)
x4 = c(4,2)
x5 = c(5,2)


pdf = pf(n,df1= x1[1], df2= x1[2],)
plot(pdf, main ="Fonction de réparittion selon une loi de Fischer Snedecor", sub = paste("with r =", x1[1],"p =", x1[2]), type="l")

pdf = df(n,df1= x1[1], df2= x1[2])
plot(pdf, main = "Densité de probabilité selon une loi beta",  sub = paste("with r =", x1[1],"p =", x1[2]), type="l")

pdf = pf(n,df1= x2[1], df2= x2[2])
plot(pdf, main ="Fonction de réparittion selon une loi de Fischer Snedecor", sub = paste("with r =", x2[1],"p =", x2[2]), type="l")

pdf = df(n,df1= x2[1], df2= x2[2])
plot(pdf, main = "Densité de probabilité selon une loi beta",  sub = paste("with r =", x2[1],"p =", x2[2]), type="l")

pdf = pf(n,df1= x3[1], df2= x3[2])
plot(pdf, main ="Fonction de réparittion selon une loi de Fischer Snedecor", sub = paste("with r =", x3[1],"p =", x3[2]), type="l")

pdf = df(n,df1= x3[1], df2= x3[2])
plot(pdf, main = "Densité de probabilité selon une loi beta",  sub = paste("with r =", x3[1],"p =", x3[2]), type="l")

pdf = pf(n,df1= x4[1], df2= x4[2])
plot(pdf, main ="Fonction de réparittion selon une loi de Fischer Snedecor", sub = paste("with r =", x4[1],"p =", x4[2]), type="l")

pdf = df(n,df1= x4[1], df2= x4[2])
plot(pdf, main = "Densité de probabilité selon une loi beta",  sub = paste("with r =", x4[1],"p =", x4[2]), type="l")

pdf = pf(n,df1= x5[1], df2= x5[2])
plot(pdf, main ="Fonction de réparittion selon une loi de Fischer Snedecor", sub = paste("with r =", x5[1],"p =", x5[2]), type="l")

pdf = df(n,df1= x5[1], df2= x5[2])
plot(pdf, main = "Densité de probabilité selon une loi beta",  sub = paste("with r =", x5[1],"p =", x5[2]), type="l")

Tracer la densité et la fonction de répartition de la loi de Student pour les valeurs de n suivantes : 1,2,5,10,50

x = c(1,2,5,10,50)
n = seq(-10,10,0.1)
for (i in x){
  student = pt(n, df = i)
  plot(student, main ="Fonction de réparittion selon une loi du chi-deux", sub = paste("with p =", i))
  
  student = dt(n, df = i)
  plot(student, main = "Densité de probabilité selon une loi du chi-deux", sub = paste("with p =", i))
}

student = dt(n,df=1)
plot(student, type="l")

for (i in x){
  lines(dt(n,df = i), col=i)}
legend(x="topright",legend=to_vec(for (i in x)i),col = to_vec(for (i in x)i), lty=1, cex=0.8)

title("Fonction de densité de probabilité selon une loi du chi-deux")

## Exercice 4 : Approximation d’une loi de Poisson par une loi normale Simulation d’une loi de Poisson de paramètre lambda : 10,20,50,100

range = c(10,20,50,100)
n = seq(-10,10,0.1)
for (i in range){
  student = rpois(n, lambda = i)
  hist(student, main ="Fonction de réparittion selon une loi du chi-deux", sub = paste("with lambda =", i))}

Exercice 5 : Théorème de la limite centrée

Cas échantillon binomial et exponentiel

n<-1000
X<-rexp(n)
x_binom = rbinom(1000, 2, 0.5)
y_binom = cumsum(x_binom)
Y<-cumsum(X)
N<-seq(1,n, by=1)
plot(N, Y/N)
lines(y_binom, y_binom/N, col=5)
abline(h=1,col="red")

La ligne bleue correspond à une variable aléatoire suivant une loi binomiale, les points à un variables aléatoire suivant une loi exponentielle