Visualizaciones de la distribución normal multivariada

Beginner

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

Introducción

Esta práctica explora varias normalizaciones sobre una distribución normal multivariada utilizando Python Matplotlib. En esta práctica, aprenderá sobre la normalización lineal, la normalización de ley de potencia y cómo utilizar Matplotlib para visualizar la distribución normal multivariada.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje su retroalimentación después de la sesión y resolveremos el problema para usted de inmediato.

Importar bibliotecas

En este paso, debe importar las bibliotecas necesarias, que son Matplotlib, NumPy y Multivariate_normal de NumPy.random.

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

Establecer el estado aleatorio

En este paso, debe establecer el estado aleatorio para la reproducibilidad.

np.random.seed(19680801)

Crear datos

En este paso, debe crear datos utilizando multivariate_normal(). Esta función genera una muestra aleatoria de una distribución normal multivariada.

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

Crear histograma

En este paso, debe crear un histograma utilizando hist2d(). La función hist2d() se utiliza para crear un histograma bidimensional.

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

Crear normalización por ley de potencia

En este paso, debe crear la normalización por ley de potencia utilizando PowerNorm().

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

Crear subtramas

En este paso, debe crear subtramas utilizando subplots().

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

Crear normalización lineal

En este paso, debe crear la normalización lineal.

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

Crear normalización por ley de potencia

En este paso, debe crear la normalización por ley de potencia con diferentes valores de gamma.

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

Establecer título

En este paso, debe establecer el título de cada gráfico.

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

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

Diseño ajustado

En este paso, debe ajustar el espaciado entre las subtramas.

fig.tight_layout()

Mostrar el gráfico

En este paso, debe mostrar el gráfico utilizando show().

plt.show()

Resumen

Esta práctica exploró varias normalizaciones en una distribución normal multivariada utilizando Matplotlib de Python. Aprendió sobre la normalización lineal, la normalización por ley de potencia y cómo utilizar Matplotlib para visualizar la distribución normal multivariada.