Coder Social home page Coder Social logo

pankajcivil / ordinal-patterns-based-analysis Goto Github PK

View Code? Open in Web Editor NEW

This project forked from valentinaun/ordinal-patterns-based-analysis

0.0 2.0 1.0 17.52 MB

MATLAB scripts for ordinal-patterns-based analysis and related measures (permutation entropy, robust permutation entropy, conditional entropy of ordinal patterns, ordinal distributions)

Home Page: https://de.mathworks.com/matlabcentral/fileexchange/63782-ordinal-patterns-based-analysis-beta-version

License: BSD 2-Clause "Simplified" License

MATLAB 100.00%

ordinal-patterns-based-analysis's Introduction

Ordinal-patterns-based-analysis

The OPA (ordinal-patterns-analysis) toolbox is intended for nonlinear analysis of multivariate time series with becoming more and more popular ordinal-patterns-based measures [1-5] which are efficiently computed [6,7] and visualized:

  • permutation entropy (cfg.method = 'PE') [2]
  • permutation entropy for ordinal patterns with tied ranks (cfg.method = 'eqPE') [4,8]
  • permutation entropy and ordinal patterns distributions (cfg.method = 'opdPE') [3]
  • conditional entropy of ordinal patterns (cfg.method = 'cePE') [6]
  • robust permutation entropy (cfg.method = 'rePE') [4,7]
  • new ordinal-patterns-based measures are to be added (your suggestions and feedback are welcome!)

INPUT
The interface of OPA toolbox is provided by a function outdata = OPanalysis( cfg, indata ), where

  • cfg is a configuration structure with method's parameters;
  • indata is data to be analyzed.

OUTPUT

  • outdata - computed values of ordinal-patterns-based complexity measure

CITING THE CODE

[a] Unakafova, Valentina (2017). Ordinal-patterns-based analysis (beta-version) (www.mathworks.com/matlabcentral/fileexchange/63782-ordinal-patterns-based-analysis--beta-version-), MATLAB Central File Exchange. Retrieved Month Day, Year.

[b] Unakafova, V.A., Keller, K., 2013. Efficiently measuring complexity on the basis of real-world data. Entropy, 15(10), 4392-4415.

EXAMPLE OF USE (see more examples for different methods and parameters in examples.m and OPanalysis.m help):

cfg = [];

cfg.method = 'opdPE'; % try also 'PE', 'CE', 'rePE' and 'all' here

cfg.order = 3; % for ordinal pattens of order 3 (4-points ordinal patterns)

cfg.delay = 1; % for delay 1 between points in ordinal patterns (successive points)

cfg.windowSize = 512; % for window size 512 in time points

indata = rand( 1, 7777 );

for i = 4000:7000 % change of data complexity

indata( i ) = 4indata( i - 1 )( 1 - indata( i - 1 ) );

end

outdata = OPanalysis( cfg, indata );

FOLDERS DESCRIPTION

examples.m script contains examples of using OPA toolbox for different ordinal-patterns-based measures with different parameters
The Code folder contains functions for computing the aforementioned ordinal-patterns-based measures.
The Data folder contains example epileptic EEG datasets from https://vis.caltech.edu/~rodri/data.htm
(dataset 5, 130-2_c4.asc) used for illustrating in examples.m.
The Tables folder contain precomputed tables as *.mat-files for efficient computing of ordinal-patterns-based methods.

NOTES:

Please, see www.mathworks.com/matlabcentral/fileexchange/44161-permutation-entropy--fast-algorithm- for some discussion of parameters choice. Values of ordinal-patterns-based measures are computed in maximally overlapping sliding windows in a fast way [6,7]. This is a beta-version of OPA-toolbox, new ordinal-patterns-based measures are to be added (your feedback and comments are welcome)!

REFERENCES:

[1] Amigo, J.M., Keller, K. and Unakafova, V.A., 2015. On entropy, entropy-like quantities, and applications. Discrete & Continuous Dynamical Systems-Series B, 20(10).

[2] Bandt C., Pompe B., Permutation entropy: a natural complexity measure for time series. Physical review letters, 2002, APS

[3] Keller, K., and M. Sinn. Ordinal analysis of time series. Physica A: Statistical Mechanics and its Applications 356.1 (2005): 114--120

[4] Keller, K., Unakafov, A.M. and Unakafova, V.A., 2014. Ordinal patterns, entropy, and EEG. Entropy, 16(12), pp.6212-6239.

[5] Zanin, M., Zunino, L., Rosso, O.A. and Papo, D., 2012.

Permutation entropy and its main biomedical and econophysics applications: a review. Entropy, 14(8), pp.1553-1577.
[6] Unakafova, V.A., Keller, K., 2013. Efficiently measuring complexity on the basis of real-world Data. Entropy, 15(10), 4392-4415.

[7] Unakafova, V.A., 2015. Investigating measures of complexity for dynamical systems and for time series (Doctoral dissertation, University of Luebeck).

[8] Bian, C., Qin, C., Ma, Q.D. and Shen, Q., 2012. Modified permutation-entropy analysis of heartbeat dynamics. Physical Review E, 85(2), p.021906.

[9] Amigo, J.M., Zambrano, S. and Sanjuan, M.A., 2008. Combinatorial detection of determinism in noisy time series. EPL (Europhysics Letters), 83(6), p.60005.

[10] Cao, Y., Tung, W.W., Gao, J.B. et al., 2004. Detecting dynamical changes in time series using the permutation entropy. Physical Review E, 70(4), p.046217.

[11] Riedl, M., Muller, A. and Wessel, N., 2013. Practical considerations of permutation entropy. The European Physical Journal Special Topics, 222(2), pp.249-262.

ordinal-patterns-based-analysis's People

Watchers

James Cloos avatar Pankaj Dey, Ph.D. avatar

Forkers

sandeepsony

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.