Introduction à la simulation par événements discrets
Support de cours
Les transparents suivants sont issus du cours IFT3245 donné à l'automne 2016 à l'Université de Montréal. Les sources sont disponibles sur GitHub.Principes de base
- Introduction
- Principes de simulation par événements discrets
- Récurrence de Lindley (notebook Jupyter)
- File d'attente M/M/1 par processus (notebook Jupyter)
Générateurs de nombres aléatoires
- Génération de variables aléatoires U(0,1)
- Générateurs MRG
- Structure des MRG
- Générateurs MRG combinés
- Générateurs de nombres aléatoires sur F2
- Générateurs de nombres aléatoires U(0,1): tests statistiques
- Génération de variables non-uniformes
- Génération de variables non-uniformes (suite)
- Sur les fonctions de répartition (notebook Jupyter)
- Inversion de fonction de répartition (notebook Jupyter)
Intervalles de confiance
- Intervalles de confiance (IC) (code Julia)
- Approche séquentielle
- Méthode bootstrap
- Intervalles de confiance pour les files M/M/1 (notebook Jupyter)
- Réduction du biais initial
- Méthode delta
- M/M/1 et méthode delta (notebook Jupyter)
- IC sur une simulation
- M/M/1 et batch means (notebook Jupyter)
Techniques d'amélioration d'efficacité
- Amélioration d'efficacité: principes
- Variables aléatoires communes
- Variables de contrôle
- M/M/1: control variates and stratification (notebook Jupyter)
- Variables antithétiques
- M/M/1: common random numbers and antithetic variates (notebook Jupyter)
- Méthodes quasi-Monte Carlo
- Monte Carlo conditionnel
Julia
Les modèles présentés sont implantés à l'aide de Julia, dont voici une introduction (notebook), en utilisant la librairie SimJulia, et la générateur RandomStreams. Un notebook inspiré de la documentation de SimJulia illustre son utilisation de base. Les notebooks ci-dessus peuvent être également visualisés à l'aide de l'utilitaire nbviewer.Collecteurs statistiques
Les morceaux de code suivant sont actuellement soumis à révision.- Collecteur Tally
- Collecteur TallyStore