ROCKET turns each time series into random convolutional features and fits a linear classifier. A worked example separates maximum response from proportion positive and explains financial timing limits.
ROCKET time-series classifier
ROCKET is a time-series classification method that applies many fixed random convolutional kernels to each input series, summarises their responses, and trains a linear classifier on those summaries. Its name abbreviates RandOm Convolutional KErnel Transform. For a quant comparing labelled historical market windows, it provides a way to build a large library of local-pattern features without training a deep convolutional feature extractor. The labels, decision cutoff and evaluation still need a separate research design. Dempster, Petitjean and Webb, §3
Random detectors, learned decisions
A convolutional neural network normally learns its filters. Original ROCKET instead samples kernel lengths, weights, biases, dilations and padding choices, then holds them fixed. Dilation changes the spacing between weights along the series, so different kernels examine different temporal scales.
Each kernel supplies two features: the maximum response and the proportion of positive values (PPV) in its response map. With K kernels the classifier receives 2K features per series. The paper uses 10,000 kernels by default and a regularised ridge classifier for its UCR experiments; it also studies logistic regression for larger datasets. “Random” describes the feature extractor, not an absence of supervised training. Original paper, §§3.1–3.3
The authors’ example workflow makes the separation explicit: generate kernels, transform training series, fit the classifier using training labels, then transform test series using the same kernels before predicting. Resampling kernels for the test set would change the coordinates under an already fitted classifier.
Read two features from one response map
Take the fictional, unitless series (1,3,2,4). Use the given weights (1,−1), bias zero, dilation one, stride one and no padding. This is valid cross-correlation: weights are not reversed, and only windows wholly inside the input are evaluated. That convention matches the sliding dot product in the author implementation.
ri=xi−xi+1,i=0,1,2.
The responses are 1−3=−2, 3−2=1 and 2−4=−2. Hence
max(r)=1,PPV(r)=31i=0∑21{ri>0}=31.
There is one strictly positive response among three. A zero response would not count as positive. PPV is not the fraction of positive input observations—all four inputs here are positive—and it is not a probability that the series belongs to a particular class. The implementation uses the strict test response > 0.
Given unitless series 1, 3, 2, 4 and kernel 1, minus 1, valid cross-correlation with bias zero, dilation one and no padding produces minus 2, 1, minus 2. The maximum is 1 and the proportion strictly positive is one third.
Original deterministic illustration of one kernel’s two features. The length-two kernel is chosen for transparent arithmetic, not sampled from original ROCKET’s length distribution.
For this particular kernel, a positive response means the next value is lower than the current one. The maximum records the largest one-step fall in the window; PPV records how often a fall occurs. Other weights and biases define other detectors, so PPV does not universally measure falling observations.
The length-two kernel makes the calculation inspectable. It is not a full ROCKET fit: original ROCKET samples lengths 7, 9 or 11, and this toy neither samples a kernel bank nor trains a classifier. The kernel-generation code also mean-centres sampled weights and randomises bias, dilation and padding.
What the summaries leave behind
Max and PPV retain response magnitude and prevalence in different ways. They discard the exact location of each response, and many response maps can share the same two summaries. A large response may reflect scale or an outlier rather than a useful class distinction. A classifier must establish which feature combinations distinguish the training labels; a single impressive-looking detector is insufficient.
Convolution kernels here are local weight vectors. They should not be confused with a pairwise similarity kernel or treated automatically as a random Fourier feature approximation.
A market window needs a clock
For one prediction after an entire historical window has been observed, sliding a kernel throughout that window can use all its entries. It does not follow that those pooled features were available at every earlier timestamp inside it. Using them to make an earlier decision would create look-ahead bias.
Keep input windows, label horizons and chronological evaluation boundaries explicit. Fit any dataset-level scaling and the classifier on training data; tune regularisation and kernel-count choices without using final test outcomes. Overlapping windows with overlapping future labels require particular care around split boundaries. Freezing random kernels does not remove these sources of leakage, and classification accuracy alone does not measure returns after execution costs.
Authors’ rocket_functions.py, generate_kernels, apply_kernel and apply_kernels: sampling conventions, strict positivity and two features per kernel.
Authors’ ROCKET repository, example workflow: reuse the kernel bank when transforming test data. The historical software example is cited for its algorithmic sequence, not as a current dependency installation guide.