RandOm Convolutional KErnel Transform (ROCKET) is an exceptionally efficient algorithm for time series classification. Unlike other proposed time series classification algorithms which attain excellent accuracy, ROCKET maintains its performance with a fraction of the computational expense by transforming input time series using random convolutional kernels.

hanaml.ROCKET(
  data = NULL,
  key = NULL,
  method = NULL,
  num.features = NULL,
  data.dim = NULL,
  random.seed = NULL
)

Arguments

data

DataFrame
Specifies the input time-series data.

key

character, optional
Specifies the column name in data that represents the order of time-series.

method

character, optional
The options are "MiniRocket" and "MultiRocket".
Defaults to "MiniRocket".

num.features

integer, optional
Number of transformed features for each time series.
Defaults to 9996 when method = "MiniRocket", 49728 when method is "MultiRocket".

data.dim

integer, optional
Dimensionality of the multivariate time series.
1 means univariate time series and others for multivariate. Cannot be smaller than 1.
Defaults to 1.

random.seed

integer, optional
0 indicates using machine time as seed.
Defaults to 0.

Value

A "ROCKET" object with the following attribute:

  • model : DataFrame
    Trained model content.

Examples

Input time-series data:


> data$Collect()
    RECORD_ID  VAL_1  VAL_2  VAL_3  VAL_4  VAL_5  VAL_6  ...  VAL_10  VAL_11  VAL_12  VAL_13  VAL_14  VAL_15  VAL_16
0           0  1.598  1.599  1.571  1.550  1.507  1.434  ...   1.117   1.024   0.926   0.828   0.739   0.643   0.556
1           1  1.701  1.671  1.619  1.547  1.475  1.391  ...   1.070   0.985   0.899   0.816   0.733   0.658   0.581
2           2  1.722  1.695  1.657  1.606  1.512  1.414  ...   1.015   0.920   0.828   0.740   0.658   0.586   0.501
3           3  1.726  1.660  1.573  1.496  1.409  1.332  ...   0.987   0.901   0.815   0.730   0.644   0.558   0.484
4           4  1.779  1.761  1.703  1.611  1.492  1.369  ...   0.900   0.786   0.679   0.580   0.502   0.415   0.333
5           5  1.800  1.743  1.686  1.633  1.532  1.423  ...   0.979   0.872   0.767   0.664   0.561   0.453   0.355
6           6  1.749  1.727  1.659  1.560  1.457  1.355  ...   0.961   0.864   0.771   0.682   0.595   0.513   0.427
7           7  1.348  1.237  1.129  1.022  0.939  0.847  ...   0.474   0.388   0.306   0.218   0.133   0.061   0.009
8           8  1.696  1.634  1.596  1.507  1.414  1.323  ...   1.048   0.966   0.890   0.805   0.719   0.632   0.553
9           9  1.723  1.713  1.665  1.587  1.495  1.404  ...   1.041   0.955   0.870   0.787   0.706   0.622   0.547
10         10  1.614  1.574  1.557  1.521  1.460  1.406  ...   1.045   0.957   0.862   0.771   0.681   0.587   0.497
11         11  1.652  1.665  1.656  1.623  1.571  1.499  ...   1.155   1.058   0.973   0.877   0.797   0.704   0.609

Invoke hanaml.ROCKET:


> ro <- hanaml.ROCKET(data = df, key = 'RECORD_ID', method = "MiniRocket", random.seed = 1)
> ro$model$Collect()
                                             MODEL_CONTENT
 0   -1                                        MultiRocket
 1    0  {"SERIES_LENGTH":16,"NUM_CHANNELS":8,"BIAS_SIZ...
 2    1  HANNELS":[6]},{"ID":77,"CHANNELS":[1,4,7,6,5]}...
 3    2  340878522815215,7.959895076819708,5.8147048859...
 ......

See also