The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

Fast Time Series Feature Extraction with minirocketR

Introduction

minirocketR provides an optimized R implementation of the MiniRocket time series feature extraction algorithm (Dempster et al., 2021). Built with a native C++ core via Rcpp and accelerated with OpenMP multithreading, it generates \(9,996\) Proportion of Positive Values (PPV) features per time series while maintaining exact mathematical parity with the Python reference implementation (sktime).

Getting Started

Load the package and generate synthetic time series data (where rows represent \(N\) time series instances and columns represent time points \(L\)):

library(minirocketR)

# Generate synthetic data: 50 training series, 20 test series, length 100
set.seed(42)
N_train <- 50
N_test  <- 20
L       <- 100

X_train <- matrix(rnorm(N_train * L), nrow = N_train, ncol = L)
X_test  <- matrix(rnorm(N_test * L),  nrow = N_test,  ncol = L)

Fitting the Transformer

Fit the minirocket model on the training data. This step samples dilation values, generates golden-ratio quasi-random quantiles, and calibrates feature biases using single-series convolutions:

model <- minirocket_fit(X_train, num_features = 10000, seed = 42)

Extracting Features

Apply the fitted transformer to both training and test matrices. You can configure the num_threads argument to leverage multi-core CPU acceleration (requires OpenMP support):

# Transform the time series into the feature space
X_train_feat <- minirocket_transform(model, X_train, num_threads = 2)
X_test_feat  <- minirocket_transform(model, X_test,  num_threads = 2)

# Verify the dimensions of the output feature matrices
dim(X_train_feat)
#> [1]   50 9996
dim(X_test_feat)
#> [1]   20 9996

Both outputs produce matrices with \(9,996\) columns bounded strictly in the range \([0, 1]\). These standardized features are now ready to be fed into downstream classification or regression models, such as Ridge Regression (e.g., via the glmnet package) or XGBoost.

References

Dempster, A., Petitjean, F., & Webb, G. I. (2021). MINIROCKET: A Very Fast (Almost) Deterministic Transform for Time Series Classification. Data Mining and Knowledge Discovery, 35(5), 2154–2177.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.