Skip to content

vskaush2/cyclicityanalysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cyclicity Analysis of Time-Series

This repository contains a working implementation of Cyclicity Analysis, which is a pattern recognition technique for analyzing the leader follower dynamics of multiple time-series.

Full documentation and an example Jupyter notebook are available in the GitHub repository.

Requirements

Download Python >=3.10

Installation

pip3 install cyclicityanalysis

Usage

from cyclicityanalysis.orientedarea import *
from cyclicityanalysis.coom import *

df = pd.DataFrame([[0, 1], [1, 0], [0, 0]], columns=['0', '1'])


oa = OrientedArea(df)
# Returns the lead lag matrix of df as a dataframe
lead_lag_df = oa.compute_lead_lag_df()

coom = COOM(lead_lag_df)

# Returns leading eigenvector of the lead lag matrix as an array, the leading eigenvector component phases as an array,
# and sequential order of the lead lag matrix according to COOM as a dictionary 
leading_eigenvector, leading_eigenvector_component_phases, sequential_order_dict = coom.compute_sequential_order(0)
lead_lag_df , leading_eigenvector, leading_eigenvector_component_phases, sequential_order_dict

References

  • Cyclicity in Multivariate Time-series and Applications to Functional MRI data : paper
  • Dissociating Tinnitus Patients from Healthy Controls using Resting-state Cyclicity Analysis and Clustering : paper
  • Slow Cortical Waves through Cyclicity Analysis : paper
  • Comparing Cyclicity Analysis With Pre-established Functional Connectivity Methods to Identify Individuals and Subject Groups Using Resting State fMRI : paper