Visualizações da Distribuição Normal Multivariada

Beginner

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

Introdução

Este laboratório explora várias normalizações em uma distribuição normal multivariada usando Python Matplotlib. Neste laboratório, você aprenderá sobre normalização linear, normalização por lei de potência e como usar Matplotlib para visualizar a distribuição normal multivariada.

Dicas da VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Importar Bibliotecas

Nesta etapa, você precisa importar as bibliotecas necessárias, que são Matplotlib, NumPy e Multivariate_normal de NumPy.random.

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

Definir Estado Aleatório

Nesta etapa, você precisa definir o estado aleatório para reprodutibilidade.

np.random.seed(19680801)

Criar Dados

Nesta etapa, você precisa criar dados usando multivariate_normal(). Esta função gera uma amostra aleatória de uma distribuição 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)
])

Criar Histograma

Nesta etapa, você precisa criar um histograma usando hist2d(). A função hist2d() é usada para criar um histograma bidimensional.

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

Criar Normalização de Lei de Potência

Nesta etapa, você precisa criar uma normalização de lei de potência usando PowerNorm().

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

Criar Subplots

Nesta etapa, você precisa criar subplots usando subplots().

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

Criar Normalização Linear

Nesta etapa, você precisa criar uma normalização linear.

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

Criar Normalização de Lei de Potência

Nesta etapa, você precisa criar uma normalização de lei de potência com diferentes valores de gama (gamma).

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

Definir Título

Nesta etapa, você precisa definir o 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)

Layout Compacto (Tight Layout)

Nesta etapa, você precisa ajustar o espaçamento entre os subplots.

fig.tight_layout()

Mostrar Gráfico (Show Plot)

Nesta etapa, você precisa exibir o gráfico usando show().

plt.show()

Resumo

Este laboratório explorou várias normalizações em uma distribuição normal multivariada usando Python Matplotlib. Você aprendeu sobre normalização linear, normalização por lei de potência e como usar Matplotlib para visualizar a distribuição normal multivariada.