Introducción
El propósito de este laboratorio es demostrar el uso de gráficos de correlación cruzada y autocorrelación utilizando la biblioteca Matplotlib de Python. La correlación cruzada y la autocorrelación son herramientas matemáticas utilizadas para medir la similitud entre dos señales. La correlación cruzada mide la similitud entre dos señales diferentes, mientras que la autocorrelación mide la similitud entre una señal y una versión retrasada en el tiempo de sí misma. Estas herramientas se utilizan comúnmente en el procesamiento de señales, el análisis de imágenes y el análisis de series de tiempo.
Consejos sobre la VM
Una vez que se haya iniciado 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 comentarios después de la sesión y lo resolveremos rápidamente para usted.
Importar bibliotecas
Primero, necesitamos importar las bibliotecas necesarias. En este laboratorio, usaremos NumPy y Matplotlib.
import matplotlib.pyplot as plt
import numpy as np
Generar datos aleatorios
A continuación, generaremos dos arrays de datos aleatorios utilizando NumPy. Utilizaremos estos arrays para demostrar la correlación cruzada y la autocorrelación.
np.random.seed(19680801)
x, y = np.random.randn(2, 100)
Graficar la correlación cruzada
Ahora graficaremos la correlación cruzada entre los dos arrays utilizando la función xcorr en Matplotlib.
fig, ax = plt.subplots()
ax.xcorr(x, y, usevlines=True, maxlags=50, normed=True, lw=2)
ax.grid(True)
plt.show()
La función xcorr toma los siguientes parámetros:
x: el primer array de datosy: el segundo array de datosusevlines: booleano, indica si se deben graficar líneas verticales desde 0 hasta el valor de correlaciónmaxlags: entero, el número máximo de retrasos para calcular la correlaciónnormed: booleano, indica si se deben normalizar los valores de correlaciónlw: entero, el ancho de línea para la gráfica
Graficar la autocorrelación
Ahora graficaremos la autocorrelación del array x utilizando la función acorr en Matplotlib.
fig, ax = plt.subplots()
ax.acorr(x, usevlines=True, normed=True, maxlags=50, lw=2)
ax.grid(True)
plt.show()
La función acorr toma los siguientes parámetros:
x: el array de datos para calcular la autocorrelaciónusevlines: booleano, indica si se deben graficar líneas verticales desde 0 hasta el valor de correlaciónnormed: booleano, indica si se deben normalizar los valores de correlaciónmaxlags: entero, el número máximo de retrasos para calcular la correlaciónlw: entero, el ancho de línea para la gráfica
Resumen
En este laboratorio, aprendimos cómo utilizar gráficos de correlación cruzada y autocorrelación en Python Matplotlib. Primero importamos las bibliotecas necesarias, luego generamos datos aleatorios utilizando NumPy. Luego graficamos la correlación cruzada y la autocorrelación de los datos utilizando las funciones xcorr y acorr en Matplotlib. Estas herramientas son útiles para medir la similitud entre dos señales y se utilizan comúnmente en el procesamiento de señales, análisis de imágenes y análisis de series de tiempo.