Skip to content
/ shapeon Public

A time series analysis method using Shapelets and Fischer Linear Discriminant.

License

Notifications You must be signed in to change notification settings

jmdha/shapeon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

shapeon

A time series analysis method.

Description

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.

Experiment

Is set up to run with the UCR Time Series Classification Archive, found here.

Building

To build the executable, simply run the following:

make build

Note

Has only been tested on linux.

Tests

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