tsfeatures computes a matrix of time series features from a list of time series
The tsfeature package provides methods to extract various features from time series data
tsfeatures( tslist, features = c("frequency", "stl_features", "entropy", "acf_features"), scale = TRUE, trim = FALSE, trim_amount = 0.1, parallel = FALSE, multiprocess = future::multisession, na.action = na.pass, ... )
a list of univariate time series, each of class
ts or a numeric vector.
Alternatively, an object of class
mts may be used.
a vector of function names which return numeric vectors of features. All features returned by these functions must be named if they return more than one feature. Existing functions from installed packages may be used, but the package must be loaded first. Functions must return a result for all time series, even if it is just NA.
TRUE, time series are scaled to mean 0 and sd 1 before features
TRUE, time series are trimmed by
trim_amount before features
are computed. Values larger than
trim_amount in absolute value are set to
Default level of trimming if
If TRUE, multiple cores (or multiple sessions) will be used. This only speeds things up when there are a large number of time series.
The function from the
future package to use for parallel processing. Either
multicore. The latter is preferred
for Linux and MacOS.
A function to handle missing values. Use
na.interp to estimate missing values.
Other arguments get passed to the feature functions.
A feature matrix (in the form of a tibble) with each row corresponding to one time series from tslist, and each column being a feature.
mylist <- list(sunspot.year, WWWusage, AirPassengers, USAccDeaths) tsfeatures(mylist) #> # A tibble: 4 × 20 #> frequency nperi…¹ seaso…² trend spike linea…³ curva…⁴ e_acf1 e_acf10 entropy #> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 1 0 1 0.125 2.10e-5 3.58 1.11 0.793 2.21 0.702 #> 2 1 0 1 0.985 3.01e-8 4.45 1.10 0.774 0.983 0.461 #> 3 12 1 12 0.991 1.46e-8 11.0 1.09 0.509 0.930 0.296 #> 4 12 1 12 0.802 9.15e-7 -2.12 2.85 0.258 0.341 0.548 #> # … with 10 more variables: x_acf1 <dbl>, x_acf10 <dbl>, diff1_acf1 <dbl>, #> # diff1_acf10 <dbl>, diff2_acf1 <dbl>, diff2_acf10 <dbl>, #> # seasonal_strength <dbl>, peak <dbl>, trough <dbl>, seas_acf1 <dbl>, and #> # abbreviated variable names ¹nperiods, ²seasonal_period, ³linearity, #> # ⁴curvature