Raker: machine learning per anomalie su serie temporali

Raker: machine learning per anomalie su serie temporali

Descrizione del problema

Le serie temporali possono avere diverse origini: per esempio, in campo industriale si ottengono dalla lettura di sensori IoT e il riconoscimento di outlier è spesso affidato a semplici soluzioni basate su soglie o altre proprietà elementari dei segnali (uni o multidimensionali). I sistemi a “servizi cloud” con modelli di machine learning certamente esistono ma spesso sono troppo rigidi o non abbastanza maturi.

Un frammento di serie temporale unidimensionale di esempio

Raker

Abbiamo così rilasciato come software libero Raker: un sistema di machine learning POC (Proof of concept) multi-algoritmo e multi-modello per l'identificazione di outlier su serie temporali multivariate.

È attualmente basato su PyCaret, un'ottima suite di machine learning ma è estendibile ad altri framework, in particolare per identificare ulteriori classi di anomalie oltre agli outlier (derive, oscillazioni eccetera).

Immagine dalla homepage di PyCaret

Architettura

Nel diagramma precedente, è rappresentato l'addestramento di un modello. Sono presenti, in parallelo, diversi modelli, relativi ciascuno a un diverso algoritmo.

Secondo la terminologia PyCaret, gli algoritmi attualmente utilizzati, ciascuno per produrre un modello, sono i seguenti:

  • Angle-base Outlier Detection
  • Clustering-Based Local Outlier
  • Connectivity-Based Local Outlier
  • Isolation Forest
  • Histogram-based Outlier Detection
  • K-Nearest Neighbors Detector
  • Local Outlier Factor
  • Minimum Covariance Determinant
  • Principal Component Analysis
  • Subspace Outlier Detection
  • Stochastic Outlier Selection
  • One-class SVM detector

Il sistema comprende sia la cross-validation che l'ottimizzazione degli iperparametri.

Come illustrato in verde nel diagramma seguente – corrispondente all'intero diagramma precedente – le predizioni di ciascun modello precedentemente addestrato vengono convogliate in un sistema di decisione finale, configurabile per esempio a maggioranza, a soglie o altro ancora, formulando così la classificazione finale su quali istanti costituiscano degli outlier.

Conclusione

Abbiamo voluto con questo semplice POC dare il nostro piccolo contributo alla comunità del software libero di questo campo del machine learning, continuando al tempo stesso sia autonomamente che con successivi rilasci allo sviluppo di applicazioni nel settore.

--

Photo by Tim Mossholder on Unsplash

Privacy Policy Cookie Policy