Programmation avec R et Simulation de Lois de Probabilités
Programmation avec R et Simulation de Lois de Probabilités
Statistics and Programming · lab
Voir tous les documents en mathématiques
Fiche de révisionGuide de TP
Rédigée à partir de ce document, puis vérifiée avant publication.
Ce TP a pour objectif de se familiariser avec la manipulation des lois de probabilité classiques ainsi qu'avec leur simulation sur R. À l'issue de ce TP, vous serez capable de :
Pour réaliser ce TP, vous aurez besoin des éléments suivants :
Pour générer un échantillon aléatoire de 5 valeurs prises dans un vecteur donné sans remise, utilisez la commande suivante :
vect<-seq(3,12)
sample(vect,5)
Assurez-vous que la taille de l'échantillon est inférieure à la taille du vecteur.
Pour générer un échantillon aléatoire de 5 valeurs avec remise, utilisez :
sample(vect,5,replace=TRUE)Pour obtenir une permutation complète du vecteur, utilisez :
sample(vect)
Pour générer un échantillon aléatoire de 5 valeurs parmi les 10 premiers entiers, utilisez :
sample(10,5)
Pour générer un échantillon de 3 valeurs avec des probabilités proportionnelles, utilisez :
sample(seq(1,4),3,prob=c(0.1,0.2,0.3,0.4),replace=TRUE)
Pour simuler un tirage à la roulette, qui comporte 37 cases numérotées de 0 à 36, utilisez :
roulette<-0:36
sample(roulette, 20, replace = TRUE) -> RienNeVaPlus
Vous pouvez ensuite compter le nombre de fois où chaque numéro a été obtenu avec :
table(RienNeVaPlus)Pour simuler un tirage de pièce, définissez un objet contenant les deux résultats possibles :
c("pile", "face") -> pièce
sample(pièce, 1)
Pour plusieurs tirages, utilisez :
sample(pièce, 20, replace = TRUE)
Pour simuler un lancer d'un dé à six faces, utilisez :
dé<-1:6
sample(dé, 1)
Pour plusieurs lancers d'un coup, utilisez :
sample(dé, 3)
Après avoir exécuté les simulations, vous devriez observer des résultats qui reflètent les probabilités théoriques des jeux de hasard. Par exemple, pour le lancer de dé, chaque face devrait apparaître environ 1/6 du temps sur un grand nombre de lancers. Vous pouvez vérifier cela en exécutant :
set.seed(1)
table(sample(dé, 600000, replace = TRUE)) -> obs
obs
Un diagramme en bâtons peut également être utilisé pour visualiser les résultats :
barplot(obs, main = "Résultat de l’expérience", xlab = "Face du dé", ylab ="Nombre de tirages obtenus")Lors de la simulation de jeux de hasard, plusieurs erreurs peuvent survenir :
replace=TRUE lors de tirages avec remise, ce qui peut entraîner des résultats incorrects.set.seed(), ce qui rend les résultats non reproductibles.Pour générer un échantillon aléatoire avec R, utilisez la fonction sample() en spécifiant le vecteur d'origine et la taille de l'échantillon. Vous pouvez également ajouter l'argument replace=TRUE pour permettre la remise.
Les tirages pseudo-aléatoires doivent se comporter comme des tirages réellement aléatoires. En utilisant set.seed(), vous pouvez reproduire les mêmes résultats, ce qui est essentiel pour les tests et les simulations.
Vous pouvez visualiser les résultats d'une simulation en utilisant des diagrammes en bâtons avec la fonction barplot() ou des graphiques de distribution avec plot().
Vous pouvez simuler différentes lois de probabilité telles que binomiale, normale, uniforme, et bien d'autres en utilisant les fonctions appropriées comme rbinom(), rnorm(), et runif().