MFDFA

class fathon.MFDFA(tsVec)

Bases: object

MultiFractal Detrended Fluctuation Analysis class.

Parameters:
n : numpy ndarray

Array of window’s sizes used for the computation.

tsVec : iterable

Time series used for the analysis.

F : numpy ndarray

Array containing the values of the fluctuations in each window.

listH : numpy ndarray

Array containing the values of the slope of the fit at each q-order.

qList : numpy ndarray

Array containing the values of the q-orders.

isComputed : bool

Boolean value to know if F has been computed in order to prevent the computation of other functions that need F.

computeFlucVec(winSizes, qList, polOrd=1, revSeg=False)

Computation of the fluctuations in each window for each q-order.

Parameters:
winSizes : numpy ndarray

Array of window’s sizes.

qList : float or iterable or numpy ndarray

List of q-orders used to compute F.

polOrd : int, optional

Order of the polynomial to be fitted in each window (default : 1).

revSeg : bool, optional

If True, the computation of F is repeated starting from the end of the time series (default : False).

Returns:
numpy ndarray

Array n of window’s sizes.

numpy ndarray

qxn array F containing the values of the fluctuations in each window for each q-order.

computeMassExponents()

Computation of the mass exponents.

Returns:
numpy ndarray

Mass exponents.

computeMultifractalSpectrum()

Computation of the multifractal spectrum.

Returns:
numpy ndarray

Singularity strengths.

numpy ndarray

Multifractal spectrum.

fitFlucVec(nStart=-999, nEnd=-999, logBase=2.718281828459045, verbose=False)

Fit of the fluctuations values.

Parameters:
nStart : int, optional

Size of the smaller window used to fit F at each q-order (default : first value of n).

nEnd : int, optional

Size of the bigger window used to fit F at each q-order (default : last value of n).

logBase : float, optional

Base of the logarithm for the log-log fit of n vs F (default : e).

verbose : bool, optional

Verbosity (default : False).

Returns:
numpy ndarray

Slope of the fit for each q-order.

numpy ndarray

Intercept of the fit for each q-order.

saveObject(outFileName)

Save current object state to binary file.

Parameters:
outFileName : str

Output binary file. .fathon extension will be appended to the file name.

Usage examples

import numpy as np
import fathon
from fathon import fathonUtils as fu

#time series
a = np.random.randn(10000)

#zero-mean cumulative sum
a = fu.toAggregated(a)

#initialize mfdfa object
pymfdfa = fathon.MFDFA(a)
#compute fluctuation function and generalized Hurst exponents
wins = fu.linRangeByStep(10, 2000)
n, F = pymfdfa.computeFlucVec(wins, np.arange(-3, 4, 0.1), revSeg=True, polOrd=1)
list_H, list_H_intercept = pymfdfa.fitFlucVec()

#compute mass exponents
tau = pymfdfa.computeMassExponents()

#compute multifractal spectrum
alpha, mfSpect = pymfdfa.computeMultifractalSpectrum()