Jak obliczyć i wykreślić normalny cdf w pythonie
Funkcja dystrybucji skumulowanej ( CDF ) mówi nam o prawdopodobieństwie, że zmienna losowa przyjmie wartość mniejszą lub równą określonej wartości.
W tym samouczku wyjaśniono, jak obliczyć i wykreślić normalne wartości CDF w Pythonie.
Przykład 1: Oblicz normalne prawdopodobieństwa CDF w Pythonie
Najłatwiejszym sposobem obliczenia normalnych prawdopodobieństw CDF w Pythonie jest użycie funkcji norm.cdf() z biblioteki SciPy .
Poniższy kod pokazuje, jak obliczyć prawdopodobieństwo, że zmienna losowa przyjmie wartość mniejszą niż 1,96 w standardowym rozkładzie normalnym:
from scipy. stats import norm #calculate probability that random value is less than 1.96 in normal CDF norm. cdf ( 1.96 ) 0.9750021048517795
Prawdopodobieństwo, że zmienna losowa przyjmie wartość mniejszą niż 1,96 w standardowym rozkładzie normalnym, wynosi około 0,975 .
Prawdopodobieństwo, że zmienna losowa przyjmie wartość większą niż 1,96, możemy również obliczyć, odejmując tę wartość od 1:
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
Prawdopodobieństwo, że zmienna losowa przyjmie wartość większą niż 1,96 w standardowym rozkładzie normalnym, wynosi około 0,025 .
Przykład 2: Wykreślanie normalnego CDF
Poniższy kod pokazuje, jak wykreślić normalny CDF w Pythonie:
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)
Oś x pokazuje wartości zmiennej losowej zgodnej ze standardowym rozkładem normalnym, a oś y pokazuje prawdopodobieństwo, że zmienna losowa przyjmie wartość mniejszą niż wartość pokazana na osi x.
Na przykład, jeśli spojrzymy na x = 1,96, zobaczymy, że skumulowane prawdopodobieństwo, że x jest mniejsze niż 1,96, wynosi około 0,975 .
Możesz także zmienić kolory i etykiety osi normalnego wykresu CDF:
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 ')
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w Pythonie:
Jak wygenerować rozkład normalny w Pythonie
Jak wykreślić rozkład normalny w Pythonie