wprec
- hana_ml.algorithms.pal.tsa.wavelet.wprec(dwt, wavelet=None, boundary=None)
Python wrapper for PAL multi-level inverse discrete wavelet transform.
- Parameters
- dwtDWT
A DWT object containing wavelet packet coefficients as well as other related information to apply the inverse transformation(i.e. reconstruction).
- waveletstr, optional
Specifies the wavelet filter used for discrete wavelet transform. Valid options include:
Daubechies family : 'db1' ~ 'db20'
Biorthogonal family: 'bior1.1', 'bior1.3', 'bior1.5', 'bior2.2', 'bior2.4', 'bior2.6', 'bior2.8', 'bior3.1', 'bior3.3', 'bior3.5', 'bior3.7', 'bior3.9', 'bior4.4', 'bior5.5', 'bior6.8'
Reverse Biorthogonal family : 'rbio1.1', 'rbio1.3', 'rbio1.5', 'rbio2.2', 'rbio2.4', 'rbio2.6', 'rbio2.8', 'rbio3.1', 'rbio3.3', 'rbio3.5', 'rbio3.7', 'rbio3.9', 'rbio4.4', 'rbio5.5', 'rbio6.8'
Coifman family: 'coif1' ~ 'coif5'
Symmetric family: 'sym2' ~ 'sym20'
If not specified, the value in dwt.wavelet will be used.
- boundarystr, optional
Specifies the padding method for boundary values. Valid options include:
'zero' : Zero padding
'symmetric' : Symmetric padding
'periodic' : Periodic padding
'reflect' : Reflect padding
'smooth' : Smooth padding
'constant' : Constant padding
If not specified, the value in dwt.boundary will be used.
- Returns
- DataFrame
The reconstructed time-series data from inverse wavelet packet transform, structured as follows:
1st column : ID, type INTEGER, which reflects the order of time-series.
2nd column : VALUE, type DOUBLE, the reconstructed time-series data(signal) from wavelet decomposition coefficients.
Examples
Assume dwt is a DTW object with the following attributes:
>>> dwt.coeff_.collect() NODE ID COEFFICIENTS 0 0 0 451.442328 1 0 1 405.506091 2 0 2 350.691644 3 0 3 412.118406 4 0 4 362.046517 5 1 0 35.520329 6 1 1 -53.885358 7 1 2 71.258862 8 1 3 78.767514 9 1 4 -70.401833 10 3 0 28.554022 11 3 1 -11.228318 12 3 2 -57.112074 13 3 3 -16.468003 14 3 4 -19.933824 15 2 0 87.523979 16 2 1 59.195043 17 2 2 16.514617 18 2 3 131.581926 19 2 4 -27.289140 >>> dwt.stats_.collect() NAME VAL 0 LEVEL_COEFF_SIZE {"coeffSize":[14,8,5]} >>> dwt.packet True
The original time-series data then can be reconstructed as follows:
>>> rec = wprec(dwt) >>> rec.collect() ID VALUE 0 0 266.0 1 1 145.9 2 2 181.3 3 3 119.3 4 4 180.3 5 5 168.5 6 6 231.8 7 7 224.5 8 8 192.8 9 9 122.9 10 10 336.5 11 11 185.9 12 12 194.3 13 13 149.5