Berechnen Sie die kumulative Verteilungsfunktion in Python
-
Verwenden Sie
numpy.arange()
, um die CDF in Python zu berechnen -
Verwenden Sie
numpy.linspace()
, um die CDF in Python zu berechnen
Der Begriff kumulative Verteilungsfunktion oder CDF
ist eine Funktion y=f(x)
, wobei y
die Wahrscheinlichkeit darstellt, dass die ganze Zahl x
oder eine beliebige Zahl kleiner als x
zufällig aus einer Verteilung ausgewählt wird.
Es wird in Python mit den folgenden Funktionen aus der Bibliothek NumPy
berechnet.
- Funktion
numpy.arange()
, die einndarray
von gleichmäßig verteilten Werten zurückgibt. - Funktion
numpy.linspace()
, die einndarray
von gleichmäßig verteilten Werten innerhalb eines bestimmten Intervalls zurückgibt.
Verwenden Sie numpy.arange()
, um die CDF in Python zu berechnen
Die Standardbibliothek NumPy
enthält die Funktion arange()
zur Ermittlung der CDF in Python.
Importieren Sie dazu zuerst die Bibliothek NumPy
.
Die Funktion arange()
gibt ein ndarray
von gleichmäßig verteilten Werten zurück.
Unten ist ein Beispiel, das die Implementierung der CDF-Funktion mit der Funktion numpy.arange()
in Python demonstriert.
import matplotlib.pyplot as plt
import numpy
data = numpy.random.randn(5)
print("The data is-", data)
sorted_random_data = numpy.sort(data)
p = 1.0 * numpy.arange(len(sorted_random_data)) / float(len(sorted_random_data) - 1)
print("The CDF result is-", p)
fig = plt.figure()
fig.suptitle("CDF of data points")
ax2 = fig.add_subplot(111)
ax2.plot(sorted_random_data, p)
ax2.set_xlabel("sorted_random_data")
ax2.set_ylabel("p")
Hier wird die Funktion randn()
verwendet, um Datenstichproben mit der Standardnormalverteilung zurückzugeben. Da randn(5)
erwähnt wird, wird ein 1Darray mit 5 Zufallswerten aufgebaut.
Als nächstes werden die Daten mit der Funktion sort()
sortiert, wonach die Funktion arange()
zur Berechnung des CDF verwendet wird.
Ausgabe :
The data is- [ 0.14213322 -1.28760908 0.94533922 0.82004319 1.08232731]
The CDF result is- [0. 0.25 0.5 0.75 1. ]
Der Graph wird gemäß der CDF-Funktion als angezeigt.
Verwenden Sie numpy.linspace()
, um die CDF in Python zu berechnen
Die Standardbibliothek NumPy
enthält die Funktion linspace()
zur Ermittlung der CDF in Python. Importieren Sie dazu zuerst die Bibliothek NumPy
.
Die Funktion linspace()
gibt ein ndarray
von gleichmäßig verteilten Zahlen über ein bestimmtes Intervall zurück.
Hier ist ein Beispiel, das die Implementierung der CDF-Funktion mit numpy.linspace()
in Python demonstriert.
import matplotlib.pyplot as plt
import numpy as np
data = np.random.randn(5)
print("The data is-", data)
sorted_random_data = np.sort(data)
np.linspace(0, 1, len(data), endpoint=False)
print("The CDF result using linspace =\n", p)
fig = plt.figure()
fig.suptitle("CDF of data points")
ax2 = fig.add_subplot(111)
ax2.plot(sorted_random_data, p)
ax2.set_xlabel("sorted_random_data")
ax2.set_ylabel("p")
Hier wird die Funktion randn()
verwendet, um Datenstichproben mit der Standardnormalverteilung zurückzugeben. Als nächstes werden die Daten mit der Funktion sort()
sortiert, wonach die Funktion arange()
zur Berechnung des CDF verwendet wird.
Ausgabe:
The data is- [-0.92106668 -0.05998132 0.02102705 -0.84778184 0.90815869]
The CDF result using linspace =
[0. 0.25 0.5 0.75 1. ]
Die Grafik wird gemäß der CDF-Funktion wie folgt angezeigt.