Aller au contenu

Programmation avec R et Simulation de Lois de Probabilités

Page 1 sur 9Lecteur de document UniversityLib

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

Guide de TP – Programmation avec R et Simulation de Lois de Probabilités

Rédigée à partir de ce document, puis vérifiée avant publication.

Objectifs et prérequis du TP sur la simulation de lois de probabilités

Objectifs

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 :

  • Générer des échantillons aléatoires à partir de vecteurs.
  • Simuler des jeux de hasard comme la roulette, le lancer de dé et le tirage de pièces.
  • Utiliser des fonctions de simulation pour différentes lois de probabilité.
  • Analyser les résultats de simulations et comprendre les propriétés des tirages pseudo-aléatoires.

Prérequis

Pour réaliser ce TP, vous aurez besoin des éléments suivants :

  • Un ordinateur avec R installé.
  • Connaissances de base en programmation R.
  • Compréhension des concepts de probabilité et de statistiques.

Générer des échantillons aléatoires à partir d'un vecteur

Échantillon sans remise

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.

Échantillon avec remise

Pour générer un échantillon aléatoire de 5 valeurs avec remise, utilisez :

sample(vect,5,replace=TRUE)

Permutation d'un vecteur

Pour obtenir une permutation complète du vecteur, utilisez :

sample(vect)

Échantillon parmi les entiers

Pour générer un échantillon aléatoire de 5 valeurs parmi les 10 premiers entiers, utilisez :

sample(10,5)

Échantillon avec probabilités proportionnelles

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)

Simulation de jeux de hasard

Tirage d'un numéro à la roulette

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)

Tirage pile ou face

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)

Lancer d'un dé

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)

Résultats attendus

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")

Erreurs fréquentes en simulation

Lors de la simulation de jeux de hasard, plusieurs erreurs peuvent survenir :

  • Oublier d'utiliser l'argument replace=TRUE lors de tirages avec remise, ce qui peut entraîner des résultats incorrects.
  • Ne pas initialiser le générateur de nombres aléatoires avec set.seed(), ce qui rend les résultats non reproductibles.
  • Confondre les fonctions de densité et de distribution cumulative, ce qui peut mener à des erreurs dans les calculs de probabilité.

Questions fréquentes

Comment générer un échantillon aléatoire avec R ?

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.

Quelles sont les propriétés des tirages pseudo-aléatoires ?

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.

Comment visualiser les résultats d'une simulation ?

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().

Quels sont les types de lois de probabilité que je peux simuler ?

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().

Toutes les révisions