A time series analysis method.
Converts a set of labelled time series into features that best discriminate them. An example feature is minimum distance to a sub-series.
How well a feature discriminates the set of labelled time series is the calculated as the Fischer Linear Discriminant for multiple classes.
Is set up to run with the UCR Time Series Classification Archive, found here.
To build the executable, simply run the following:
make build
Note
Has only been tested on linux.
To run tests, simply run the following:
make test
Important
The tests require Criterion. As such, it is required to be installed on the system. This is not automatic.
Example Output
gcc -Isrc -g -O3 -Wall -Wextra -flto -std=c17 -march=native -fsanitize=address -D LOG_DEBUG -O0 -o test_runner
tests/*.c src/parse.o src/window.o src/io.o src/feature.o src/log.o src/analysis.o src/preprocessing.o -lcrit
erion -lm
./test_runner
[ analysis.equal_scatter ] [ 0,000391 s ] [ OK ]
...
[ windower.single ] [ 0,000113 s ] [ OK ]
[====] Synthesis: Tested: 23 | Passing: 23 | Failing: 0 | Crashing: 0