Scopri Polaris

Compliance & Certificazioni

Brand page

Artificial Intelligence

Trasformazione Digitale

Approfondimenti

Digital twin

Simulation

IoT

Big Data

Advanced Manufacturing

Additive Manufacturing

Cyber Security

Industria 4.0

Augmented Reality/Virtual Reality

Potenziare la catena del valore

Agricolture 4.0

Polaris

Ageria

Deepclever

Strategy

Software Aziendali

The Polaris AI Team

Change Management

Finance Consulting

Infrastructure Services

Zero Based Mindset

Supply Chain

Filiere

Meccanica
Tessile
Plastica

Strategies & Decision Making

Mechanical Advanced Analytics SaaS
Energy Platform

Advance Planning

Mechanical Advanced Planning & Scheduling SaaS
Mechanical Warehouse Operation SaaS

Execution

Mechanical IoT Platform SaaS
Platform Mechanical Innovation GO SaaS

Operation Technology

Infrastructure Services

Pre-processing delle serie temporali per preparare i dati IoT

Industria 4.0

Introduzione

Negli ultimi anni, l’espansione dell’Internet of Things (IoT) ha portato alla creazione di ecosistemi di dispositivi connessi tra loro ed in grado di raccogliere ed elaborare enormi quantità di dati in tempo reale. Tali dati sono spesso organizzati in serie temporali (time series), che possono essere utilizzate in combinazione con tecniche di machine learning per identificare automaticamente gli eventi che si stanno verificando nell’ambiente circostante. Tutto ciò permette di creare soluzioni innovative in svariati ambiti applicativi, come ad esempio:

  • Applicazioni industriali: i dati raccolti dai sensori installati in ambienti industriali (come sensori di temperatura, umidità e pressione) sono fondamentali, ad esempio, per riconoscere potenziali malfunzionamenti dei macchinari
  • Riconoscimento di attività umane: i sensori installati in oggetti indossabili (come gli smartwatch) o in ambienti intelligenti (come le smart home) permettono di riconoscere le attività svolte da una persona, al fine di costruire applicazioni in ambito sportivo e sanitario
  • Monitoraggio ambientale: tramite dispositivi IoT, è possibile monitorare condizioni ambientali, come i livelli di inquinamento di una certa area urbana

Una delle sfide principali nell’ambito della classificazione di serie temporali risiede nel gestire in maniera appropriata ed efficace i flussi continui di dati eterogenei prodotti dai diversi sensori. Infatti, tali dati sono spesso troppo rumorosi per poter essere forniti direttamente ai modelli di machine learning. Per migliorare le prestazioni di questi modelli, diventa quindi necessario applicare una sequenza di operazioni di pre-processing alle serie temporali. Solo dopo queste operazioni preliminari è possibile fornire i dati disponibili a modelli di machine learning per ottenere una classificazione accurata delle serie temporali.

Pre-processing dei dati

Nei prossimi paragrafi, analizzeremo alcuni dei passi di pre-processing più comuni per le applicazioni basate sulla classificazione di dati IoT. Tuttavia, è importante sottolineare che non esiste una sequenza fissa di operazioni di pre-processing che sia universalmente applicabile a tutti i problemi di classificazione basati su serie temporali. La scelta sui possibili passi di pre-processing da applicare e sull’ordine con cui adottarli dipende fortemente dall’applicazione di interesse e dalle caratteristiche dei dati che si hanno a disposizione. 

Data cleaning

Il primo passo di pre-processing consiste nella pulizia dei dati che si hanno a disposizione. In particolare, è una buona idea ridurre il rumore e gli outlier presenti nelle serie temporali. Per raggiungere tale scopo, è possibile ad esempio applicare degli appositi filtri, come quello mediano mostrato in Figura 1. L’idea è quella di avere un filtro che scorre sulla serie temporale. Ad ogni applicazione dell’operazione di filtraggio, il valore che ricade nel centro del filtro viene sostituito con la mediana dei valori che ricadono all’interno del filtro stesso.

