Introdução
O objetivo deste laboratório é demonstrar o uso de gráficos de correlação cruzada (cross-correlation) e autocorrelação (auto-correlation) utilizando a biblioteca Python Matplotlib. Correlação cruzada e autocorrelação são ferramentas matemáticas usadas para medir a similaridade entre dois sinais. A correlação cruzada mede a similaridade entre dois sinais diferentes, enquanto a autocorrelação mede a similaridade entre um sinal e uma versão dele mesmo com um atraso temporal. Essas ferramentas são comumente usadas em processamento de sinais, análise de imagens e análise de séries temporais.
Dicas para a 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
Primeiramente, precisamos importar as bibliotecas necessárias. Neste laboratório, usaremos NumPy e Matplotlib.
import matplotlib.pyplot as plt
import numpy as np
Gerar Dados Aleatórios
Em seguida, geraremos dois arrays de dados aleatórios usando NumPy. Usaremos esses arrays para demonstrar a correlação cruzada e a autocorrelação.
np.random.seed(19680801)
x, y = np.random.randn(2, 100)
Plotar Correlação Cruzada
Agora, plotaremos a correlação cruzada entre os dois arrays usando a função xcorr em Matplotlib.
fig, ax = plt.subplots()
ax.xcorr(x, y, usevlines=True, maxlags=50, normed=True, lw=2)
ax.grid(True)
plt.show()
A função xcorr recebe os seguintes parâmetros:
x: o primeiro array de dadosy: o segundo array de dadosusevlines: booleano, se deve plotar linhas verticais de 0 ao valor da correlaçãomaxlags: inteiro, o número máximo de lags para calcular a correlaçãonormed: booleano, se deve normalizar os valores da correlaçãolw: inteiro, a largura da linha para o gráfico
Plotar Autocorrelação
Agora, plotaremos a autocorrelação do array x usando a função acorr em Matplotlib.
fig, ax = plt.subplots()
ax.acorr(x, usevlines=True, normed=True, maxlags=50, lw=2)
ax.grid(True)
plt.show()
A função acorr recebe os seguintes parâmetros:
x: o array de dados para calcular a autocorrelaçãousevlines: booleano, se deve plotar linhas verticais de 0 ao valor da correlaçãonormed: booleano, se deve normalizar os valores da correlaçãomaxlags: inteiro, o número máximo de lags para calcular a correlaçãolw: inteiro, a largura da linha para o gráfico
Resumo
Neste laboratório, aprendemos como usar gráficos de correlação cruzada e autocorrelação em Python Matplotlib. Primeiro, importamos as bibliotecas necessárias e, em seguida, geramos dados aleatórios usando NumPy. Depois, plotamos a correlação cruzada e a autocorrelação dos dados usando as funções xcorr e acorr em Matplotlib. Essas ferramentas são úteis para medir a similaridade entre dois sinais e são comumente usadas em processamento de sinais, análise de imagens e análise de séries temporais.