TP2_continue.utf8.md

Exercice 1: Distribution des valeurs

Pour simuler \(n\) valeurs aléatoirement suivant la loi normale de moyenne \(m\) et d’écart-type \(s\) on utilise sous R la commande

# Echantillons de taille n=2000 individus avec differents parametres
n <- 20
nd1 <- rnorm(n,0,1)
nd2 <- rnorm(n,1,1)
nd3 <- rnorm(n,2,1)
nd4 <- rnorm(n,0,2)
nd5 <- rnorm(n,0,4)


nd_en_col <- cbind(nd1, nd2, nd3, nd4, nd5) 
res <- rbind(colSums(nd_en_col< -2) / n,              
colSums(nd_en_col< 0) / n, 
colSums(nd_en_col == 0) / n, 
colSums(nd_en_col > 2) / n)

# Pour l'affichage de la table:
colnames(res) <- c('N(0, 1)', 'N(1,1)', 'N(2, 1)', 'N(0, 2^2)', 'N(0, 4^2)')
rownames(res) <- c('% de valuers < -2', '% de valuers < 0', '% de valuers = 0','% de valuers > 2')
kable(res)
N(0, 1) N(1,1) N(2, 1) N(0, 2^2) N(0, 4^2)
% de valuers < -2 0.00 0.0 0.00 0.10 0.05
% de valuers < 0 0.40 0.2 0.05 0.55 0.40
% de valuers = 0 0.00 0.0 0.00 0.00 0.00
% de valuers > 2 0.05 0.2 0.65 0.20 0.55

Noter que les résultats seront différents d’une experience à une autre; Il s’agit ici d’une approximation des probabiliés.

Question 1 : avec les mêmes valeurs des moyennes et des écart-types, on simule maintenant des échantillons de taille \(n=2000\) individus.

# Echantillons de taille n=2000 individus avec differents parametres
n <- 2000
nd1 <- rnorm(n,0,1)
nd2 <- rnorm(n,1,1)
nd3 <- rnorm(n,2,1)
nd4 <- rnorm(n,0,2)
nd5 <- rnorm(n,0,4)


nd_en_col <- cbind(nd1, nd2, nd3, nd4, nd5) 
res <- rbind(colSums(nd_en_col< -2) / n,              
colSums(nd_en_col< 0) / n, 
colSums(nd_en_col == 0) / n, 
colSums(nd_en_col > 2) / n)

# Pour l'affichage de la table:
colnames(res) <- c('N(0, 1)', 'N(1,1)', 'N(2, 1)', 'N(0, 2^2)', 'N(0, 4^2)')
rownames(res) <- c('% de valuers < -2', '% de valuers < 0', '% de valuers = 0','% de valuers > 2')
kable(res)
N(0, 1) N(1,1) N(2, 1) N(0, 2^2) N(0, 4^2)
% de valuers < -2 0.0195 0.0015 0.0000 0.1635 0.308
% de valuers < 0 0.4815 0.1620 0.0230 0.4995 0.485
% de valuers = 0 0.0000 0.0000 0.0000 0.0000 0.000
% de valuers > 2 0.0255 0.1595 0.5055 0.1565 0.323

Question 2 : On considère uniquement le premier échantillon nd1. Que trace la fonction plot dans le script ? (axe des \(x=\) ? et axe des \(y=\) ?)

# Tracer les valeurs
plot(nd1, pch=19, cex=0.5, xlab="", ylab="")

Axe des abscisses : l’indice de l’echantillon.

Axe des ordonnees : la valeur de l’echantillon.

Pour dessiner la répartition des valeurs on trace un histogramme.

Question 3 : Quelle est la différence entre les trois commandes ci-dessous?

hist(nd1)  # occurence, nombre de classes via la regle de Sturges.
hist(nd1,freq=T, breaks=40) # nombre de classes = 40
hist(nd1,freq=T, breaks=50) # nombre de classes = 50

Question 4 : on veut comparer les histogrammes des \(5\) échantillons. Lancer les commandes de Introduction/Densité qui permettent d’afficher les histogrammes et de superposer en rouge la densité théorique associée (pour mieux voir les graphiques cliquer sur zoom dans le menu Plots).

Comparer les graphiques des échantillons nd1, nd2 et nd3 : qu’est-ce qui change ?

l’axe de symetrie x=\(\mu\) change.