Pre-processing serie temporali_immagine 1

Figura 1sequenza di dati rumorosa (a) prima e (b) dopo l’applicazione di un filtro mediano [1] 

Data Imputation

I dati mancanti sono un altro problema comune che si affronta quando si lavora con le serie temporali e può essere causato ad esempio da malfunzionamenti dei sensori. Tecniche di data imputation possono essere sfruttate per integrare informazioni in quelle porzioni di serie temporali che presentano dati mancanti. Tipicamente, l’integrazione avviene sfruttando i dati a disposizione. Ad esempio, se a causa di un malfunzionamento di un sensore ci troviamo di fronte ad una serie temporale in cui non sono presenti pochi secondi di dati, è possibile utilizzare tecniche di interpolazione per riempire questi vuoti basandosi sui valori precedenti e successivi alla porzione di dati mancanti.

Pre-processing serie temporali_immagine 2

Figura 2

Allineamento temporale

In alcuni ambienti, è possibile sfruttare i dati provenienti contemporaneamente da diverse sorgenti (ad esempio, da un sensore di temperatura e da un sensore di pressione). In questi scenari, si parla di serie temporali multivariate. Uno dei problemi principali delle serie temporali multivariate è che sensori diversi possono misurare dati con frequenze di campionamento diverse. Ad esempio, un sensore di temperatura potrebbe fornire una nuova lettura ogni minuto, mentre un sensore di pressione installato nello stesso ambiente potrebbe effettuare più misurazioni al minuto. Per valutare la relazione tra le diverse serie temporali, diventa quindi fondamentale sincronizzarle in modo che corrispondano tra loro in ogni istante di tempo. Senza un allineamento temporale, sarebbe infatti difficile valutare potenziali relazioni di causa-effetto tra le diverse serie temporali coinvolte.

Per effettuare allineamento temporale, è possibile utilizzare diverse tecniche, come per esempio il resampling e l’interpolazione. Il resampling consiste nel considerare solo una delle diverse misurazioni rilevate dal sensore di pressione ogni minuto, in modo da generare una serie temporale che contiene lo stesso numero di misurazioni al minuto della serie temporale associata al sensore di temperatura. D’altra parte, tramite l’interpolazione è possibile introdurre nuovi dati per ogni minuto della serie temporale associata al sensore di temperatura, in modo da ottenere una serie temporale con la stessa frequenza di campionamento di quella del sensore di pressione.

Data normalization

Nelle serie temporali multivariate, ogni serie potrebbe contenere valori appartenenti a scale diverse. Un sensore potrebbe infatti rilevare misurazioni in una scala da 0 a 10, mentre un altro sensore in una scala da 0 a 100. Per evitare che alcune variabili abbiano un peso maggiore rispetto ad altre durante l’addestramento dei modelli di machine learning, è utile considerare tecniche di normalizzazione che permettono di riportare le misurazioni di tutte le serie temporali all’interno di una scala di valori comune. Un esempio è la normalizzazione min-max, che permette di scalare tutte le misurazioni all’interno di un range compreso tra 0 e 1.

Pre-processing serie temporali_immagine 3

Figura 3

Data segmentation

Tipicamente, i modelli di machine learning hanno bisogno di ricevere in input dati che presentano una struttura fissa. Quando si ha a che fare con delle serie temporali, è quindi necessario segmentarle in finestre temporali di dimensione fissa (ad esempio: in finestre di 10 secondi). La dimensione delle finestre è un parametro importante: infatti, finestre troppo piccole si concentreranno solo su pattern di misurazioni locali, mentre finestre troppo grandi avranno una visione maggiormente focalizzata sulla struttura globale delle serie temporali.

Pre-processing serie temporali_immagine 4

Figura 4

Feature extraction

