Es hängt davon ab, wie Sie das „Rauschen“ zu definieren und wie sie verursacht hat. Da Sie nicht viele Informationen über Ihren Fall zur Verfügung gestellt haben, werde ich Ihre Frage als "wie man die Kurve glatt machen" nehmen. Kalman-Filter kann dies tun, aber es ist zu komplex, würde ich einfach IIR-Filter
import matplotlib.pyplot as plt
mu, sigma = 0, 500
x = np.arange(1, 100, 0.1) # x axis
z = np.random.normal(mu, sigma, len(x)) # noise
y = x ** 2 + z # data
plt.plot(x, y, linewidth=2, linestyle="-", c="b") # it include some noise
Nach Filter bevorzugen
from scipy.signal import lfilter
n = 15 # the larger n is, the smoother curve will be
b = [1.0/n] * n
a = 1
yy = lfilter(b,a,y)
plt.plot(x, yy, linewidth=2, linestyle="-", c="b") # smooth by filter
lfilter
ist eine Funktion von scipy.signal .
Übrigens, wenn Sie Kalman Filter zum Glätten verwenden möchten, bietet scipy auch eine example. Kalman-Filter sollte auch in diesem Fall funktionieren, nur nicht so notwendig.
Der IIR Filter hat das Rauschen reduziert.Vielen Dank dafür und die Verbindung zum Kalman Filter. – PiccolMan