fathon
is a python package for DFA (Detrended Fluctuation Analysis) and related algorithms.
It is mostly written in Cython and C in order to speed up computations.
fathon
provides five main algorithms, namely
DFA
(Detrended Fluctuation Analysis)MFDFA
(Multifractal Detrended Fluctuation Analysis)DCCA
(Detrended Cross-Correlation Analysis)MFDCCA
(Multifractal Detrended Cross-Correlation Analysis)HT
(Time-dependent Hurst exponent)
MFDFA
and MFDCCA
also provides methods for the mass exponent τ and the multifractal spectrum f(α).
DCCA
has methods to compute the cross-correlation coefficient ρ_DCCA and the corresponding confidence intervals.
Linux x86_64 | Linux ARM64 | macOS x86_64 | macOS ARM64 | Windows 64bit |
---|---|---|---|---|
✅ | ✅ | ✅ | ❌ | ✅ |
- Python 3.8 or higher
- numpy (version >= 1.24.4 for Python < 3.12, version >= 1.26.2 for Python >= 3.12)
As easy as pip install fathon
A jupyter notebook can be used (fathon_example.ipynb
) to play with the five algorithms provided by the fathon
package.
If you cannot use the notebook, five Python scripts are provided, dfa.py
, mfdfa.py
, dcca.py
, mfdcca.py
, and ht.py
.
Algorithms are implemented on two time series of gaussian white noise, but you can replace them with any time series you like.
To report bugs or improvements, or for any other question, please see CONTRIBUTING.md.
If you are using fathon
in your research, please cite:
Bianchi, S., (2020). fathon: A Python package for a fast computation of detrendend fluctuation analysis and related algorithms. Journal of Open Source Software, 5(45), 1828, https://doi.org/10.21105/joss.01828
- fix divergent results when
q
approaches 0 (affects MFDFA-like algorithms)
- unbiased version of DFA, as described here
- faster algorithms
MFDCCA
algorithmoverlap
option forDCCA
, to allow using both overlapping and non-overlapping windows- OpenMP also for Windows
- few adjustments to C extensions for Windows' C compiler compatibility
- save object state to binary file and reload it later
- wheels! 🎡🎡
- no more pre-installing step of the GSL library 🎉🎉
- window's sizes array must be now passed to all the methods
logBase
option for methods that perform fitsverbose
option- pre-computed
hq0
can be now passed to thecomputeHT
method
- first release
- Stefano Bianchi
- github - stfbnc
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
This code uses GSL which is licensed under the GNU General Public License v3.0, and can be obtained at https://www.gnu.org/software/gsl/.