Tullio Facchinetti

Framework per l'analisi visuale e l'elaborazione di serie temporali

by Riccardo Zorzato

Categories: article thesis lang_it article_it


Serie temporali e file CSV

Il progetto di tesi di Riccardo Zorzato prende spunto dal fatto che nel machine learning, l’apprendimento supervisionato richiede un dataset etichettato. Questo tipo di dataset si ottiene tipicamente svolgendo una operazione manuale chiamata “labelling”.

Le serire temporali sono tra i tipi di informazione più frequentemente trattati con tecniche di machine learning. Si tratta di sequenze di valori che possono essere rappresentati su un grafico che riporta il tempo sull’asse delle ascisse. Esempi di serie temporali sono l’andamento della temperatura in una stanza oppure la percentuale di apertura di una valvola.

Il labelling di una serie temporale consiste nell’associare delle etichette ad specifici intervalli temporali. Questo richiede spesso un notevole sforzo in termini di tempo.

Uno dei formati di file più frequentemente utilizzato per memorizzare delle serie temporali sono i file con formato CSV (Comma Separated Values), che possono essere aperti e manipolati con Microsoft Excel oppure con Libreoffice. Quest’ultimo gestisce la lettura e il salvataggio dei file CSV in modo molto più accurato. I file CSV permettono di memorizzare le serie temporali come colonne di valori associati a dei marcatori temporali, detti timestamp.

Estratto da un file CSV contenente due serie di valori misurati da sensori associati ai relativi timestamp.

Obiettivi

Realizzazione di uno strumento che permetta le seguenti operazioni:

Sotto-campionamento

Le serie temporali memorizzate nei file CSV possono spesso contenere un numero elevatissimo di punti, anche milioni. La visualizzazione di un numero così elevato di punti può essere un compito pesante da svolgere, richiedendo molto tempo e anche bloccando temporaneamente il computer.

Per ovviare a questo inconveniente, TSL effettua un sottocampionamento dei dati da gestire prima di visualizzarli. Per questo viene utilizzata la libreria LTTB (Largest-Triangle-Three-Buckets), che implementa l’algoritmo di Sveinn-Steinarsson per il sotto-campionamento.

Esempio di downsampling: a sinistra c'è la serie temporale originale, mentre a destra la versione sottocampionata.

Architettura software

Il software realizzato è composto da vari moduli che si implementano le diverse funzionalità. In particolare, le funzioni per la visualizzazione grafica sono state curate per fornire una esperienza di utilizzo del programma il più semplice e immediata possibile.

Architettura del software.

Esempi

Labelling

Nel video seguente sono mostrate le funzionalità di TSL relative al labelling di serie temporali memorizzate in diversi file CSV.

Personalizzazione del layout

Il video seguente mostra le funzionalità relative alla personalizzazione del layout di visualizzazione.

Ciascun pannello può contenere più serie temporali per meglio confrontare i due andamenti. Inoltre la stessa serie temporale può essere inserita in più pannelli diversi.

Applicazione di funzioni definite dall’utente

Il video seguente presenta la modalità con cui possono essere inserite nella visualizzazione delle funzioni di calcolo applicate alle serie temporali caricate da file CSV.


Highlights

  • Students and theses
  • Publications
  • Thesis topics
  • Curated awesome list of CLI apps
  • Last updates (English)

  • Students and theses ()
  • Students and theses - English ()
  • Learn enough C to survive ()
  • Workflow for writing theses collaboratively ()
  • Guidelines for theses and presentations ()
  • Projects ()
  • Shortcuts for Bash ()
  • Last updates (Italian)

  • Risultati FdI 21-25 Novembre 2022 ()
  • Studenti e tesi ()
  • Risultati FdI 29 Settembre 2022 ()
  • Risultati FdI 02 Settembre 2022 ()
  • Risultati FdI 28 Luglio 2022 ()
  • Risultati FdI 29 Giugno 2022 ()
  • Interfacciamento client-server con il simulatore di propagazione del calore Energy2D ()
  • List of categories

    article article_en article_it C courses fdi lang_en lang_it latex programming project research results robotics software teaching thesis tips