Para uma série temporal específica com n timestamps de comprimento, podemos fazer a Transformada de Wavelet Discreta (usando wavelets 'Haar') e obter (por exemplo, em 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])
onde ca e cd são aproximações e coeficientes detalhados. Agora, se eu usar todos eles, posso construir minha série cronológica original de volta usando o DWT inverso. Mas, em vez disso, quero usar menos coeficientes (como na Transformada de Fourier, se usarmos apenas os primeiros coeficientes, podemos reconstruir aproximadamente a série temporal original). Se eu apenas usar ca
ou apenas usar cd
, não obtenho os resultados desejados. Se eu usar apenas os coeficientes de cada um deles (como os primeiros 4), recebo apenas metade da série temporal.
Como devo selecionar os coeficientes (de ca
e cd
) para que eu possa criar aproximadamente o sinal original deles (ou seja, a maior parte de sua energia)?
fonte