DCCA

class fathon.DCCA(tsVec1=[], tsVec2=[])

Bases: object

Detrended Cross-Correlation Analysis class.

Parameters:
n : numpy ndarray

Array of window’s sizes used for the computation.

tsVec1 : iterable

First time series used for the analysis.

tsVec2 : iterable

Second time series used for the analysis.

F : numpy ndarray

Array containing the values of the fluctuations in each window.

nRho : numpy ndarray

Array of window’s sizes used for the computation of rho.

rho : numpy ndarray

Array containing the cross-correlation index in each window.

nThr : numpy ndarray

Array of window’s sizes used for the computation of rho thresholds.

confUp : numpy ndarray

Array containing the first confidence interval in each window.

confDown : numpy ndarray

Array containing the second confidence interval in each window.

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, polOrd=1, absVals=True, overlap=False, revSeg=False)

Computation of the fluctuations in each window.

Parameters:
winSizes : numpy ndarray

Array of window’s sizes.

polOrd : int, optional

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

absVals : bool, optional

If True, the computation of F is performed using the abolute values of the fluctuations of both tsVec1 and tsVec2 (default : True).

overlap : bool, optional

If True, computes F using overlapping segments (default : False).

revSeg : bool, optional

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

Returns:
numpy ndarray

Array n of window’s sizes.

numpy ndarray

Array F containing the values of the fluctuations in each window.

computeRho(winSizes, polOrd=1, verbose=False, overlap=False, revSeg=False)

Computation of the cross-correlation index in each window.

Parameters:
winSizes : numpy ndarray

Array of window’s sizes.

polOrd : int, optional

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

verbose : bool, optional

Verbosity (default : False).

overlap : bool, optional

If True, computes F using overlapping segments (default : False).

revSeg : bool, optional

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

Returns:
numpy ndarray

Array of window’s sizes.

numpy ndarray

Array containing the cross-correlation index.

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 (default : first value of n).

nEnd : int, optional

Size of the bigger window used to fit F (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:
float

Slope of the fit.

float

Intercept of the fit.

multiFitFlucVec(limitsList, logBase=2.718281828459045, verbose=False)

Fit of the fluctuations values in different intervals at the same time.

Parameters:
limitsList : numpy ndarray

kx2 array with the sizes of k starting and ending windows used to fit F.

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

Slopes of the fits.

numpy ndarray

Intercepts of the fits.

rhoThresholds(L, winSizes, nSim, confLvl, polOrd=1, verbose=False)

Computation of the cross-correlation index’s confidence levels in each window.

Parameters:
L : int

Size of the random time series used to evaluate confidence levels.

winSizes : numpy ndarray

Array of window’s sizes.

nSim : int

Number of times the cross-correlation index between two random time series is computed in order to evaluate the confidence levels.

confLvl : float

Confidence level.

polOrd : int, optional

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

verbose : bool, optional

Verbosity (default : False).

Returns:
numpy ndarray

Array of window’s sizes.

numpy ndarray

Array containing the first confidence interval.

numpy ndarray

Array containing the second confidence interval.

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)
b = np.random.randn(10000)

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

#initialize non-empty dcca object
pydcca = fathon.DCCA(a, b)
#compute fluctuation function and Hurst exponent
wins = fu.linRangeByStep(20, 1000, step=50)
n, F = pydcca.computeFlucVec(wins, polOrd=1)
H, H_intercept = pydcca.fitFlucVec()

#compute Hurst exponent in different ranges
limits_list = np.array([[20,120], [220,870]], dtype=int)
list_H, list_H_intercept = pydcca.multiFitFlucVec(limits_list)

#compute rho index
wins = fu.linRangeByStep(20, 100, step=50)
n, rho = pydcca.computeRho(wins, polOrd=1)

#initialize empty dcca object
pythresh = fathon.DCCA()
#compute confidence levels
wins = fu.linRangeByStep(4, 100)
n, cInt1, cInt2 = pythresh.rhoThresholds(300, wins, 100, 0.95, polOrd=1)