Berechnen Sie die kumulative Verteilungsfunktion in Python

Najwa Riyaz 10 Oktober 2023
  1. Verwenden Sie numpy.arange(), um die CDF in Python zu berechnen
  2. Verwenden Sie numpy.linspace(), um die CDF in Python zu berechnen
Berechnen Sie die kumulative Verteilungsfunktion in Python

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.

  1. Funktion numpy.arange(), die ein ndarray von gleichmäßig verteilten Werten zurückgibt.
  2. Funktion numpy.linspace(), die ein ndarray 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.

python cdf

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.

python cdf 2

Verwandter Artikel - Python Math