pyhctsa.operations.scaling.mma

pyhctsa.operations.scaling.mma(y, do_overlap=False, scale_range=None, q_range=None)

Scale-dependent estimates of multifractal scaling in a time series.

Physionet implementation of multiscale multifractal analysis (MMA). Method was first proposed in [1]. Original author is Jan Gieraltowski (Warsaw University of Technology, Faculty of Physics).

Derived from PhysioNet’s MMA.m, Copyright (C) 2014 Jan Gierałtowski (GNU GPL, version 2 or later), via hctsa’s SC_MMA (modified by B. D. Fulcher, 2015). The Hurst-exponent computation is in pyhctsa.toolboxes.physionet.mma.mma_hurst(); this function summarizes it.

A segment that the quadratic detrending fits exactly (to within rounding: residual variance at most 1e-20 of its mean square, e.g. a run of constant values) has no fluctuation: its q-th moment is infinite for q < 0 (and the q = 0 geometric mean, for which q = 1e-4 stands in, is zero), so it is left out of the average there; it contributes 0 for q > 0. The output is NaN if no segment fluctuates at some scale.

References

Parameters:
y : array_like

Input time series (a 1-D vector).

do_overlap : bool, optional

False (default): partition into non-overlapping windows of analysis. True: overlapping windows with a step of 1 (much longer calculations).

scale_range : sequence of 2 numbers, optional

[min_scale, max_scale]. Defaults to [10, max(100, round(N/40))] (the floor of 100 keeps short series, N below ~4000, computable). max_scale must be a multiple of 5 and is rounded to one if it is not. Returns NaN if max_scale exceeds N.

q_range : sequence of 2 numbers, optional

[q_min, q_max] multifractal parameter range. Defaults to [-5, 5].

Returns:

Summary statistics.

Return type:

dict