time-series-classification

Time Series Classification Analysis of 21 algorithms on the UCR archive datasets + Introduction to a Convolution-based classifier with Feature Selection

https://github.com/sophiavei/time-series-classification

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.2%) to scientific vocabulary

Keywords

aeon convfs convolution time-series-classification tslearn
Last synced: 6 months ago · JSON representation ·

Repository

Time Series Classification Analysis of 21 algorithms on the UCR archive datasets + Introduction to a Convolution-based classifier with Feature Selection

Basic Info
  • Host: GitHub
  • Owner: SophiaVei
  • Language: Jupyter Notebook
  • Default Branch: master
  • Homepage:
  • Size: 32.3 MB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
aeon convfs convolution time-series-classification tslearn
Created about 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme Citation

README.md

Analysis and Innovation in Time Series Classification Algorithms and Methods:

Towards a Superior Convolutional Algorithm with Feature Selection

The present repository is dedicated to Time Series Classification. It contains the implementations based on two scopes:

1. Systematic evaluation on various datasets from the UCR archive.

The datasets are organized based on: * Dimensions (univariate or multivarite) * Length (<300, >=300, >700) * Classes (<10, >=10, >=30)

We conducted our experiments on various datasets for this part, but we include here 11, since based on the former categorization UCR contains this number of datasets. We use numerous datasets to evaluate 21 classifiers which we separate in 6 categories: 1. Deep Learning: * Multi Layer Perceptron (MLP) * Convolutional Neural Network (CNN) * Fully Convolutional Network (FCN) * Multi-Channels Deep Convolutional Neural Networks (MCD-CNN) 2. Dictionary - based: * Bag of SFA Symbols (BOSS) * Contractable Bag of SFA Symbols (cBOSS) * Individual Bag of SFA Symbols (iBOSS) * Temporal Dictionary Ensemble (TDE) * Individual Temporal Dictionary Ensemble (iTDE) * Word Extraction for Time Series Classification (WEASEL) * MUltivariate Symbolic Extension (MUSE) 3. Distance - based: * Shape Dynamic Time Warping (shapeDTW) * K-Nearest Neighbors (using DTW) (KNN) 4. Feature - based: * Canonical Time-series Characteristics (catch22) * Fresh Pipeline with RotatIoN forest (FreshPRINCE) 5. Interval - based: * Supervised Time Series Forest (STSF) * Time Series Forest (TSF) * Canonical Interval Forest (CIF) * Diverse Representation Canonical Interval Forest (DrCIF) 6. Convolution - based: * ROCKET * Arsenal

We are using aeon library while except for MCD-CNN which is only available on sktime. For the evaluation we create metrics such as F1, Accuracy, Precision, AUC scores (macro and micro) while we also calculate execution times and memory consumptions. We also create plots such as macro average ROC AUC curve per classifier, confusion matrices and ROC AUC curves for each class. We also introduce results with and without cross-validation. For cross-validation we use both k-fold and TimeSeriesSplit. We use k-fold only for comparison reasons with other papers, since we are opposite to its use for time series data, for temporal structure reasons. Therefore, we always suggest TimeSeriesSplit if you want to use cross-validation.

2. Creation of a new convolutional algorithm that uses feature selection (ConvFS)

Based on the results we produce, on the second part of the present thesis we introduce ConvFS (Convolutional Feature Selection), which achieves an incredible balance between accuracy and time. Our approach exhibits the highest performance in terms of time complexity, due to the use of random kernels in combination with feature selection - a method which we first introduce in combination with convolutional classifiers - especially when taking into consideration that time series classifiers, especially deep-leaning models, possess increased time complexities.

We introduce ConvFS's flow below: Blank board

For this part we conduct our experiments on all 128 UCR datasets, plus 40 synthetic datasets.

For this part, we also create plots such as relative accuracy with 1NN-DTW which is a baseline algorithm for TSC, train size vs time logarithmic plots and accuracy improvement plots comparing ConvFS with the other classifiers that we previously use for TSC.

** We furthermore create example plots for time series such as ED and DTW distance measures to view their differences for time series data while also examples of time series and TSC so that the viewer maintains a better idea. Furthermore, for the first part, we also include Jupyter Notebooks so the viewer can easier find the outputs for the respective datasets.

You can find the text work here: Sofia Vei: Analysis and Innovation in Time Series Classification Algorithms and Methods: Towards a Superior Convolutional Algorithm with Feature Selection

Owner

  • Name: Sophia Vei
  • Login: SophiaVei
  • Kind: user
  • Company: Nike

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Vei
    given-names: Sofia
title: "Analysis and Innovation in Time Series Classification Algorithms and Methods: Towards a Superior Convolutional Algorithm with Feature Selection"
version: 2.0.4
identifiers:
  - type: url
    value: https://github.com/SophiaVei/Time-Series-Classification
date-released: 2024-03-01

GitHub Events

Total
  • Watch event: 3
  • Public event: 1
Last Year
  • Watch event: 3
  • Public event: 1