Python package to perform feature engineering using wavelet transforms, geared towards those who work with tabular data and machine learning models to forecast time series.
Project description
pywddff
Python package to perform feature engineering using wavelet transforms, geared towards those who work with tabular data and machine learning models to forecast time series.
Documentation
You can find the documentation for pywddff
including API references here.
About the name
pywddff
stands for "Python Wavelet Data Driven Forecasting Framework". WDDFF is an approach to combining wavelet transform generated features and machine learning for forecasting time series. The WDDFF paper can be found here.
Installation
This package is not yet listed on the Python Package Index (PyPI). You can use poetry install
to install pywddff
by first cloning this repository and then running poetry install
from the root directory. Please note that you must have poetry
already installed and available from your terminal. See here for instructions on installing poetry
on your system.
$ git clone https://github.com/johnswyou/pywddff.git
$ cd pywddff
$ poetry install
Update (June 6, 2023): You can now pip install
$ pip install pywddff
Available wavelet/scaling filters
pywddff
gives access to 128 (decomposition level 1) wavelet (high pass) and scaling (low pass) filters.
The following are short names for the available filters:
['bl7', 'bl9', 'bl10',
'beyl',
'coif1', 'coif2', 'coif3', 'coif4', 'coif5',
'db1', 'db2', 'db3', 'db4', 'db5', 'db6', 'db7', 'db8', 'db9', 'db10', 'db11', 'db12',
'db13', 'db14', 'db15', 'db16', 'db17', 'db18', 'db19', 'db20', 'db21', 'db22', 'db23',
'db24', 'db25', 'db26', 'db27', 'db28', 'db29', 'db30', 'db31', 'db32', 'db33',
'db34', 'db35', 'db36', 'db37', 'db38', 'db39', 'db40', 'db41', 'db42', 'db43', 'db44', 'db45',
'fk4', 'fk6', 'fk8', 'fk14', 'fk18', 'fk22',
'han2_3', 'han3_3', 'han4_5', 'han5_5',
'dmey',
'mb4_2', 'mb8_2', 'mb8_3', 'mb8_4', 'mb10_3', 'mb12_3', 'mb14_3', 'mb16_3', 'mb18_3', 'mb24_3', 'mb32_3',
'sym2', 'sym3', 'sym4', 'sym5', 'sym6', 'sym7', 'sym8', 'sym9', 'sym10', 'sym11', 'sym12', 'sym13', 'sym14',
'sym15', 'sym16', 'sym17', 'sym18', 'sym19', 'sym20', 'sym21', 'sym22', 'sym23', 'sym24', 'sym25', 'sym26', 'sym27',
'sym28', 'sym29', 'sym30', 'sym31', 'sym32', 'sym33', 'sym34', 'sym35', 'sym36', 'sym37', 'sym38', 'sym39', 'sym40',
'sym41', 'sym42', 'sym43', 'sym44', 'sym45',
'vaid',
'la8', 'la10', 'la12', 'la14', 'la16', 'la18', 'la20']
where
bl
corresponds to "Best-localized Daubechies"beyl
corresponds to "Beylkin"coif
corresponds to "Coiflets"db
corresponds to "Daubechies"fk
corresponds to "Fejér-Korovkin"han
corresponds to "Han linear-phase moments"dmey
corresponds to "Discrete Meyer"mb
corresponds to "Morris minimum-bandwidth"sym
corresponds to "Symlets"vaid
corresponds to "Vaidyanathan"la
corresponds to "Least asymmetric"
NOTE: The db1
is the Haar wavelet.
Source of data
The wfilters
function from MATALB R2022b's wavelet toolbox provided 121 of the 128 wavelet (scaling) filters available. The R package wavelets
provided the remaining 7 least asymmetric
wavelet (scaling) filters.
Contributing
Interested in contributing? Check out the contributing guidelines. Please note that this project is released with a Code of Conduct. By contributing to this project, you agree to abide by its terms.
License
pywddff
was created by John You. It is licensed under the terms of the MIT license.
Credits
pywddff
was created with cookiecutter
and the py-pkgs-cookiecutter
template.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.