Visualisierungen der multivariate Normalverteilung

PythonPythonBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden verschiedene Normalisierungen einer multivariate Normalverteilung mithilfe von Python Matplotlib untersucht. In diesem Lab lernen Sie über die lineare Normalisierung, die Potenzgesetz-Normalisierung und wie Sie Matplotlib verwenden, um die multivariate Normalverteilung zu visualisieren.

Tipps für die VM

Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.

Bibliotheken importieren

In diesem Schritt müssen Sie die erforderlichen Bibliotheken importieren, nämlich Matplotlib, NumPy und Multivariate_normal aus NumPy.random.

import matplotlib.pyplot as plt
import numpy as np
from numpy.random import multivariate_normal

Zufälligen Zustand festlegen

In diesem Schritt müssen Sie den Zufallszustand festlegen, um die Reproduzierbarkeit zu gewährleisten.

np.random.seed(19680801)

Daten erstellen

In diesem Schritt müssen Sie Daten mithilfe von multivariate_normal() erstellen. Diese Funktion generiert eine Zufallsstichprobe aus einer multivariate Normalverteilung.

data = np.vstack([
    multivariate_normal([10, 10], [[3, 2], [2, 3]], size=100000),
    multivariate_normal([30, 20], [[3, 1], [1, 3]], size=1000)
])

Histogramm erstellen

In diesem Schritt müssen Sie ein Histogramm mithilfe von hist2d() erstellen. Die Funktion hist2d() wird verwendet, um ein zweidimensionales Histogramm zu erstellen.

plt.hist2d(data[:, 0], data[:, 1], bins=100)

Potenzgesetz-Normalisierung erstellen

In diesem Schritt müssen Sie die Potenzgesetz-Normalisierung mithilfe von PowerNorm() erstellen.

plt.hist2d(data[:, 0], data[:, 1], bins=100, norm=mcolors.PowerNorm(gamma))

Teillose erstellen

In diesem Schritt müssen Sie Teillose mithilfe von subplots() erstellen.

fig, axs = plt.subplots(nrows=2, ncols=2)

Lineare Normalisierung erstellen

In diesem Schritt müssen Sie die lineare Normalisierung erstellen.

axs[0, 0].hist2d(data[:, 0], data[:, 1], bins=100)

Potenzgesetz-Normalisierung erstellen

In diesem Schritt müssen Sie die Potenzgesetz-Normalisierung mit unterschiedlichen Gamma-Werten erstellen.

for ax, gamma in zip(axs.flat[1:], gammas):
    ax.hist2d(data[:, 0], data[:, 1], bins=100, norm=mcolors.PowerNorm(gamma))

Titel setzen

In diesem Schritt müssen Sie den Titel jedes Diagramms setzen.

axs[0, 0].set_title('Linear normalization')

for ax, gamma in zip(axs.flat[1:], gammas):
    ax.set_title(r'Potenzgesetz $(\gamma=%1.1f)$' % gamma)

Tight Layout

In diesem Schritt müssen Sie den Abstand zwischen den Teillosen anpassen.

fig.tight_layout()

Diagramm anzeigen

In diesem Schritt müssen Sie das Diagramm mit show() anzeigen.

plt.show()

Zusammenfassung

In diesem Lab wurden verschiedene Normalisierungen einer multivariate Normalverteilung mit Python Matplotlib untersucht. Sie haben die lineare Normalisierung, die Potenzgesetz-Normalisierung und die Verwendung von Matplotlib gelernt, um die multivariate Normalverteilung zu visualisieren.