„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie können Kurven beim Umgang mit verrauschten Datensätzen effektiv geglättet werden?

Wie können Kurven beim Umgang mit verrauschten Datensätzen effektiv geglättet werden?

Veröffentlicht am 01.11.2024
Durchsuche:828

How to Effectively Smooth Curves when Dealing with Noisy Datasets?

Glätten von Kurven mit Datensatzrauschen: Ein praktischer Leitfaden

Das Glätten von Kurven für verrauschte Datensätze ist eine häufige Herausforderung bei der Datenanalyse. Um dieses Problem zu beheben, betrachten Sie einen Datensatz mit einer 20-prozentigen Variation aufgrund von Rauschen:

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

Für diese Situation ist der Savitzky-Golay-Filter eine effektive Wahl. Dieser Filter funktioniert, indem er ein Polynom an ein Fenster mit Datenpunkten anpasst und das Polynom verwendet, um den Wert in der Mitte des Fensters zu schätzen. Das Fenster wird dann entlang der Daten verschoben und der Vorgang wiederholt sich, was zu einer geglätteten Kurve führt.

So implementieren Sie den Savitzky-Golay-Filter in Python:

  1. Importieren Sie das Notwendige Bibliotheken:
import numpy as np
import matplotlib.pyplot as plt
  1. Führen Sie den Savitzky-Golay-Filter für die Daten aus:
yhat = savgol_filter(y, 51, 3) # window size 51, polynomial order 3
  1. Visualisieren Sie die Originaldaten und die geglättete Kurve:
plt.plot(x, y)
plt.plot(x, yhat, color='red')
plt.show()

Die resultierende Kurve wird glatter als das Original sein, während das zugrunde liegende Signal erhalten bleibt.

Hinweis: Wenn Sie nicht über die Funktion savgol_filter verfügen verfügbar ist, können Sie es mit dem folgenden Befehl installieren:

pip install scipy
Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729410977 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3