Una volta terminata la fase di segmentazione dei dati, non rimane che estrarre dalle finestre temporali feature significative che saranno necessarie per la successiva classificazione dei dati. Fino a pochi anni fa, questa operazione veniva effettuata manualmente dai data scientist. Tipicamente, dai dati provenienti da sensori si estraevano feature temporali (come la misurazione media presente nella finestra temporale) o frequenziali (come la frequenza dominante all’interno della finestra). Inoltre, era importante estrarre anche feature che considerassero la correlazione tra misurazioni raccolte da sensori diversi nello stesso intervallo di tempo.

Negli ultimi anni, i modelli di deep learning sono sempre più utilizzati in diversi ambiti applicativi, compreso quello IoT. Uno dei vantaggi maggiori offerto dai modelli di deep learning consiste nella loro capacità di estrarre automaticamente feature significative dai dati grezzi forniti in input. Ciò elimina la necessità di effettuare una selezione manuale delle feature da parte di esperti di dominio.

Data fusion

Infine, quando si lavora con serie temporali multivariate, è necessario stabilire come combinare le misurazioni provenienti dai diversi sensori. Ad esempio, queste misurazioni potrebbero essere combinate in un unico vettore di input che verrà fornito al modello di machine learning. Un’alternativa consiste nel fornire le singole serie temporali a diversi modelli di machine learning e poi combinare le decisioni di tali modelli per ottenere la predizione finale.

Conclusioni

Per concludere, per poter addestrare modelli di riconoscimento accurati, è essenziale pre-processare correttamente le serie temporali multivariate ottenute a partire da dispositivi IoT. Il pre-processing dei dati include diverse operazioni che dipendono dai dati che si hanno a disposizione e dall’applicazione di interesse. In generale, queste tecniche migliorano la qualità dei dati disponibili e, allo stesso tempo, consentono ai modelli di riconoscimento di elaborare le informazioni in modo più efficiente ed efficace, raggiungendo livelli di precisione ed affidabilità maggiori.

Riferimenti

[1] Justusson, B. I. “Median filtering: Statistical properties.” Two-Dimensional Digital Signal Processing II: Transforms and Median Filters (2006): 161-196.

[2] Ismail Fawaz, Hassan, et al. “Deep learning for time series classification: a review.” Data mining and knowledge discovery 33.4 (2019): 917-963.

[3] Nguyen, Hai-Long, Yew-Kwong Woon, and Wee-Keong Ng. “A survey on data stream clustering and classification.” Knowledge and information systems 45 (2015): 535-569.

[4] Gaber, Mohamed Medhat, Arkady Zaslavsky, and Shonali Krishnaswamy. “A survey of classification methods in data streams.” Data Streams: models and algorithms (2007): 39-59.

[5] Zheng, Xiaochen, Meiqing Wang, and Joaquín Ordieres-Meré. “Comparison of data preprocessing approaches for applying deep learning to human activity recognition in the context of industry 4.0.” Sensors 18.7 (2018): 2146.

[6] Dang, L. Minh, et al. “Sensor-based and vision-based human activity recognition: A comprehensive survey.” Pattern Recognition 108 (2020): 107561.

[7] Sousa, Wesllen, et al. “A comparative analysis of the impact of features on human activity recognition with smartphone sensors.” Proceedings of the 23rd Brazillian Symposium on Multimedia and the Web. 2017.

[8] Latyshev, Evgeniy. “Sensor Data Preprocessing, Feature Engineering and Equipment Remaining Lifetime Forecasting for Predictive Maintenance.” DAMDID/RCDL. 2018.

[9] Chen, Liming, et al. “Sensor-based activity recognition.” IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews) 42.6 (2012): 790-808.

[10] Wang, Jindong, et al. “Deep learning for sensor-based activity recognition: A survey.” Pattern recognition letters 119 (2019): 3-11.

Deep Learning con LSTM per la manutenzione predittiva

Deep Learning con LSTM per la manutenzione predittiva

La manutenzione predittiva consente alle aziende di anticipare il deterioramento dei macchinari durante lo svolgimento dei processi industriali e intervenire in modo da non dover interrompere improvvisamente le linee produttive. Il Deep Learning e le reti neurali con...

leggi tutto