So erstellen Sie ein Q-Q-Diagramm in Python

Von Fabian
Kategorie: Python
Tags: Regression
Lesezeit: 3 Minuten

Ein Q-Q-Plot, kurz für „Quantil-Quantil“ -Diagramm, wird häufig verwendet, um zu bewerten, ob ein Datensatz möglicherweise aus einer theoretischen Verteilung stammt oder nicht. In den meisten Fällen wird diese Art von Diagramm verwendet, um zu bestimmen, ob ein Datensatz einer Normalverteilung folgt oder nicht.

In diesem Tutorial wird erläutert, wie Sie ein Q-Q-Diagramm für einen Datensatz in Python erstellen.

Beispiel: Q-Q-Plot in Python

Angenommen, wir haben den folgenden Datensatz mit 100 Werten:

import numpy as np

#Datensatz mit 100 Werten erstellen, die einer Normalverteilung folgen
np.random.seed(0)
data = np.random.normal(0,1, 1000)

# Die ersten 10 Werte anzeigen
data[:10] 

array([ 1.76405235,  0.40015721,  0.97873798,  2.2408932 ,  1.86755799,
       -0.97727788,  0.95008842, -0.15135721, -0.10321885,  0.4105985 ])

Um ein Q-Q-Diagramm für diesen Datensatz zu erstellen, können Sie die Funktion q-qplot() aus der statsmodels Bibliothek verwenden:

import statsmodels.api as sm
import matplotlib.pyplot as plt

# Q-Q-Plot mit 45-Grad-Linie erstellen, die dem Plot hinzugefügt wurde
fig = sm.qqplot(data, line='45')
plt.show()

Q-Q-Plot in Python

In einem Q-Q-Diagramm zeigt die x-Achse die theoretischen Quantile. Dies bedeutet, dass Ihre tatsächlichen Daten nicht angezeigt werden, sondern stattdessen angegeben wird, wo sich Ihre Daten befinden würden, wenn sie normal verteilt wären.

Die y-Achse zeigt Ihre tatsächlichen Daten. Dies bedeutet, dass die Daten normal verteilt sind, wenn die Datenwerte in einem Winkel von 45 Grad entlang einer ungefähr geraden Linie fallen.

Wir können in unserem Q-Q-Diagramm oben sehen, dass die Datenwerte tendenziell eng dem 45-Grad-Wert folgen, was bedeutet, dass die Daten wahrscheinlich normal verteilt sind. Dies sollte nicht überraschen, da wir die 100 Datenwerte mit der Funktion numpy.random.normal() generiert haben.

Überlegen Sie stattdessen, ob wir einen Datensatz mit 100 gleichmäßig verteilten Werten generiert und ein Q-Q-Diagramm für diesen Datensatz erstellt haben:

#Datensatz mit 100 gleichmäßig verteilten Werten erstellen
data = np.random.uniform(0,1, 1000)

# Q-Q-Plot für den Datensatz generieren
fig = sm.qqplot(data, line='45')
plt.show()

Q-Q-Plot mit gerader Linie in Python mit matplotlib

Die Datenwerte folgen eindeutig nicht der roten 45-Grad-Linie, was ein Hinweis darauf ist, dass sie keiner Normalverteilung folgen.

Hinweise zu Q-Q-Plots

Beachten Sie die folgenden Hinweise zu Q-Q-Plots:

  • Obwohl ein Q-Q-Plot kein formaler statistischer Test ist, bietet es eine einfache Möglichkeit, visuell zu überprüfen, ob ein Datensatz normal verteilt ist oder nicht.
  • Achten Sie darauf, Q-Q-Diagramme nicht mit PP-Diagrammen zu verwechseln, die weniger häufig verwendet werden und nicht so nützlich für die Analyse von Datenwerten sind, die auf die äußersten Schwänze der Verteilung fallen.

Weitere Python-Tutorials finden Sie hier.

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: