"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo suavizar curvas de forma eficaz cuando se trabaja con conjuntos de datos ruidosos?

¿Cómo suavizar curvas de forma eficaz cuando se trabaja con conjuntos de datos ruidosos?

Publicado el 2024-11-01
Navegar:792

How to Effectively Smooth Curves when Dealing with Noisy Datasets?

Suavizar curvas con ruido de conjuntos de datos: una guía práctica

Suavizar curvas para conjuntos de datos ruidosos es un desafío común en el análisis de datos. Para solucionar esto, considere un conjunto de datos con una variación del 20 % debido al ruido:

import numpy as np
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)   np.random.random(100) * 0.2

Para esta situación, el filtro Savitzky-Golay es una opción eficaz. Este filtro funciona ajustando un polinomio a una ventana de puntos de datos y usando el polinomio para estimar el valor en el centro de la ventana. Luego, la ventana se desplaza a lo largo de los datos y el proceso se repite, lo que da como resultado una curva suavizada.

A continuación se explica cómo implementar el filtro Savitzky-Golay en Python:

  1. Importe lo necesario bibliotecas:
import numpy as np
import matplotlib.pyplot as plt
  1. Ejecute el filtro Savitzky-Golay en los datos:
yhat = savgol_filter(y, 51, 3) # window size 51, polynomial order 3
  1. Visualice los datos originales y la curva suavizada:
plt.plot(x, y)
plt.plot(x, yhat, color='red')
plt.show()

La curva resultante será más suave que la original y al mismo tiempo conservará la señal subyacente.

Nota: Si no tiene la función savgol_filter disponible, puede instalarlo usando el siguiente comando:

pip install scipy
Declaración de liberación Este artículo se reimprime en: 1729410977 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3