• 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
  • 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
Data Science, machine-learning

Time Series Data: serie storiche

Time Series Data: serie storiche

Le serie temporali, o storiche (time-series data) sono sequenze di valori ordinati nel tempo e contrassegnati da un momento storico.

Parecchi business producono dati di natura finanziaria e commerciale con un’impronta indelebile: l’esatto momento in cui sono generati.

Capiamo perché è importante porre un occhio di riguardo a questa particolare natura dei dati.

Time Series Data

Comprendere le serie storiche e imparare creare dei modelli si rivela fondamentale in molti contesti perché ci consente di prevedere tendenze o comportamenti futuri e agire di conseguenza.

Ecco quella che definiamo analisi predittiva (i.e. so cosa accadrà) e analisi prescrittiva (i.e. ti dico come agire).

Ora, per risolvere problemi che coinvolgono il time series data esistono diversi approcci. Quelli più comuni sono tre:

  • Auto-Regressive Integrated Moving Average (ARIMA)
  • Exponential Smoothing
  • Fourier Transforms

A un livello macroscopico distinguiamo metodi di tipo univariato (i più diffusi) e multivariato. (univariate and multivariate).

Univariate analysis

Per cui se volessi prevedere le vendite che il mio business potrebbe generare a Marzo mi basterebbe riconoscere pattern in quelle passate e inferire partendo da esse.

Tradotto, ho una sola variabile che cambia nel tempo e suppongo che il suo valore sia strettamente legato all’ora, al giorno, al mese o all’anno.

Avrai certamente intuito il problema.

Se l’ipotesi di partenza non fosse verificata l’andamento della variabile dipenderebbe da altri fattori che attualmente stiamo scartando.

Inoltre alcuni dei più comuni metodi di tipo univariato richiedono che il time series sia stazionario (stationarity). Tradotto, che abbia costante media e varianza.

Come risolviamo il problema? Con l‘analisi multivariata e feature engineering

Multivariate analysis

Entrano in gioco il big player: machine learning.

Attraverso il machine learning siamo in grado di generare modelli complessi capaci di cogliere la relazione nascosta, il pattern, tra le serie storiche.

Questi modelli dalle previsioni più accurate, rispetto ai precedenti di tipo univariato, permettono di considerare anche altri feature legati al time series data.

Parlando di features… Sappiamo che un bravo data scientist padroneggia l’arte di crearne di nuove.

Feature Engineering Times Series

Per esperienza personale ti posso assicurare che le date sono tra le tipologie di dato di più difficile maneggio.

Una parola, un testo, un nome in ambito informatico è una stringa. A nessuno importa cosa scrivi. (Non è proprio così, ma per il momento fingiamo che lo sia)

Un numero? È un numero! Al massimo hai qualche limitazione sulla lunghezza (32 o 64 bit) o sulla natura (intera o in virgola mobile).

La data, quella si che è un patata bollente.

Perché?

Facciamo un esempio banale ma efficace.

Digressione: date e orari

Hai un e-commerce, attivo h24. Un tale acquista un prodotto esattamente alle 00:00 del 10 Marzo. Ora. In Italia sono le 00:00 del 10 Marzo, ma in Inghilterra sono le 23:00 del 9 Marzo.

Quando inizi a prendere a calci e pugni le sigle internazionali scopri che la faccenda si complica ulteriormente.

Hai presente l’ora legale e solare? Ah.

In inverno il CET (Centra European Time) si allinea con il fuso UTC+1 (Universal Time Code, o Temps universel coordonné)

Quando d’estate l’Italia entra in ora legale, il fuso orario passa al CEST (Central European Summer Time) e si allinea con il fuso UTC+2.

Tutto questo per dire che spesso chi salva i dati non sa cosa stia facendo.

Digressione a parte, un sistema di machine learning non è n grado di gestire una data che in formato ISOString appare come:

2020-02-20T11:33:22.528Z

Da questa stringa è possibile estrarre un grande elenco di features:

  • Day of month
  • Day of week
  • Day of year
  • Weekend or weekday
  • Payday
  • Holiday
  • Quarter
  • Start of quarter
  • End of quarter
  • Days to month-end
  • Days from month start
  • Days to holiday
  • Days from holiday
  • Season of year
  • N period lagged date (e.g. yesterday, last week, last month, last quarter, etc.)
  • Rolling mean, min, max and etc. 

Ognuna di queste feature cattura un componente del time series consentendoci di creare il nostro accurato modello predittivo, individuando quei valori che influenzano maggiormente il risultato finale.

In questo modo risolviamo la necessita di avere media e varianza stazionaria, che abbiamo identificato in precedenza.

