LMSE - Matlab Tool for the computation of
Linear Multiscale Entropy


The most common approach to assess the dynamical complexity of a time series across multiple temporal scales makes use of the multiscale entropy (MSE) and refined MSE (RMSE) measures. In spite of their popularity, MSE and RMSE lack of an analytical framework allowing their calculation for known dynamic processes, and cannot be reliably computed over short time series.

To overcome these limitations, we propose a method to assess RMSE for autoregressive (AR) stochastic processes. The method makes use of linear state space (SS) models to provide the multiscale parametric representation of an AR process observed at different time scales, and exploits the SS parameters to quantify analytically the complexity of the process.

The resulting linear MSE (LMSE) measure is here tested in simulations, both theoretically to relate the multiscale complexity of AR processes to their dynamical properties, and over short process realizations to demonstrate its higher computational reliability when compared to RMSE. Moreover, it is applied to representative time series of heart period, arterial pressure and respiration measured for a healthy subjects monitored in the resting condition.

The LMSE Matlab toolbox reproduces algorithms, simulations and real data analysis reported in [1].


LMSEvsRMSE


References:

[1] L Faes, A Porta, M Javorka, G Nollo, 'Efficient computation of multiscale entropy over short biomedical time series based on linear state-space models', Complexity, 2017; 2017:1768264 (13 pages). DOI: 10.1155/2017/1768264

DOWNLOAD:


Zip file with all scripts and functions: LMSE.zip

The code is provided free of charge. It is neither exhaustively tested nor particularly well documented. The authors accept no liability for its use. Use, modification and redistribution of the code is allowed in any way users see fit. Authors ask only that authorship is acknowledged and ref. [1] is cited upon utilization of the code in integral or partial form.

DISCLAIMER OF WARRANTIES AND LIMITATION OF LIABILITY The code is supplied as is and all use is at your own risk. The authors disclaim all warranties of any kind, either express or implied, as to the softwares, including, but not limited to, implied warranties of fitness for a particular purpose, merchantability or non - infringement of proprietary rights. Neither this agreement nor any documentation furnished under it is intended to express or imply any warranty that the operation of the software will be error - free. Under no circumstances shall the authors of the softwares provided here be liable to any user for direct, indirect, incidental, consequential, special, or exemplary damages, arising from the software, or user' s use or misuse of the softwares. Such limitation of liability shall apply whether the damages arise from the use or misuse of the data provided or errors of the software.

To get started, we recommend that you run and work through the demonstration scripts.

Main functions
--------------------
- ar2mse.m: computes LMSE at a given scale (s/tau) from assigned AR parameters
- iss_PV: computes partial variances for a state space model from innovations form SS parameters
- ss2iss.m: computes innovations form SS parameters from SS parameters
- varma2iss.m: computes innovations form SS parameters from VARMA parameters
- iss_ds.m: computes innovations form SS parameters for a downsampled SS model

External functions
--------------------
- its_CEker (SetLag, buildvectors): functions from ITS toolbox to compute kernel-based conditional entropy (Sample Entropy)
- idMVAR.m (choldiag, InstModelFilter, mos_idMVAR, MVARfilter): functions to identify and simulate a MVAR process

Scripts
--------------------
- testMSE_exact.m: computation of exact LMSE from true parameters of simulated AR process (realizes Fig. 1 of [1])
- testMSE_estimate.m: computation of LMSE and RMSE on multiple realizations of simulated AR process (realizes Fig. 2 of [1])
- testMSE_cardiovascular.m: computation of LMSE and RMSE on exemplary cardiovascular time series

Data
--------------------
- example.txt: example of cardiovascular time series analyzed in [1] (systolic arterial pressure, diastolic arterial pressure, RR intervals, respiration time series for a subject in the resting supine condition)

NOTE: the iss_ds and ss2iss functions are taken from the State-Space Granger Causality Matlab Toolbox  - http://users.sussex.ac.uk/~lionelb/downloads/ssgc.zip