Generera diskreta slumpvariabler

Monte Carlo-simuleringar i Python

Izzy Weber

Curriculum Manager, DataCamp

Nödvändiga importer

import scipy.stats as st

import seaborn as sns import pandas as pd import numpy as np import matplotlib.pyplot as plt
Monte Carlo-simuleringar i Python

Diskret likformig fördelning

Teoretisk sannolikhetsmassafunktion (PMF): Teoretisk sannolikhetsmassafunktion för diskret likformig fördelning

Monte Carlo-simuleringar i Python

Sampling från diskret likformig fördelning

low = 3 
high = 21
samples = st.randint.rvs(low, high, size=1000)
samples_dict = {"nums":samples}
sns.histplot(x="nums", data=samples_dict, bins=6, binwidth=0.3)

graf över sampelresultat från diskret likformig fördelning

Monte Carlo-simuleringar i Python

Geometrisk fördelning

Sannolikhetsfördelningen för antalet försök, $X$, som krävs för att uppnå ett lyckat utfall, givet sannolikheten $p$.

Sannolikhetsmassafunktion, p = 0.5 Teoretisk sannolikhetsmassafunktion för geometrisk fördelning där p = 0.5

Monte Carlo-simuleringar i Python

Geometrisk fördelning

Sannolikhetsmassafunktion, p = 0.3 Teoretisk sannolikhetsmassafunktion för geometrisk fördelning där p = 0.3

Monte Carlo-simuleringar i Python

Sampling från geometrisk fördelning

p = 0.2
samples = st.geom.rvs(p, size=1000)
samples_dict = {"nums":samples}
sns.histplot(x="nums", data=samples_dict)

graf över sampelresultat från geometrisk fördelning

Monte Carlo-simuleringar i Python

Fler diskreta sannolikhetsfördelningar

  • Poisson (scipy.stats.poisson)
    • Anger sannolikheten för ett givet antal händelser under ett fast tids- eller rumsintervall
  • Binomial (scipy.stats.binom)
    • Anger sannolikheten för antalet lyckade utfall i en serie av $n$ oberoende experiment.
  • Och fler!
1 https://docs.scipy.org/doc/scipy/reference/stats.html#discrete-distributions
Monte Carlo-simuleringar i Python

Nu kör vi en övning!

Monte Carlo-simuleringar i Python

Preparing Video For Download...