Solutions des TPs
657
Solutions des TPs du chapitre 10
Simulations
A- ´
Etude de la loi f (x) =
3
2
√
x sur [0, 1]
10.1- f <- function(x) (3/2) * sqrt(x)
integrate(f,lower=0,upper=1)
10.2- M´ ethode de la transformation inverse :
Finv <- function(x) x^(2/3)
u <- runif(1000)
x <- Finv(u)
10.3- mean(x)
var(x)
10.4- Le calcul analytique donne E(X) = 3/5 et Var(X) = 12/175.
10.5- La fonction de r´ epartition vaut F(x) = x
2/3 . Les probabilit´ es th´ eoriques des
diff´ erentes classes valent : 0.3
3/2
= 0.1643168, 0.5
3/2
− 0.3
3/2
= 0.1892366,
0.7
3/2
− 0.5
3/2
= 0.2321086, 0.85
3/2
− 0.7
3/2
= 0.1979993 et 1 − 0.85
3/2
=
0.2163387. On peut les ´ evaluer num´ eriquement ainsi :
classe <- c(0.3,0.5,0.7,0.85)
prob <- function(x) {integrate(f,lower=0,upper=x)$value}
repartition <- c(0,apply(as.matrix(classe),MARGIN=1,FUN=prob),1)
(prob.theorique <- diff(repartition))
Les probabilit´ es empiriques peuvent ˆ etre calcul´ ees en utilisant le code
suivant :
compte <- function(x,vect.y) sum(vect.y
repartition.emp <- c(0,apply(as.matrix(classe),MARGIN=1,
FUN=compte,x),1)
(prob.emp <- diff(repartition.emp))
ou le code suivant :
c(mean(0<=x & x<=0.3),mean(0.3
mean(0.7
B- ´
Etude sur la loi generalized Pareto
10.1- rGP <- function(n,mu,sigma,xi) mu+sigma * ((runif(n))^(-xi)-1)/xi
657
Solutions des TPs du chapitre 10
Simulations
A- ´
Etude de la loi f (x) =
3
2
√
x sur [0, 1]
10.1- f <- function(x) (3/2) * sqrt(x)
integrate(f,lower=0,upper=1)
10.2- M´ ethode de la transformation inverse :
Finv <- function(x) x^(2/3)
u <- runif(1000)
x <- Finv(u)
10.3- mean(x)
var(x)
10.4- Le calcul analytique donne E(X) = 3/5 et Var(X) = 12/175.
10.5- La fonction de r´ epartition vaut F(x) = x
2/3 . Les probabilit´ es th´ eoriques des
diff´ erentes classes valent : 0.3
3/2
= 0.1643168, 0.5
3/2
− 0.3
3/2
= 0.1892366,
0.7
3/2
− 0.5
3/2
= 0.2321086, 0.85
3/2
− 0.7
3/2
= 0.1979993 et 1 − 0.85
3/2
=
0.2163387. On peut les ´ evaluer num´ eriquement ainsi :
classe <- c(0.3,0.5,0.7,0.85)
prob <- function(x) {integrate(f,lower=0,upper=x)$value}
repartition <- c(0,apply(as.matrix(classe),MARGIN=1,FUN=prob),1)
(prob.theorique <- diff(repartition))
Les probabilit´ es empiriques peuvent ˆ etre calcul´ ees en utilisant le code
suivant :
compte <- function(x,vect.y) sum(vect.y
FUN=compte,x),1)
(prob.emp <- diff(repartition.emp))
ou le code suivant :
c(mean(0<=x & x<=0.3),mean(0.3
Etude sur la loi generalized Pareto
10.1- rGP <- function(n,mu,sigma,xi) mu+sigma * ((runif(n))^(-xi)-1)/xi
