27  Trendglättung – Rauschen reduzieren

Verrauschte Daten? Ein gleitender Mittelwert glättet Kurven:

data = np.genfromtxt("trenddaten_mit_rauschen.csv", delimiter=",", skip_header=1)
x = data[:, 0]
y = data[:, 1]

window = 5
weights = np.ones(window) / window
y_smooth = np.convolve(y, weights, mode='valid')

plt.plot(x, y, label="Original", alpha=0.5)
plt.plot(x[(window-1)//2:-(window//2)], y_smooth, label="Geglättet", color='red')
plt.legend()
plt.grid(True)
plt.title("Trendglättung")
plt.show()