"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment lisser efficacement les courbes lorsque vous traitez des ensembles de données bruyants ?

Comment lisser efficacement les courbes lorsque vous traitez des ensembles de données bruyants ?

Publié le 2024-11-01
Parcourir:125

How to Effectively Smooth Curves when Dealing with Noisy Datasets?

Lissage des courbes avec le bruit des ensembles de données : un guide pratique

Le lissage des courbes pour les ensembles de données bruyants est un défi courant dans l'analyse des données. Pour résoudre ce problème, considérons un ensemble de données avec une variation de 20 % due au bruit :

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

Pour cette situation, le filtre Savitzky-Golay est un choix efficace. Ce filtre fonctionne en ajustant un polynôme à une fenêtre de points de données et en utilisant le polynôme pour estimer la valeur au centre de la fenêtre. La fenêtre est ensuite décalée le long des données et le processus se répète, ce qui donne une courbe lissée.

Voici comment implémenter le filtre Savitzky-Golay en Python :

  1. Importez les fichiers nécessaires bibliothèques : 
import numpy as np
import matplotlib.pyplot as plt
  1. Exécutez le filtre Savitzky-Golay sur les données :
yhat = savgol_filter(y, 51, 3) # window size 51, polynomial order 3
  1. Visualisez les données d'origine et la courbe lissée :
plt.plot(x, y)
plt.plot(x, yhat, color='red')
plt.show()

La courbe résultante sera plus lisse que l'originale tout en préservant le signal sous-jacent.

Remarque : Si vous n'avez pas la fonction savgol_filter disponible, vous pouvez l'installer à l'aide de la commande suivante :

pip install scipy
Déclaration de sortie Cet article est réimprimé à l'adresse : 1729410977. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3