Potsdam Institute for Climate Impact Research (PIK)
Interdisciplinary Center for Dynamics of Complex Systems (University of Potsdam)
Cardiovascular Physics Group (Humboldt-Universität zu Berlin)
PIK Logo
TOCSY - Toolboxes for Complex Systems
PIK/ Antique/ Blue
Home Home
 ACE
 Adaptive Filtering
 Approx. RQA
 CoinCalc
 Commandline RPs
 COPRA
 Coupling Analysis
 CRP Toolbox
 DSProlog
 Coupling Direction
 IOTA
 K2
 Makeinstall
 NEST
 PECUZAL
 PETROPY
 pyUnicorn
 RECFLOW
 RECGRAM
 RECLAC
 RP
 rqaci
 RSA
 System Identification
 TIGRAMITE
 SOWAS

IOTA – Inner Composition Alignment

R

General Notes

Inner composition alignment (IOTA) is a permutation-based association measure to detect regulatory links from very short time series. One time series is reodered with regards to the rank order of a second one and it monotonicity is evaluated.


Installation and Usage

To install, copy the zip-file into your path and extract all *.R and *.c files.

IOTA.R can be used without any further compilation. It allows to calculate pairwise IOTA with different weighting functions, time reversal or as a signed version (cf. example below).

To have a significance test and the estimation of partial IOTA being included, compile the *.c files calling R CMD SHLIB *.c instead of the standard C compiler. The dynamic libraries called by iota_subroutines.R will be generated in that way.

Note: (1) This has been tested only on a Linux machine. (2) The program iota_subroutines.R is not running stable for large input at the moment.


Example

# load or simulate time series as an array of size m*n, with m number of variables 
# and n number of time points
TS0 <- matrix(runif(70,0,1),7,10)

# normalize time series
# to estimate the weighted IOTA the time series must have values between zero and one
# depending on the time series different normalization must be used
TimeSeries <- (TS0-apply(TS0,1,min,na.rm=TRUE))/apply((TS0-apply(TS0,1,min,na.rm=TRUE)),1,max,na.rm=TRUE)

###################################################################
###################################################################

# load subroutines 
source('IOTA.R')

# calculates pairwise IOTA as described in Hempel et al., PRL (2011) [1]
# possible options for method (weighting functions) 
# 'both' (default): uniform and squared sloped 
# 'slope': slope 
# 'sqrt': squared slope 
# 'am': arithmetric mean
# 'gm': geometric mean
# 'hm': harmonic mean 
I <- IOTA(TimeSeries,method='sqrt')

# calculates pairwise IOTA based on reversed ordering as described in 
# Hempel et al., EPJB (2013) [2]
# options are the same as for IOTA
Ir <- IOTA_reverse(TimeSeries,method='sqrt')

# calculates signed version of pairwise IOTA to indicate up-/downregulation as described 
# in Hempel et al., EPJB (2013) [2]
# option 'both' does not work in this case
Is <- IOTAsigned(TimeSeries,method='sqrt')

###################################################################
###################################################################

# to run C subroutines files must be compiled to get a dynamic library using  "R CMD SHLIB *.c"

source('iota_subroutines.R')

# number of realizations for significance test
rmax <- 1000
# significance level
alpha <- 0.99
# weighting: uniform (1) or squared slope (2)
w <- 2

# calculated pairwise and partial IOTA and performs a simple permutation-based significance 
# test, only most likely connections are selected while the remaining matix entries are set 
# to zero
I <- IOTA(TimeSeries,rmax,alpha,w)

References

  1. Hempel, S., Koseska, A., Kurths, J., Nikoloski, Z.: Inner Composition Alignment for Inferring Directed Networks from Short Time Series, Phys. Rev. Lett., 107(5), 054101, 2011, doi:10.1103/PhysRevLett.107.054101

  2. Hempel, S., Koseska, A., Nikoloski, Z.: Data-driven reconstruction of directed networks, Europ. Phys. J. B, 86, 250, 2013, doi:10.1140/epjb/e2013-31111-8


Download

IOTA.zip


Author

Sabrina Hempel


© 2004-2026 SOME RIGHTS RESERVED
University of Potsdam, Interdisciplinary Center for Dynamics of Complex Systems, Germany
Potsdam Institute for Climate Impact Research, Complexity Science, Germany

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Germany License.
Imprint, Data policy, Disclaimer, Accessibility statement

Please respect the copyrights! The content is protected by the Creative Commons License. If you use the provided programmes, text or figures, you have to refer to the given publications and this web site (tocsy.pik-potsdam.de) as well.

@MEMBER OF PROJECT HONEY POT
Spam Harvester Protection Network
provided by Unspam