Đối với một chuỗi thời gian nhất định có độ dài n thời gian, chúng ta có thể sử dụng Biến đổi Wavelet rời rạc (sử dụng sóng con 'Haar'), sau đó chúng ta nhận được (ví dụ: trong 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])
trong đó ca và cd là xấp xỉ và hệ số chi tiết. Bây giờ nếu tôi sử dụng tất cả chúng, tôi có thể xây dựng chuỗi thời gian ban đầu của mình bằng cách sử dụng DWT nghịch đảo. Nhưng thay vào đó, tôi muốn sử dụng một hệ số ít hơn (như trong Biến đổi Fourier nếu chúng ta chỉ sử dụng một vài hệ số đầu tiên, chúng ta có thể xây dựng lại chuỗi thời gian ban đầu). Nếu tôi chỉ sử dụng ca
hoặc chỉ sử dụng, cd
tôi không nhận được kết quả mong muốn. Nếu tôi chỉ sử dụng các hệ số của chúng tôi từ mỗi trong số chúng (như 4 đầu tiên), tôi chỉ nhận được một nửa chuỗi thời gian.
Tôi nên chọn các hệ số (từ ca
và cd
) như thế nào để tôi có thể tạo ra tín hiệu gốc từ chúng (nghĩa là phần lớn năng lượng của nó)?