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) 

Normalny CDF w Pythonie

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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *