Voici comment vous pouvez résoudre les exercices dans RStudio en suivant les mêmes étapes
que celles expliquées précédemment, mais adaptées à R. Les principales fonctions en R sont
similaires à celles de Python, mais vous devrez utiliser des bibliothèques différentes.
Exercice 1: Génération de valeurs suivant une loi normale
Objectif :
Générer des échantillons suivant une loi normale de moyenne 2 et d'écart-type 0.1, et
comparer la moyenne obtenue avec la moyenne théorique (2).
Répéter l'opération pour des tailles d'échantillons croissantes (10, 100, 1000, 10000).
Solution en R :
# Définir la moyenne et l'écart-type
mu <- 2
sigma <- 0.1
# Générer des échantillons de taille 10
n <- 10
values_10 <- rnorm(n, mean = mu, sd = sigma)
mean_10 <- mean(values_10)
# Afficher les résultats
cat("Valeurs générées (n=10):", values_10, "\n")
cat("Moyenne obtenue (n=10):", mean_10, "\n")
cat("Moyenne théorique:", mu, "\n")
# Répéter pour n = 100, 1000, 10000
for (n in c(100, 1000, 10000)) {
values <- rnorm(n, mean = mu, sd = sigma)
mean <- mean(values)
cat("\nMoyenne obtenue pour n =", n, ":", mean, "\n")
}
Explication :
rnorm(n, mean, sd) génère un échantillon de taille n suivant une loi normale de
moyenne mean et d'écart-type sd.
mean(values) calcule la moyenne de l'échantillon.
Vous comparez cette moyenne avec la moyenne théorique mu = 2.
Résultat attendu :
Au fur et à mesure que la taille de l'échantillon augmente, la moyenne obtenue devrait se
rapprocher de la moyenne théorique (2).
Exercice 2: Génération de valeurs suivant une loi exponentielle
Objectif :
Générer des échantillons suivant une loi exponentielle avec θ=2\theta = 2 et calculer la
statistique n(xbar−μ)\sqrt{n}(x_{\text{bar}} - \mu).
Comparer la distribution obtenue avec celle de la loi normale.
Solution en R :
# Paramètre de la loi exponentielle
theta <- 2
mu <- theta
# Liste des tailles d'échantillons
n_samples <- c(10, 20, 30, 40, 50, 100, 200, 500, 1000)
# Liste pour stocker les statistiques
statistics <- c()
# Générer les échantillons et calculer la statistique pour chaque taille
d'échantillon
for (n in n_samples) {
# Générer un échantillon de taille n suivant la loi exponentielle
sample <- rexp(n, rate = 1 / theta) # rate = 1 / theta
x_bar <- mean(sample)
statistic <- sqrt(n) * (x_bar - mu) # Calculer la statistique
statistics <- c(statistics, statistic)
}
# Afficher les résultats avec une densité de probabilité
library(ggplot2)
# Créer un data frame pour la visualisation
df <- [Link](statistics)
# Tracer la densité
ggplot(df, aes(x = statistics)) +
geom_density(fill = "skyblue", alpha = 0.5) +
labs(title = "Comparaison de la distribution de la statistique avec la loi
normale",
x = "Statistique", y = "Densité")
Explication :
rexp(n, rate) génère des échantillons de taille n suivant une loi exponentielle, avec un
taux rate = 1/θ.
La statistique n(xbar−μ)\sqrt{n}(x_{\text{bar}} - \mu) est calculée pour chaque
échantillon.
ggplot2 est utilisé pour afficher la densité de la statistique calculée.
Résultat attendu :
La distribution de la statistique n(xbar−μ)\sqrt{n}(x_{\text{bar}} - \mu) devrait se
rapprocher d’une loi normale à mesure que la taille de l’échantillon augmente, illustrant
le théorème central limite.
Résumé des étapes dans R :
1. Exercice 1 :
o Utiliser rnorm() pour générer des échantillons suivant une loi normale.
o Calculer la moyenne avec mean() et comparer à la moyenne théorique.
2. Exercice 2 :
o Utiliser rexp() pour générer des échantillons suivant une loi exponentielle.
o Calculer la statistique n(xbar−μ)\sqrt{n}(x_{\text{bar}} - \mu).
o Utiliser ggplot2 pour afficher la densité de la statistique et comparer avec la loi
normale.
Cela devrait vous permettre de résoudre les exercices dans RStudio en utilisant les fonctions
adéquates et en visualisant les résultats graphiquement.
Pour résoudre cet exercice, nous allons suivre les étapes détaillées, en expliquant les principes
sous-jacents et comment procéder dans un langage comme Python pour générer et analyser les
données.
Exercice 1: Génération de valeurs suivant une loi normale
Objectif :
Générer des valeurs suivant une loi normale et comparer la moyenne obtenue avec la moyenne
théorique.
1. Générer les valeurs suivant une loi normale de moyenne 2 et d'écart-type 0.1 :
o Vous allez générer un échantillon de 10 valeurs, puis calculer leur moyenne.
Ensuite, vous allez comparer cette moyenne à la moyenne théorique qui est 2.
2. Étape suivante :
o Vous allez répéter cette opération en augmentant progressivement la taille de
l'échantillon (100, 1000, 10000, etc.), et à chaque fois vous calculerez la moyenne
de l'échantillon et la comparerez à la moyenne théorique de 2.
Solution en Python :
import numpy as np
# Définir la moyenne et l'écart-type
mu = 2
sigma = 0.1
# Générer 10 valeurs suivant une loi normale
n = 10
values_10 = [Link](mu, sigma, n)
mean_10 = [Link](values_10)
print(f"Valeurs générées (n=10) : {values_10}")
print(f"Moyenne obtenue (n=10) : {mean_10}")
print(f"Moyenne théorique : {mu}")
# Répétez pour n=100, 1000, 10000
for n in [100, 1000, 10000]:
values = [Link](mu, sigma, n)
mean = [Link](values)
print(f"\nMoyenne obtenue pour n={n} : {mean}")
Explication :
[Link](mu, sigma, n) génère un échantillon de n valeurs suivant une loi
normale de moyenne mu et d'écart-type sigma.
Vous calculez la moyenne de l'échantillon à l’aide de [Link]() et vous comparez cette
moyenne avec la valeur théorique mu = 2.
Résultat attendu :
Au fur et à mesure que n augmente, la moyenne des échantillons devrait se rapprocher de
la moyenne théorique (2), ce qui illustre la loi des grands nombres.
Exercice 2: Génération de valeurs suivant une loi exponentielle
Objectif :
1. Générer des échantillons suivant une loi exponentielle de paramètre θ=2\theta = 2 et
calculer la statistique n(xbar−μ)\sqrt{n}(x_{\text{bar}} - \mu) pour chaque échantillon.
2. Comparer la distribution obtenue avec celle de la loi normale.
Solution :
1. Générer des échantillons exponentiels :
o Vous allez générer des échantillons de tailles 10, 20, 30, ..., 1000, en utilisant la
fonction [Link](scale=theta, size=n).
o Pour chaque échantillon, vous calculerez la statistique
n(xbar−μ)\sqrt{n}(x_{\text{bar}} - \mu), où xbarx_{\text{bar}} est la moyenne
de l'échantillon et μ=θ=2\mu = \theta = 2 est la moyenne théorique de la loi
exponentielle.
2. Comparer la distribution obtenue avec la loi normale :
o Vous utiliserez la fonction density() ou [Link]() pour afficher la densité
de la statistique n(xbar−μ)\sqrt{n}(x_{\text{bar}} - \mu) et comparer cela à la
densité d’une loi normale.
Solution en Python :
import numpy as np
import [Link] as plt
import seaborn as sns
# Paramètre de la loi exponentielle
theta = 2
mu = theta
# Liste des tailles d'échantillons
n_samples = [10, 20, 30, 40, 50, 100, 200, 500, 1000]
# Liste pour stocker les statistiques
statistics = []
# Générer les échantillons et calculer la statistique pour chaque taille
d'échantillon
for n in n_samples:
# Générer un échantillon de taille n suivant la loi exponentielle
sample = [Link](scale=theta, size=n)
x_bar = [Link](sample)
statistic = [Link](n) * (x_bar - mu) # Calculer la statistique
[Link](statistic)
# Afficher les résultats avec une densité de probabilité
[Link](figsize=(10, 6))
[Link](statistics, label="Densité de la statistique", fill=True)
[Link]("Comparaison de la distribution de la statistique avec la loi
normale")
[Link]()
[Link]()
Explication :
[Link](scale=theta, size=n) génère des échantillons suivant une
loi exponentielle avec un paramètre de taux λ=1/θ\lambda = 1/\theta, ici θ=2\theta = 2.
La statistique n(xbar−μ)\sqrt{n}(x_{\text{bar}} - \mu) est calculée pour chaque
échantillon.
Vous utilisez [Link]() pour afficher la densité des valeurs de la statistique et
observer si elle converge vers une loi normale pour des tailles d’échantillon plus grandes.
Résultat attendu :
Au fur et à mesure que la taille de l'échantillon augmente, la distribution de la statistique
n(xbar−μ)\sqrt{n}(x_{\text{bar}} - \mu) devrait se rapprocher de la distribution normale,
conformément au théorème central limite (TCL).
Résumé des étapes :
1. Exercice 1 :
o Générer des échantillons de taille croissante suivant une loi normale.
o Calculer la moyenne des échantillons et comparer à la moyenne théorique (2).
2. Exercice 2 :
o Générer des échantillons de tailles croissantes suivant une loi exponentielle.
o Calculer la statistique n(xbar−μ)\sqrt{n}(x_{\text{bar}} - \mu) et observer la
convergence de la distribution vers la normale.
En suivant ces étapes avec Python, vous pourrez accomplir les exercices et visualiser les résultats
comme décrit.