Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
CAnonical Time-series CHaracteristics for Mouse fMRI
The catchaMouse16 feature set provides a useful set of features to summarize the dynamics of fMRI time-series data, with implementations for Python, MATLAB, and C.
A specific subset of 16 features from the hctsa time-series feature library designed to distinguish changes in functional Magnetic Resonance Imaging (fMRI) time series taken from mice undergoing experimental manipulations of excitatory and inhibitory neural activity in their cortical circuits.
It is a collection of features that are generated from a general pipeline (which can be accessed here) applied to mouse fMRI time-series data taken from mice. This represents a high-performing but minimally redundant data-driven subset of the full library of hctsa features, that best discriminate biologically relevant manipulations (using the DREADD technique) from non-invasive fMRI time series.
Want to use the pipeline or the feature set? If you use catchaMouse16 in a scientific publication, please read and cite this open-access article:
Alam et al. "Canonical time-series features for characterizing biologically informative dynamical patterns in fMRI", bioRxiv (2024).
For information on the full set of over 7000 features, see the following (open) publications:
B.D. Fulcher and N.S. Jones. hctsa: A computational framework for automated time-series phenotyping using massive feature extraction. Cell Systems 5, 527 (2017).
B.D. Fulcher, M.A. Little, N.S. Jones Highly comparative time-series analysis: the empirical structure of time series and their methods. J. Roy. Soc. Interface 10, 83 (2013).
The pipeline to reproduce to create the catchaMouse16 feature set is an adaptation of the general pipeline from C.H. Lubba, S.S. Sethi, P. Knaute, S.R. Schultz, B.D. Fulcher, N.S. Jones. catch22: CAnonical Time-series CHaracteristics. Data Mining and Knowledge Discovery (2019).
For C, MATLAB, and Python, the catchaMouse16 Github repository contains source code for building native binaries that can be called from these languages. You will need to download the source code, install gsl (unix only), then follow the instructions below to build the binaries for your language.
For Julia users, these binaries have been pre-built for all platforms. You can use them by installing the CatchaMouse16.jl package.
Compile by executing the makefile inside the catchaMouse16/C
by running make
.
Compute all the time-series features for some time-series data contained in <infile>.
If an <outfile
is not provided then the output is sent to the stdout.
Access the efficient python implementation of feature-set by running the following code:
You can then test the features with
The module is also available for python2:
You can then test the features with
The features are then accessible through a module which can be imported. Namely import catchaMouse16
provides access to the features.
Open MATLAB, navigate to catchaMouse16/MATLAB/
, and run mexAll
. This brings the catchaMouse16 features into the namespace.
Individual features can be accessed as catchaMouse16_{feature}
.
Installation:
Usage:
Note: All catchaMouse16 features are statistical properties of the z-scored time series - they aim to focus on the properties of the time-ordering of the data and are insensitive to the raw values in the time series.
The table belows follows the same cypher as in the pre-print with the hctsa name and an interpretable name referred to throughout the paper with corresponding descriptions.
nonlin_autocorr_035
AC_nl_035
nonlin_autocorr_036
AC_nl_036
nonlin_autocorr_112
AC_nl_112
ami3_10bin
CO_HistogramAMI_even_10bin_ami3
Automutual information at lag 3 using a 10-bin histogram estimation method
ami3_2bin
CO_HistogramAMI_even_2bin_ami3
Automutual information at lag 3 using a 2-bin histogram estimation method
increment_ami8
IN_AutoMutualInfoStats_diff_20_gaussian_ami8
Mutual information at time lag 8 using Gaussian esti- mator
dfa_longscale_fit
SC_FluctAnal_2_dfa_50_2_logi_r2_se2
Timescale–fluctuation curve using DFA
noise_titration
CO_AddNoise_1_even_10_ami_at_10
Automutual information at lag 1 after adding white noise at a SNR of 1
prediction_scale
FC_LoopLocalSimple_mean_stderr_chn
Change in
prediction error from a mean forecaster using prior windows of data
floating_circle
CO_TranslateShape_circle_35_pts_std
Variability of time-series points inside a circle translated across the time domain
walker_crossings
PH_Walker_momentum_5_w_momentumzcross
Statistics of a simulated mechanical particle driven by the time series
walker_diff
PH_Walker_biasprop_05_01_sw_meanabsdiff
Statistics of a simulated mechanical particle driven by the time series
stationarity_min
SY_DriftingMean50_min
Minimum mean across 50 segments divided by mean variance in segments
stationarity_floating_circle
CO_TranslateShape_circle_35_pts_statav4_m
StatAv of the statistics of local time-series shapes
outlier_corr
DN_RemovePoints_absclose_05_ac2rat
Change in lag-2 autocorrelation from removing 50% of the time-series values closest to the mean
outlier_asymmetry
ST_LocalExtrema_n100_diffmaxabsmin
Asymmetry in extreme local events
The Rescaled Auto-Density (RAD) is a noise-robust metric for inferring the distance to criticality (the DTC). It aims to perform well in settings where the noise level varies between time series.
📙 B. Harris, L. Gollo, B.D. Fulcher. "Tracking the distance to criticality in systems with unknown noise", Physical Review X 14: 031021 (2024).
In the original paper, we use a data-driven approach to develop theory on how to infer the DTC in the variable-noise setting. This theory relies on two key time-series properties: i) the distribution of values; and ii) the scale of fast fluctuations. Combining these two properties, such as by curve-fitting the distribution and solving the Fokker--Planck equation, partials-out the noise strength to give a noise-robust estimate of the shape of the potential function (and hence the control parameter). RAD implements these key algorithmic steps in a simplified way, efficiently estimating the DTC from data using elementary time-series operations. In RAD, the two algorithmic elements are captured by standard deviations above and below the median value (measuring the distribution) and the standard deviation of lag-1 differences (measuring fast fluctuations). Our RAD feature is given by:
where is the input time series, is the lag-1 difference operator, is the standard deviation, and:
where is the median value of .
Code for implementing RAD is available in Matlab, Julia, and Python is collected in this .
RAD is also available through existing toolboxes in both Matlab and Julia:
Matlab: in hctsa (as of v1.08
), as the CR_RAD()
master function, and CR_RAD_1
, CR_RAD_2
, and CR_RAD_tau
operations
Julia: in the TimeseriesFeatures.jl
package (StatsBase.jl
extension), as the CR_RAD::Feature
RAD is best suited to univariate, regularly-sampled time-series data. The sampling period should be constant between time series, and if the time series are excessively smooth or over-sampled then the tau
parameter should be set to a value greater than 1 (a suitable tau
can often be inferred by inspecting the autocorrelation function of a time series).
RAD also includes an optional centering step (doAbs
), which should be enabled if the time series do not represent radial values (e.g., enable doAbs
if the distribution is approximately symmetric or 'two-sided').
A feature-based information-theoretic method for detecting interpretable, long-timescale pairwise interactions from time series.
This web resource provides an overview of the time-series analysis software that our research group has developed.
We are the (led by Ben Fulcher) and part of Complex Systems research in the School of Physics at the University of Sydney.
We are detectives interested in finding patterns in time-series measured from complex time-varying systems . As part of this process, we often develop algorithms and analysis techniques that could be useful to researchers or general analysts interested in applying them on their own data.
Our group has developed three main types of software:
Software for implementing highly comparative time-series analysis, in which a large library of scientific methods are implemented and compared.
Feature subsets are efficiently coded (and high-performing) subsets of time-series features derived from the full set of features in hctsa.
New types of specific time-series analysis methods developed in the group.
Software for implementing highly comparative time-series analysis, in which a large library of scientific methods are implemented and compared.
Efficiently coded (and high-performing) subsets of time-series features derived from the full set of features in hctsa.
Time-series analysis methods developed we've developed.
CAnonical Time-series CHaracteristics
For full documentation for using catch22 across multiple programming languages, click the link below!:
Tools for Handling Extraction of Features from Time series.
Feature-Based Time-Series Analysis in R using the theft Package.
📙 arXiv preprint (2022).
theft
is a software package for R that facilitates user-friendly access to a consistent interface for the extraction of time-series features. The package provides a single point of access to >1200 time-series features from a range of existing R and Python packages.