Skip to main content

Multi-Fractal Detrended Fluctuation Analysis (MFDFA)

Project description

Fractality and Long-Range Correlations

Fractality is a characteristic of a complex system in which self-similarity at different scales can be found. Fractality quantifies dynamically fluctuating variability of systems through multi-scale analyses and provides insights into underlying structures of objects under study. Probably the most widely used methods to analyze fractality and long-range correlations are Detrended Fluctuation Analysis (DFA; Peng et al., 1994) and Multi-Fractal Detrended Fluctuation Analysis (MFDFA; Kantelhardt et al., 2002), which is an extension of DFA. For further explanation, please refer to this medium post or this Github page.

This library implement MFDFA and provides also funtions for represent of results.

Installation

You can install mfdfa-toolkit using pip:

pip install mfdfa-toolkit

or from the Github repository:

pip install git+https://github.com/mohsenim/Multifractality.git

Using mfdfa-toolkit

To apply MFDFA to a series:

from mfdfa_toolkit import MFDFA
import numpy as np

x = np.loadtxt('./examples/Henry-James_The-Golden-Bowl.txt')
result = MFDFA(x)
print(f"Degree of fractality: {result['H']:.2f}")
print(f"Degree of multifractality: {result['multifractality']:.2f}")
print(f"Goodness of fit(R2):{result['R2'].mean():.2f}")

Fluctuations, $F_q(s)$, can be visualized using visualization:

from mfdfa_toolkit import visualization
import matplotlib.pyplot as plt

fig, ax = plt.subplots(1)
visualization.plot_fluctuations(result, ax)

visualization_fluctuations

Similarly, the singularity spectrum can be visualized:

from mfdfa_toolkit import visualization
import matplotlib.pyplot as plt

fig, ax = plt.subplots(1)
visualization.plot_fluctuations(result, ax)

visualization_singularity

You can view MFDFA.ipynb for running the code step by step and seeing examples.

References

  • Peng, C.-K., S. V. Buldyrev, S. Havlin, M. Simons, H. E. Stanley, and A. L. Goldberger (1994). “Mosaic organization of DNA nucleotides”. In: Physical Review E 49.2, pp. 1685–1689.
  • Kantelhardt, JanW., Stephan A. Zschiegner, Eva Koscielny-Bunde, Shlomo Havlin, Armin Bunde, and H.Eugene Stanley (2002). “Multifractal detrended fluctuation analysis of nonstationary time series”. In: Physica A: Statistical Mechanics and Its Applications 316.1, pp. 87–114.
  • Mohseni, Mahdi,Volker Gast, and ChristophRedies (2021). “Fractality andVariability in Canonical and Non-Canonical English Fiction and in Non-Fictional Texts”. In: Frontiers in Psychology 12, p. 920.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mfdfa_toolkit-0.0.4.tar.gz (17.3 kB view details)

Uploaded Source

File details

Details for the file mfdfa_toolkit-0.0.4.tar.gz.

File metadata

  • Download URL: mfdfa_toolkit-0.0.4.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.4

File hashes

Hashes for mfdfa_toolkit-0.0.4.tar.gz
Algorithm Hash digest
SHA256 0191c3cd4112a4b4f92c2f3edf6f4b8c584c780d2f50c916d54f9287f6b0c05e
MD5 61aa27d114a0e423c4e03603f5c0bbf4
BLAKE2b-256 076122ec343cb7dfe3f6fb5cf00657746d9d341674bc5f2c0b2519a511af58f2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page