La largeur de la courbe change proportionnelement avec \(\sigma\) (approximativement \([\mu-3\sigma, \mu+3\sigma]\).

plotdensity <- function(sample, mu, sigma, infx, supx, title){
  hist(sample, freq=FALSE, breaks=40,
       xlim=c(infx, supx), xlab="",
       main=title, cex.main=2)
  # la courbe theorique de la densite
  x <- seq(infx, supx, 0.1)
  lines(x, dnorm(x, mu, sigma), col="red") 
}


par(mfrow=c(1,3))
plotdensity(nd1, 0, 1, -5, 5, 'nd1')
plotdensity(nd2, 1, 1, -5, 5, 'nd2')
plotdensity(nd3, 2, 1, -5, 5, 'nd3')

Et puis comparer les graphiques des échantillons nd1, nd4 et nd5 : qu’est-ce qui change ?

Question 5 : on veut maintenant comparer les fonctions de répartition des \(5\) échantillons. Lancer les commandes de Introduction/Repartition pour les 5 échantillons.

Comparer les graphiques des échantillons nd1, nd2 et nd3 : qu’est-ce qui change ?

Similairement aux courbes de densité, les courbes de la fonction de répartition sont translatées de \(\mu\).

Et puis comparer les graphiques des échantillons nd1, nd4 et nd5 : qu’est-ce qui change ?

Plus \(\sigma\) est petite, plus les gradients (courbures) sont forts.

Question 6 : on veut montrer le lien entre la densité et la fonction de répartition.

Donner ci-dessous la densité de la loi normale de moyenne \(0\) et de variance \(1\) :

\(f(x) = \frac{1}{\sqrt{2\pi}} \exp{-\frac{x^2}{2}}\)

Quel est le lien entre la densité et la fonction de répartition ?

\(f(x) = F'(x)\)

\(F(t) = \int_{-\infty}^t f(x) dx\)

La valeur au point \(t\) de la fonction de répartition (théorique) \(F(t)\) d’une loi gaussienne de moyenne \(m\) et d’écart-type \(s\) est donnée par la commande pnorm(t,m,s) de R.

Lancer le script suivant et décrire ce qu’il permet d’observer.

# une fonction pour colorier l'aire sous la courbe d'une fonction <fun> entre <xmin> et <xmax>:
shade_under_curve <- function(fun, xmin, xmax, length=100){
  xvals <- seq(xmin, xmax, length=length)
  dvals <- match.fun(fun)(xvals)
  polygon(c(xvals,rev(xvals)),c(rep(0,length),rev(dvals)),col="gray")
}

curve(dnorm,from=-4,to=+4)
shade_under_curve(dnorm,-5,-1)

Question 7 : on a tracé ci dessous la courbe de densité d’une loi gaussienne centrée (de moyenne 0) et de variance \(4\) et l’on a hachuré différentes aires sous la courbe.

Compléter le tableau ci-dessous :

Aire de la figure Proba représentée par l’aire Ecriture avec \(F(t)\) Valeur numérique pnorm
1 \(P(X<-1)\) \(F(-1)\) 0.3085375
2 \(P(X<2)\) \(F(2)\) 0.8413447
3 \(P(X>2)\) \(1-F(2)\) 0.1586553
4 \(P(-1<X<2)\) \(F(2)-F(-1)\) 0.5328072

Question 8 : soit \(X \sim \mathcal N(15, 9)\) (une variable aléatoire gaussienne de moyenne \(15\) et de variance \(9\)).

Quelle est la probabilité que \(X \leq 17\) ? (utiliser la fonction pnorm)

Quelle est la probabilité que \(X>7\) ? Enfin quelle est la probabilité que \(7<X<17\) ?

pnorm(17, 15, 3)   #P(X<17)
## [1] 0.7475075
1 - pnorm(7, 15, 3)   #P(X>7)
## [1] 0.9961696
pnorm(17, 15, 3) - pnorm(7, 15, 3)   #P(7<X<17)
## [1] 0.7436771

Exercice 2: Lien entre lois normales

Soit \(X \sim \mathcal N(0, 1)\). On souhaite montrer que les variables \(X_1=X+1\), \(X_2=X-1\), \(X_3=2X\) et \(X_4=X/2\) suivent aussi une loi normale. Pour cela on simule un grand nombre de valeurs suivant la loi normale \(N(0,1)\) et l’on construit les nouvelles variables. Étudier la distribution de ces nouvelles variables (avec des histogrammes puis en fonction d’une distribution usuelle).

x<-rnorm(10000,0,1)
x1<-x+1
x2<-x-1
x3<-2*x
x4<-x/2
par(mfrow=c(2,2))
plotdensity(x1, 1, 1, -7, 7, 'x1')
plotdensity(x2, -1, 1, -7, 7, 'x2')
plotdensity(x3, 0, 2, -8, 8, 'x3')
plotdensity(x4, 0, 0.5, -5, 5, 'x4')

Soit maintenant \(Y \sim \mathcal N(4, 3)\) quelle est la distribution de la variable \(Z=\frac{Y-2}{\sqrt{3}}\) ?

y<-rnorm(10000, 4, sqrt(3))
z <- (y - 2)/ sqrt(3)
par(mfrow=c(1,1))
plotdensity(z, 2/sqrt(3), 1, -7, 7, 'z')

Exercice 3: Sommes de variables aléatoires gaussiennes

En vous aidant des résultats du script suivant, donner la loi de \(X+Y\) et de \(X-Y\) si \(X\sim N(m_1,\sigma_1^2)\) et \(Y\sim N(m_2,\sigma_2^2)\).

# Deux variables gaussiennes de meme loi
x <- rnorm(10000,0,1)
y <- rnorm(10000,0,1)
z <- x+y
hist(z, breaks=20, freq=FALSE, ylim=c(0,0.5), main="Z=X+Y | Même loi")
curve(dnorm, from=-4, to=4,
      add=TRUE, col="red",
      lw=2, xaxs="i") # la loi N(0,1)
x<-seq(-5,5,0.1)
lines(x,dnorm(x,0,sqrt(2)), col="blue", lw=2) #la loi proposée

# Deux variables gaussiennes de meme ecart type mais pas de meme esperance
x <- rnorm(10000,0,1)
y <- rnorm(10000,1,1)
z <- x + y
hist(z, breaks=20, freq=FALSE, ylim=c(0,0.5), main="Z=X+Y | Même variance")
curve(dnorm,from=-4, to=4, add=TRUE, col="red", lw=2)  # la loi N(0,1)
x <- seq(-5,5,0.1)
lines(x, dnorm(x,0,sqrt(2)), col="darkgreen", lw=2) #la 1ere loi proposée
# votre proposition ici:
lines(x, dnorm(x, 1, sqrt(2)) ,col="blue", lw=2) 

# Deux variables gaussiennes de meme esperance mais pas de meme ecart type
x<-rnorm(10000,0,1)
y<-rnorm(10000,0,2)
z<-x+y
hist(z, breaks=20, freq=FALSE, ylim=c(0,0.5), main="Z=X+Y | Même esperance")
curve(dnorm,from=-4, to=4, add=TRUE, col="red", lw=2)
x<-seq(-5,5,0.1)
## votre proposition ici:
lines(x,dnorm(x, 0, sqrt(5)), col="blue",lw=2) 

En général, pour \(X\sim N(m_1,\sigma_1^2)\) et \(Y\sim N(m_2,\sigma_2^2)\):

\[X+Y\sim \mathcal N(\mu_1 + \mu_2, \sigma_1^2 + \sigma_2^2)\]

\[X-Y\sim \mathcal N(\mu_1 - \mu_2, \sigma_1^2 + \sigma_2^2)\]

# Deux variables gaussiennes de meme esperance mais pas de meme ecart type
x<-rnorm(10000,1,1)
y<-rnorm(10000,0,2)
z<-x - y
hist(z, breaks=20, freq=FALSE, ylim=c(0,0.5), main="Z=X-Y")
curve(dnorm,from=-4, to=4, add=TRUE, col="red", lw=2)
x<-seq(-5,5,0.1)
## votre proposition ici:
lines(x,dnorm(x, 1, sqrt(5)), col="blue",lw=2) 

Déduire de ce qui précède la loi de la variable \(\bar{X}=\frac{1}{n}(X_1+X_2+X_3+...+X_n)\) où toutes les variables \(X_i\) sont gaussiennes centrées réduites. Écrire un script pour l’illustrer.

mean_gaussians <- function (n){
simu <- replicate(n, rnorm(10000, 0, 1))
simu <- apply(simu, MARGIN=1, FUN=mean)
hist(simu, breaks=20, freq=FALSE,
     main=sprintf("Moyenne de %d gaussiennes N(0,1)", n), xlab="")
x<-seq(-5,5,0.1)
lines(x, dnorm(x, 0, n**-0.5), col="blue",lw=2)
}

mean_gaussians(12)

\(\bar{X}=\frac{1}{n}(X_1+X_2+X_3+...+X_n) \sim \mathcal N(0, \frac{1}{n})\)

Exercice 4: Somme de carrés de variables gaussiennes centrées réduites

Pour une somme de carrés de variables gaussiennes centrées réduites regarder la suite du script. Trouver le nom de la nouvelle loi des carrés et comment on choisit ses paramètres. (consulter l’aide de R)

N <- 10000
mu <- 0
sigma <- 1
v1 <- rnorm(N, mu, sigma)^2
v2 <- rnorm(N, mu, sigma)^2 + rnorm(N, mu, sigma)^2
v3 <- rnorm(N, mu, sigma)^2 + rnorm(N, mu, sigma)^2 + rnorm(N, mu, sigma)^2
v4 <- rnorm(N, mu, sigma)^2 + rnorm(N, mu, sigma)^2 + rnorm(N, mu, sigma)^2 + rnorm(N, mu, sigma)^2

par(mfrow=c(2,2))
hist(v1, breaks=40, prob=TRUE, xlim=c(0,10), ylim=c(0,1.5))
curve(dchisq(x,1), from=0, to=10, add=TRUE, col="red")

hist(v2, breaks=40, prob=TRUE, xlim=c(0,10), ylim=c(0,0.5))
curve(dchisq(x,2),from=0, to= 10, add=TRUE, col="red")

hist(v3, breaks=40, prob=TRUE, xlim=c(0,10), ylim=c(0,0.3))
curve(dchisq(x,3), from=0, to=10, add=TRUE, col="red")

hist(v4, breaks=40, prob=TRUE, xlim=c(0,20), ylim=c(0,0.20))
curve(dchisq(x,4), from=0, to=10, add=TRUE, col="red")      

Question : Compléter la formule ci-dessous ?

\(X_1^2+X_2^2+X_3^2+...+X_n^2\sim \chi ^2(n)\,\) (La loi khi-deux ou khi-carré).