Previsioni
Previsioni
Panoramica
Rilevata discrepanza linguistica e preparata la correzione in inglese
Il modulo di previsione di SKOOR offre una previsione basata sul machine learning delle tendenze future sui dati delle serie temporali. Sono disponibili quattro modelli:
Regressione lineare (Vedi la documentazione ufficiale qui)
Tutti i modelli supportano serie indicizzate per data e ora provenienti direttamente da una DataSource o DataQuery di SKOOR.
Pagina delle previsioni
La pagina delle previsioni è divisa in due sezioni.
Pagina Generale
Questa sezione include le impostazioni delle previsioni.
Sul lato sinistro:
Impostazione | Descrizione |
|---|---|
Periodo | Il periodo desiderato per la previsione. |
Abilita pianificazione | Pianificazione delle previsioni per automatizzare le previsioni. |
Configura modello di previsione | Scegliere il modello per la previsione. |
Configurare la definizione dei dati | Scegli i dati per la previsione. |
Selettore di copia tabella | Pulsante per copiare la tabella contenente la previsione. |
Esegui previsione | Esegue una previsione con le impostazioni configurate. Lo stato e l'avanzamento sono visibili nella pagina di esecuzione. |
Salva | Salva la configurazione della previsione. Se l'opzione di ricerca degli iperparametri nel configuratore del modello è selezionata, al momento del salvataggio viene avviata automaticamente un'esecuzione della previsione. |
Sul lato destro è presente la panoramica dei dati di previsione in una tabella. Viene visualizzata solo se esiste già una previsione.
Pagina di esecuzione
Questa sezione è responsabile dell'esecuzione e del monitoraggio delle esecuzioni della previsione. Offre il controllo sulla cronologia e consente di ottenere approfondimenti.
È possibile eseguire una previsione facendo clic sul pulsante "Esegui previsione". La cronologia completa delle esecuzioni può essere eliminata facendo clic sul pulsante "Elimina cronologia lavori". Si noti che tutte le tabelle create dalle previsioni verranno eliminate e per recuperarle è necessario eseguire nuovamente la previsione. Quando un lavoro è ancora in esecuzione, è possibile annullarlo facendo clic sulla X rossa sul lato destro dello stato visualizzato.
Cliccando su un lavoro, è possibile visualizzare l'output della console, lo stato di avanzamento, lo stato e ulteriori informazioni. Nell'output della console vengono visualizzati tutti i gruppi e la loro accuratezza. L'accuratezza indicata è misurata con il WAPE (Weighted Absolute Percentage Error), è espressa in percentuale ed è calcolata sulla base delle prestazioni del modello sui dati storici.
Creazione di una previsione
È possibile creare una configurazione di previsione cliccando sul pulsante più sul lato sinistro e inserendo un nome oppure importando una previsione utilizzando il formato json. Una volta creata una configurazione di previsione, è necessario impostare alcune opzioni nella pagina generale.
Configurazione del modello
Cliccando sul pulsante "Configura modello di previsione" si apre una finestra di dialogo in cui è possibile scegliere il modello. Attualmente sono disponibili 4 diverse opzioni di modello, visibili qui sotto. Alcuni modelli dispongono di un pulsante di ottimizzazione degli iperparametri che consente al modello di testare varie combinazioni di iperparametri al fine di individuare quella migliore. I vari iperparametri che è possibile impostare sono elencati sotto il modello. Se la ricerca degli iperparametri è già stata avviata, è possibile visualizzare e copiare gli iperparametri cliccando sul pulsante "Mostra iperparametri ottimizzati".
Una volta terminata l'impostazione degli iparametri, clicca su Salva per salvare la configurazione del modello o su Annulla per annullare le modifiche.
Sono disponibili i seguenti modelli tra cui scegliere:
Prophet
Prophet è uno strumento open source basato sul Machine Learning sviluppato da Meta (ex Facebook) per la previsione di dati di serie temporali. È progettato per essere robusto nei confronti dei dati mancanti e dei cambiamenti di tendenza, ed eccelle in particolare nella previsione di serie temporali con forte stagionalità. Prophet è in grado di gestire automaticamente gli effetti delle festività e consente all'utente di impostare i propri iperparametri per renderlo ancora più preciso.
Prophet è l'opzione più utilizzata tra quelle disponibili perché richiede un tempo moderato per l'addestramento ma fornisce costantemente i migliori risultati, rendendolo la scelta più conveniente nella maggior parte degli scenari. Prophet eccelle quando vengono forniti dati relativi a più stagioni in cui si verificano effetti stagionali ricorrenti, effetti festivi o cambiamenti di tendenza irregolari.
Una volta selezionato, il modello Prophet mostra anche le bande dell'intervallo di confidenza, che indicano il grado di certezza delle previsioni del modello. Quando visualizzata sulla dashboard, la banda dell'intervallo di confidenza appare in un colore più chiaro attorno alla previsione.
È possibile configurare le seguenti variabili:
Impostazione | Descrizione |
|---|---|
seasonality_mode | Determina se gli effetti stagionali vengono sommati o moltiplicati con la tendenza. Impostazione predefinita: |
yearly_seasonality | Abilita, disabilita o rileva automaticamente l'adattamento di un modello stagionale annuale. Impostazione predefinita: |
seasonalità_settimanale | Abilita, disabilita o rileva automaticamente l'adattamento di un modello stagionale settimanale. Impostazione predefinita: |
daily_seasonality | Abilita, disabilita o rileva automaticamente l'adattamento di un modello stagionale giornaliero. Impostazione predefinita: |
interval_width | Ampiezza dell'intervallo di incertezza restituito con ogni previsione. Impostazione predefinita: |
mcmc_samples | Numero di campioni MCMC per l'inferenza bayesiana completa; 0 utilizza invece la stima MAP. Impostazione predefinita: |
changepoint_prior_scale | Controlla la flessibilità della tendenza nei punti di cambiamento; valori più alti consentono cambiamenti di tendenza più aggressivi. Predefinito: |
seasonality_prior_scale | Forza di regolarizzazione per le componenti di stagionalità; valori più alti consentono oscillazioni stagionali più ampie. Impostazione predefinita: |
holidays_prior_scale | Controlla l'entità degli effetti delle festività sulla previsione. Impostazione predefinita: |
changepoint_range | Frazione della cronologia di addestramento in cui è consentito il verificarsi di punti di cambiamento di tendenza. Impostazione predefinita: |
n_changepoints | Numero di potenziali punti di cambiamento di tendenza inseriti automaticamente nel periodo di addestramento. Impostazione predefinita: |
uncertainty_samples | Numero di estrazioni posteriori utilizzate per stimare gli intervalli di incertezza delle previsioni. Impostazione predefinita: |
SARIMAX
SARIMAX (Seasonal Autoregressive Integrated Moving Average with Exogenous Regressors) è un modello statistico utilizzato per prevedere i punti futuri sulla base dei dati passati. Gestisce sia le tendenze che i modelli stagionali. È l'estensione del modello ARIMA con l'aggiunta di componenti stagionali.
SARIMAX funziona particolarmente bene quando i dati generati sono stabili e coerenti e quando si preferisce un modello statistico a un modello di apprendimento automatico.
Nel modello SARIMAX non ci sono variabili che possono essere regolate dall'utente.
Regressione lineare
La regressione lineare viene utilizzata per prevedere le tendenze solo adattando una linea retta ai dati di addestramento ed estendendo questa linea nel futuro. È uno strumento potente per prevedere le tendenze future in qualsiasi serie temporale di dati.
La regressione lineare è più indicata quando i dati sottostanti mostrano una tendenza lineare chiara e coerente con stagionalità o rumore minimi.
Nel modello di regressione lineare non ci sono variabili che possono essere regolate dall'utente.
XGBoost
Il modello XGBoost utilizza alberi decisionali potenziati dal gradiente per la previsione diretta in più fasi. Prima dell'addestramento, applica un'ampia ingegneria delle caratteristiche alla serie temporale di input, estraendo caratteristiche di ritardo, statistiche rolling e caratteristiche basate sul calendario, per poi prevedere ogni punto futuro in modo indipendente.
XGBoost funziona al meglio con dati complessi e non lineari. Può raggiungere una buona accuratezza, ma richiede tempo per l'addestramento e, in alcuni casi, i dati devono essere pre-elaborati separatamente in anticipo.
È possibile configurare le seguenti variabili:
Impostazione | Descrizione |
|---|---|
obiettivo | Funzione di perdita utilizzata durante l'addestramento; determina quale metrica di errore il modello ottimizza. Impostazione predefinita: |
quantile_alpha | Livello quantile target quando si utilizza la regressione quantile come obiettivo. Impostazione predefinita: |
n_estimators | Numero di alberi di boosting da costruire; un numero maggiore di alberi aumenta la capacità ma comporta il rischio di overfitting. Impostazione predefinita: |
learning_rate | Riduzione della dimensione del passo applicata dopo ogni albero per prevenire l'overfitting. Impostazione predefinita: |
max_depth | Profondità massima di ciascun albero; controlla la complessità del modello e l'ordine di interazione. Impostazione predefinita: |
min_child_weight | Somma minima dei pesi delle istanze richiesta per creare un nodo foglia. Impostazione predefinita: |
gamma | Riduzione minima della perdita richiesta per dividere un nodo; valori più alti rendono il modello più conservativo. Predefinito: |
subsample | Frazione di righe di addestramento campionate per albero, utilizzata per ridurre l'overfitting. Impostazione predefinita: |
colsample_bytree | Frazione di caratteristiche selezionate casualmente durante la costruzione di ciascun albero. Impostazione predefinita: |
reg_alpha | Termine di regolarizzazione L1 sui pesi delle foglie; favorisce soluzioni sparse. Impostazione predefinita: |
reg_lambda | Termine di regolarizzazione L2 sui pesi delle foglie; penalizza i valori di peso elevati. Impostazione predefinita: |
Origine dati
La finestra di configurazione della fonte dati consente di specificare i dati utilizzati per addestrare il modello.
La fonte dei dati può essere selezionata sulla sinistra. Esistono due tipi di fonte di dati: una fonte di dati dal database SKOOR o una query di dati dalla scheda Data Query. Quando si seleziona la fonte di dati sono necessarie ulteriori scelte, che possono essere impostate nella finestra, come la fonte di dati, la tabella e le colonne. Quando si seleziona l'opzione della query di dati, è necessario impostare la query di dati, così come le colonne di quella query.
Le colonne Valore, Data e Discriminatore possono essere selezionate facendo clic sul menu a tendina. Il menu a tendina mostrerà automaticamente le colonne che soddisfano i requisiti. È necessario scegliere le seguenti colonne:
Impostazione | Descrizione |
|---|---|
Colonna Valore | Deve contenere valori numerici associati a ciascun timestamp. |
Colonna data | I dati devono utilizzare un formato di timestamp AAAA-MM-GG HH:mm e ogni gruppo di dati deve avere timestamp univoci per gruppo (gruppi definiti da colonne discriminanti o dalla struttura intrinseca dei dati). |
Colonne discriminanti | Colonne opzionali utilizzate per definire il raggruppamento e la gerarchia (ad es. paese → stato → città). Non vi sono requisiti rigorosi per i dati, ma l'ordine delle colonne è importante, poiché ogni livello affina ulteriormente il raggruppamento. |
Sul lato destro della finestra dei dati è possibile selezionare ulteriori opzioni di pre-elaborazione dei dati.
Impostazioni | Descrizione |
|---|---|
Frequenza | Imposta la risoluzione di output della previsione. Maggiori informazioni. |
Tipo di interpolazione | Definisce come vengono inseriti i timestamp mancanti. Maggiori informazioni. |
Tipo di aggregazione | Controlla come vengono combinati più valori all'interno di un periodo. Maggiori informazioni. |
Frequenza
La frequenza determinerà l'output della previsione. È possibile scegliere tra le seguenti frequenze:
Impostazione | Descrizione |
|---|---|
SECONDAMENTE | Risultato della previsione con risoluzione al secondo. |
MINUTELY | Risultato della previsione con risoluzione al minuto. |
OGNI ORA | Risultati delle previsioni con risoluzione oraria. |
GIORNALIERA | Risultati delle previsioni con risoluzione giornaliera. |
SETTIMANALE_DOM | Risultati delle previsioni con risoluzione settimanale; la settimana inizia la domenica. |
SETTIMANALE_LUN | Risultati delle previsioni con risoluzione settimanale, la settimana inizia il lunedì. |
WEEKLY_TUE | Risultati delle previsioni con risoluzione settimanale, la settimana inizia il martedì. |
WEEKLY_WED | Risultati delle previsioni con risoluzione settimanale, la settimana inizia il mercoledì. |
WEEKLY_THU | Risultati delle previsioni con risoluzione settimanale, la settimana inizia il giovedì. |
WEEKLY_FRI | Risultati delle previsioni con risoluzione settimanale, la settimana inizia il venerdì. |
WEEKLY_SAT | Risultati delle previsioni con risoluzione settimanale, la settimana inizia il sabato. |
MONTHLY_END | Risultati delle previsioni con risoluzione mensile, ancorati all'ultimo giorno del mese. |
MONTHLY_START | Risultati delle previsioni con risoluzione mensile, con riferimento al primo giorno del mese. |
QUARTERLY_END | Risultato della previsione con risoluzione trimestrale, ancorato all'ultimo giorno del trimestre. |
QUARTERLY_START | Risultato della previsione con risoluzione trimestrale, ancorato al primo giorno del trimestre. |
FINE_ANNUALE | Risultato della previsione con risoluzione annuale, ancorato all'ultimo giorno dell'anno. |
INIZIO_ANNUALE | Risultato della previsione con risoluzione annuale, ancorato al primo giorno dell'anno. |
Internamente, la serie di dati fornita viene interpolata o aggregata alla frequenza impostata utilizzando il tipo di interpolazione e/o il tipo di aggregazione. Si noti che se i dati presentano date mancanti o sono troppo numerosi per la frequenza, l'interpolazione e/o l'aggregazione selezionata viene applicata automaticamente per garantire una previsione fluida.
Tipi di interpolazione:
Impostazione | Descrizione |
|---|---|
Nessuna | Nessuna interpolazione applicata, i dati vengono elaborati così come sono. |
Lineare | Riempie gli spazi vuoti tracciando una linea retta tra i valori noti. |
In avanti | Riempie i vuoti in avanti utilizzando l'ultimo valore noto (riempimento in avanti). |
Ultimo | Riempie gli spazi vuoti all'indietro utilizzando il valore noto successivo (riempimento all'indietro). |
Spline | Riempie i vuoti utilizzando una curva cubica liscia adattata ai valori noti. |
Tipi di aggregazione:
Impostazione | Descrizione |
|---|---|
Nessuna | Nessuna aggregazione applicata, i dati vengono elaborati così come sono. |
Somma | Somma tutti i valori all'interno di ciascun periodo. |
Media | Calcola la media di tutti i valori all'interno di ciascun periodo. |
Mediana | Restituisce il valore centrale di tutti i valori all'interno di ciascun periodo. |
Conteggio | Conta il numero di valori non nulli all'interno di ciascun periodo. |
Min | Restituisce il valore più piccolo all'interno di ciascun periodo. |
Max | Restituisce il valore più grande all'interno di ciascun periodo. |
Primo | Restituisce il primo valore all'interno di ciascun periodo. |
Ultimo | Restituisce l'ultimo valore all'interno di ciascun periodo. |
STD | Calcola la deviazione standard di tutti i valori all'interno di ciascun periodo. |
Permessi
Sola lettura
Leggi i risultati delle previsioni
Cerca configurazioni di previsione in base alla definizione del valore
Editor
Tutto ciò che la modalità di sola lettura può fare
Elenca tutte le configurazioni di previsione (solo vista semplice)
Editor dati
Tutto ciò che Editor può fare
Diritti completi (crea, leggi, aggiorna, elimina) su configurazioni e gruppi di previsioni
Avviare, visualizzare e annullare i lavori di previsione
Esportazione / importazione delle configurazioni
Admin
Tutto ciò che Dataeditor può fare
Eliminare la cronologia dei lavori
Visualizzazione delle previsioni su una dashboard
Utilizzo del widget di previsione predefinito
SKOOR implementa un facile accesso alle previsioni introducendo un pulsante nel widget dei grafici. Basta creare un widget grafico sulla Dashboard, impostare il tipo di grafico su Misto e configurare le stesse definizioni dei dati presenti nella configurazione delle previsioni. Dopo aver impostato l'origine dati, clicca su sincronizza colonne nella sezione Colonne in basso a destra nella finestra di dialogo di modifica del widget oppure aggiungi manualmente la colonna che è stata oggetto di previsione. Quindi clicca su quella colonna e spunta la casella mostra previsione. Selezionare la configurazione di previsione corrispondente dal menu a tendina, quindi applicare. Ora l'anteprima dovrebbe già mostrare i dati storici con la previsione corrispondente.
Utilizzo di una query dati personalizzata
La tabella contenente i risultati della previsione può essere copiata negli appunti semplicemente cliccando sul selettore "Copia tabella" nella pagina generale della configurazione della previsione. Utilizzando questa tabella, è possibile accedere ai dati di previsione e scrivere la propria query di dati, ad esempio in SKOOR Studio. Si noti che ci sono differenze nelle colonne della tabella come descritto:
Prophet
colonna del valore (con lo stesso nome della colonna del valore di input)
colonna del timestamp (con lo stesso nome della colonna del timestamp di input)
valore di confidenza inferiore (nome identico alla colonna del valore di input, ma con “_lower” alla fine)
valore di confidenza superiore (nome identico alla colonna del valore di input ma con “_upper” alla fine)
accuratezza
colonne discriminanti (Stesso numero di colonne del numero di colonne discriminanti specificato. Con lo stesso nome delle colonne discriminanti di input.)
Regressione lineare
colonna del valore (con lo stesso nome della colonna del valore di input)
colonna del timbro data (Con lo stesso nome della colonna del timbro data in ingresso.)
accuratezza
colonne discriminanti (Stesso numero di colonne del numero di colonne discriminanti specificato. Denominate come le colonne discriminanti di input.)
SARIMAX
colonna valore (con lo stesso nome della colonna valore in ingresso)
colonna data e ora (con lo stesso nome della colonna data e ora in ingresso)
accuratezza
colonne discriminanti (Stesso numero di colonne del numero di colonne discriminanti specificato. Denominate come le colonne discriminanti di input.)
XGBoost
colonna del valore (con lo stesso nome della colonna del valore di input)
colonna data e ora (con lo stesso nome della colonna data e ora in ingresso)
accuratezza
colonne discriminanti (Stesso numero di colonne del numero di colonne discriminanti specificato. Denominate come le colonne discriminanti di input.)





