Hoe u normale cdf in python kunt berekenen en plotten
Een cumulatieve verdelingsfunctie ( CDF ) vertelt ons de waarschijnlijkheid dat een willekeurige variabele een waarde aanneemt die kleiner is dan of gelijk is aan een bepaalde waarde.
In deze tutorial wordt uitgelegd hoe u normale CDF-waarden in Python kunt berekenen en plotten.
Voorbeeld 1: Bereken normale CDF-kansen in Python
De eenvoudigste manier om normale CDF-kansen in Python te berekenen, is door de functie norm.cdf() uit de SciPy- bibliotheek te gebruiken.
De volgende code laat zien hoe je de kans berekent dat een willekeurige variabele een waarde kleiner dan 1,96 aanneemt in een standaard normale verdeling:
from scipy. stats import norm #calculate probability that random value is less than 1.96 in normal CDF norm. cdf ( 1.96 ) 0.9750021048517795
De kans dat een willekeurige variabele een waarde kleiner dan 1,96 aanneemt in een standaard normale verdeling is ongeveer 0,975 .
We kunnen ook de waarschijnlijkheid vinden dat een willekeurige variabele een waarde groter dan 1,96 aanneemt door deze waarde simpelweg van 1 af te trekken:
from scipy. stats import norm #calculate probability that random value is greater than 1.96 in normal CDF 1 - norm. cdf ( 1.96 ) 0.024997895148220484
De kans dat een willekeurige variabele een waarde groter dan 1,96 aanneemt in een standaard normale verdeling is ongeveer 0,025 .
Voorbeeld 2: De normale CDF plotten
De volgende code laat zien hoe je een normale CDF in Python plot:
import matplotlib. pyplot as plt import numpy as np import scipy. stats as ss #define x and y values to use for CDF x = np. linspace (-4, 4, 1000) y = ss. norm . cdf (x) #normal plot CDF plt. plot (x, y)
De x-as toont de waarden van een willekeurige variabele die een standaard normale verdeling volgt en de y-as toont de waarschijnlijkheid dat een willekeurige variabele een waarde aanneemt die kleiner is dan de waarde die op de x-as wordt weergegeven.
Als we bijvoorbeeld kijken naar x = 1,96, zien we dat de cumulatieve waarschijnlijkheid dat x kleiner is dan 1,96 ongeveer 0,975 is.
Voel je vrij om ook de kleuren en labels van de assen van de normale CDF-plot te wijzigen:
import matplotlib. pyplot as plt import numpy as np import scipy. stats as ss #define x and y values to use for CDF x = np. linspace (-4, 4, 1000) y = ss. norm . cdf (x) #normal plot CDF plt. plot (x,y,color=' red ') plt. title (' Normal CDF ') plt. xlabel (' x ') plt. ylabel (' CDF ')
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in Python uitvoert:
Hoe een normale verdeling in Python te genereren
Hoe een normale verdeling in Python te plotten