Für eine gegebene Zeitreihe mit einer Länge von n Zeitstempeln können wir eine diskrete Wavelet-Transformation (unter Verwendung von 'Haar'-Wavelets) durchführen und dann (zum Beispiel in Python) -
>>> import pywt
>>> ts = [2, 56, 3, 22, 3, 4, 56, 7, 8, 9, 44, 23, 1, 4, 6, 2]
>>> (ca, cd) = pywt.dwt(ts,'haar')
>>> ca
array([ 41.01219331, 17.67766953, 4.94974747, 44.54772721,
12.02081528, 47.37615434, 3.53553391, 5.65685425])
>>> cd
array([-38.18376618, -13.43502884, -0.70710678, 34.64823228,
-0.70710678, 14.8492424 , -2.12132034, 2.82842712])
wobei ca und cd Approximation und detaillierte Koeffizienten sind. Wenn ich jetzt alle verwende, kann ich meine ursprüngliche Zeitreihe mit inverser DWT zurückkonstruieren. Stattdessen möchte ich weniger Koeffizienten verwenden (wie bei der Fourier-Transformation können wir die ursprüngliche Zeitreihe ungefähr rekonstruieren, wenn wir nur die ersten Koeffizienten verwenden). Wenn ich nur ca
oder nur benutze cd
, erhalte ich nicht die gewünschten Ergebnisse. Wenn ich nur die Koeffizienten von jedem von ihnen verwende (wie die ersten 4), erhalte ich nur die Hälfte der Zeitreihen.
Wie soll ich die Koeffizienten (von ca
und cd
) auswählen, damit ich ungefähr das ursprüngliche Signal daraus erzeugen kann (dh den größten Teil seiner Energie)?
quelle