Training vs Test Set

Un’ultima cosa prima di concludere la nostra introduzione al time series data.

In passato abbiamo ribadito più volte quanto sia fondamentale avere un dataset con cui valutare le prestazioni del nostro modello prima di rilasciarlo in produzione.

Un metodo comunemente impiegato è quello di dividere il dataset originario in uno di testing e di training.

Il problema in questo caso è il metodo con cui effettuarne la divisione.

Metodo 1

Il primo consiste semplicemente nel trovare un cut-off point e separare i due gruppi di dati. Qui l’importante è mantenere l’ordine dei dati. Qualora questo non fosse mantenuto, ostacoleremmo la corretta generalizzazione da parte del modello.

Metodo 2

Il secondo è definito di windowing. Alleniamo il nostro modello su un piccolo range di date e lo testiamo su quello immediatamente successivo. Questo crea una finestra a scorrimento di lettura sulla serie storica.

Un metodo concettualmente simile al cross-validation che invece di selezionare casualmente il sottoinsieme di dati, mantiene l’ordine e discrimina con la data.

Time Series Algorithm

Prima di salutarti, ho un ultimo contenuto da condividere con te.

Datanest, azienda che fornisce Data Science as a Service, ha prodotto questa lista di metodi per costruire modelli sulle sterie storiche.

Puoi trovare l’articolo originale qui.

Un caldo abbraccio, Andrea

Written by Andrea Provino - Febbraio 20, 2020
Tags | data science, dataset, teoria

You Might Also Like

bias-variance-tradeoff-italiano-generalization-error-models-machine-leaning-blog-data-science-blog-italia-irreducible-error-guida

The Bias / Variance Tradeoff

Dicembre 3, 2019
verifiability-deep-learning-federated-learning-italia-guida-blog-italiano

Verifiability and Privacy Enhancing Technologies: ZKPs e TEEs

Ottobre 3, 2020
artificial_neural_network_explanation_spiegazione_semplice_rete_neurale_artificiale_data_science_machine_learning_blog_guida_italiano_backpropagation_perceptron_bias

Artificial Neural Network – ANN| Rete Neurale Artificiale

Gennaio 22, 2020
Next Post
Previous Post

Una pubblicità che non vedi se usi AdBlock

EXPAND YOUR KNOWLEDGE

  • rust-react-webassembly-privacy-preserving-machine-learning Logs

    Rust, WebAssembly, React e un MVP

    Dicembre 21, 2020
  • diffie-hellman-key-exchange-protocol-scambio-di-chiavi-diffie-hellman Data Science, Privacy Preserving

    Cos’è lo scambio di chiavi Diffie-Hellman (DH)? | Privacy Preserving

    Dicembre 15, 2020
  • principio-di-esattezza-data-science-machine-learning-gdpr-data-accuracy Data Science, GDPR Compliant

    GDPR: Principio di esattezza dei dati (Data Accuracy)

    Dicembre 12, 2020
  • tensorflow-extended-tfx-deploy-machine-learning-guide-machine-learning-pipelines machine-learning

    TFX: come funziona Tensorflow Extended?

    Dicembre 9, 2020
  • tensorflow-extended-tfx-deploy-machine-learning-guide-machine-learning-pipelines machine-learning

    TensorFlow Extended (TFX) | Production Machine Learning Pipeline

    Dicembre 6, 2020
  • mean-shift-clustering-guida-italiano-spiegazione-semplice-algoritmo-di-clustering-esempio Data Science

    Mean-Shift Clustering

    Dicembre 3, 2020
  • data-minimization-principle-gdpr-principio-minimizzazione-dati-personali-gdpr-italia-consulenza-spiegazione-semplice Data Science, GDPR Compliant

    GDPR: Principio di minimizzazione dei dati (Data minimization)

    Dicembre 1, 2020
  • machine-learning-for-finance-trading-online-data-science-deep-learning-intelligenza-artificiale AI, machine-learning

    FinTech: Machine Learning for Finance (FinML) | Guide e Risorse di qualità

    Novembre 29, 2020
  • gdpr-principio-di-limitazione-della-finalita-machine-learning-data-science-guida-prupose-limitation-gdpr Data Science, GDPR Compliant

    GDPR: Principio di Limitazione della finalità | Purpose Limitation

    Novembre 26, 2020
  • machine-learning-engineer-lavoro-stipendio-responsabilità-come-diventare AI, Business, machine-learning

    Machine Learning Engineer

    Novembre 23, 2020

Quello che Google pensa ti possa piacere

Prodotti che i Cookie dicono potresti trovare interessanti

AI Blog - © 2019-2021 Andrea Provino