Time Series Analysis
L’analisi delle serie temporali studia dati ordinati nel tempo per trovare tendenze, stagionalità e anomalie e prevedere valori futuri con modelli statistici e profondi.
L'analisi delle serie temporali studia i punti dati registrati in ordine cronologico, di solito a intervalli regolari, come le letture orarie dei sensori, le vendite giornaliere o il numero di veicoli rilevati ogni minuto da una telecamera del traffico. Ciò che la distingue da altre forme di analisi dei dati è che l'ordine contiene informazioni: ogni osservazione dipende da quelle precedenti, quindi mescolare i dati distrugge gli schemi di interesse. Gli obiettivi principali sono descrivere una serie tramite le sue tendenze e i suoi schemi stagionali, prevedere valori futuri, rilevare anomalie e classificare serie complete, come i ritmi cardiaci in un ECG.
Tendenza, stagionalità e stazionarietà#
La maggior parte delle serie combina alcuni componenti. La tendenza è la direzione a lungo termine; la stagionalità è uno schema che si ripete con un periodo fisso, ad esempio un giorno, una settimana o un anno; i cicli sono aumenti e cali più lunghi, senza un periodo fisso; il residuo è ciò che rimane. La decomposizione li separa, tradizionalmente tramite medie mobili e, in modo più robusto, con STL, la decomposizione stagionale-tendenza basata su regressione locale pubblicata da Robert Cleveland e colleghi nel 1990.
L'autocorrelazione, ovvero la correlazione di una serie con una sua copia ritardata, mette in evidenza questa struttura: un valore elevato al ritardo 24 nei dati orari significa che ogni ora assomiglia alla stessa ora del giorno precedente. Molti modelli statistici presuppongono anche la stazionarietà, cioè che media, varianza e autocorrelazione non cambino nel tempo. Il test aumentato di Dickey-Fuller verifica una forma comune di non stazionarietà; la differenziazione, che modella il cambiamento da un passaggio al successivo anziché il livello, rimuove una tendenza.
Questo esempio simula quattro settimane di conteggi orari di veicoli con un ciclo giornaliero, una lenta tendenza al rialzo e rumore; misura l'autocorrelazione e prevede l'ultimo giorno in due modi:
import numpy as np
import pandas as pd
# Four weeks of hourly vehicle counts: a daily cycle, a slow upward trend, and noise
rng = np.random.default_rng(0)
hours = pd.date_range("2026-03-01", periods=24 * 28, freq="h")
daily_cycle = 40 + 30 * np.sin(2 * np.pi * (hours.hour - 9) / 24)
counts = pd.Series(daily_cycle + 0.02 * np.arange(len(hours)) + rng.normal(0, 5, len(hours)), index=hours)
# Autocorrelation: how strongly each count resembles the count 1, 12, and 24 hours earlier
for lag in [1, 12, 24]:
print(f"Autocorrelation at lag {lag}: {counts.autocorr(lag):.2f}")
# Forecast the final day from the 27 days before it
history, actual = counts[:-24], counts[-24:].to_numpy()
naive = np.full(24, history.iloc[-1]) # repeat the last observed count
seasonal_naive = history.iloc[-24:].to_numpy() # repeat the same hour of the previous day
print(f"Naive MAE: {np.abs(actual - naive).mean():.1f} vehicles")
print(f"Seasonal naive MAE: {np.abs(actual - seasonal_naive).mean():.1f} vehicles")L'autocorrelazione è pari a 0,92 al ritardo 1, a -0,89 al ritardo 12, quando il picco pomeridiano coincide con il minimo notturno, e a 0,95 al ritardo 24. Ripetere l'ultimo conteggio osservato comporta un errore medio di 24,5 veicoli all'ora, mentre ripetere il conteggio del giorno precedente comporta un errore di 5,6: la previsione ingenua stagionale è quindi il riferimento che un modello di previsione deve superare.
Metodi di previsione#
I metodi statistici restano efficaci, soprattutto per le serie brevi. Lo smoothing esponenziale, sviluppato da Charles Holt e Peter Winters intorno al 1960, assegna il peso maggiore alle osservazioni recenti e aggiunge termini di tendenza e stagionalità. I modelli ARIMA, resi popolari da George Box e Gwilym Jenkins nel 1970, combinano autoregressione, differenziazione e medie mobili degli errori passati. Prophet di Meta adatta tendenza, stagionalità ed effetti delle festività ai dati aziendali.
I modelli di machine learning trattano la previsione come modellazione predittiva basata su valori ritardati e caratteristiche di calendario. Gli alberi potenziati con gradiente, come LightGBM, hanno dominato la competizione M5 del 2020 sulle vendite di Walmart; la competizione M4 del 2018, con 100.000 serie, è stata vinta dal modello ibrido di Slawek Smyl, che combina smoothing esponenziale e una rete neurale ricorrente. I modelli di deep learning comprendono LSTM, modelli a spazio di stato e Transformer; i modelli fondazionali preaddestrati, come Chronos di Amazon e TimesFM di Google, prevedono nuove serie in modalità zero-shot. I filtri di Kalman affrontano il compito correlato di stimare in tempo reale uno stato nascosto, come la posizione di un oggetto, a partire da misurazioni rumorose.
La valutazione deve rispettare l'ordine temporale. La convalida incrociata casuale consente al modello di vedere il futuro, una forma di data leakage; le previsioni vengono quindi testate con la valutazione a origine mobile, che addestra il modello su tutto ciò che precede un limite, prevede il periodo successivo e ripete l'operazione man mano che il limite avanza.
Serie temporali ricavate dai video#
La computer vision trasforma i video in serie temporali. Il conteggio degli oggetti su una telecamera del traffico produce il numero di veicoli al minuto; il tracking degli oggetti produce posizioni e velocità per fotogramma; le telecamere dei negozi producono conteggi delle presenze per ora. Le serie alimentano poi gli stessi metodi: previsione delle ore di punta o del personale necessario e rilevamento delle anomalie, che segnala un improvviso calo del traffico dopo un incidente. Nella soluzione Analytics di Ultralytics, analytics_type="line" traccia gli oggetti con un modello YOLO26 e rappresenta graficamente il numero di oggetti in vista ogni 30 fotogrammi, circa una volta al secondo per un video a 30 fps, così il flusso della telecamera diventa una serie di conteggi mentre viene riprodotto.
L'analisi delle serie temporali si sovrappone alla modellazione di sequenze nell'elaborazione del linguaggio naturale, dove il testo è ordinato in base alla posizione e non ha un intervallo di campionamento. I conteggi e le velocità ricavati dai video tramite modelli di rilevamento, tracking e comprensione dei video occupano molto meno spazio dei fotogrammi, quindi possono essere archiviati per anni e confrontati tra diverse telecamere.










