Vai al contenuto principale Passa a contenuto complementare

Utilizzo della previsione di serie temporali multivariate

Con Qlik Predict, è possibile addestrare modelli di machine learning per prevedere metriche temporali specifiche. Utilizzando metodi basati su reti neurali, i modelli apprendono e prevedono schemi complessi che coinvolgono associazioni temporali specifiche, dati di destinazione raggruppati, funzionalità storiche e variabili future note. Per creare una previsione di serie temporali, preparare un set di dati di addestramento, usarlo in un esperimento di serie temporali, distribuire un modello e poi creare set di dati di applicazione che è possibile usare per generare previsioni.

Componenti di un problema di serie temporali

Con la previsione di serie temporali, l'obiettivo è prevedere i valori di destinazione per date specifiche nel futuro. Ad esempio, si potrebbe voler prevedere le vendite per la settimana, il mese o il trimestre successivi.

Quando si sviluppa un problema di serie temporali, definire i seguenti componenti:

  • Destinazione e gruppi

  • Indice data

  • Orizzonte di previsione

  • Covariate

Nota informaticaQuesto framework descrive come definire una domanda di machine learning per i problemi di previsione di serie temporali. Per definire le domande di machine learning per problemi di classificazione e regressione, vedere Definizione delle domande di machine learning.

Illustrazione semplificata che delinea i componenti di un problema di previsione delle serie temporali in Qlik Predict.

Destinazione

Come per altri tipi di esperimenti, la destinazione è la colonna per la quale si desidera che il modello preveda i valori futuri. Per gli esperimenti di serie temporali, la destinazione deve contenere dati numerici, come vendite o inventario.

Se si utilizzano gruppi nella previsione di serie temporali, i modelli prevederanno un valore di destinazione per i gruppi per ogni fase temporale nella finestra di previsione. Se non si utilizzano gruppi, i modelli addestrati prevederanno un valore di destinazione per ogni fase temporale nella finestra di previsione.

Indicizzazione data

L'indice data monitora le metriche delle serie temporali durante un intervallo di tempo continuo (fase temporale). È necessario decidere la fase temporale in una fase iniziale: con quale frequenza è necessario prevedere i valori futuri?

Nello specifico, l'indice data è una colonna che compare nei set di dati di addestramento e di applicazione per i problemi di serie temporali. L'indice data determina la struttura di entrambi i set di dati di applicazione: ogni riga rappresenta una fase temporale (o, con i gruppi, una fase temporale per ogni raggruppamento univoco).

Quando si aggiunge il set di dati di addestramento in un esperimento di serie temporali, le possibili colonne con l'indice data vengono identificate automaticamente e presentate come Informazioni strategiche a livello di colonna. È possibile identificarle dall'informazione Indice data possibile nella vista schema.

Gruppi

I gruppi sono funzioni che contengono informazioni categoriche per le quali si desidera generare separatamente le previsioni. Gli esempi classici di gruppi includono il numero del negozio e il prodotto, che possono essere usati per organizzare i dati per un obiettivo come le vendite. Selezionando il numero del negozio e il tipo di prodotto come gruppi, i modelli di serie temporali forniranno previsioni per ogni singolo valore attraverso queste colonne. Ad esempio, con un obiettivo di vendite, se vi sono tre numeri di negozio (1, 2 e 3) e due tipi di prodotto (generi alimentari e prodotti freschi) il modello genererà previsioni di vendita per ogni combinazione unica di questi valori.

Se si dispone dei dati e si desidera generare previsioni individuali in base alla categoria, è necessario incorporare i gruppi nel problema di serie temporali. Un altro vantaggio dei gruppi è che i modelli possono apprendere a livello globale, comprendendo meglio i modelli che esistono tra i diversi raggruppamenti definiti.

È possibile configurare i gruppi da utilizzare per ogni versione dell'esperimento. Se non si specificano i gruppi ma i gruppi sono identificati nel set di dati di addestramento, l'addestramento utilizzerà i gruppi.

I gruppi sono identificati da valori duplicati nella colonna con l'indice data. Ad esempio, per la data 1/14/2025, sono disponibili due record: uno per il negozio A e l'altro per il negozio B.

Ogni gruppo in un esperimento di serie temporali, incluso il solo obiettivo, sono considerati serie temporali separate all'interno del set di dati. Vedere Cos'è una serie temporale?.

Orizzonte di previsione

L'orizzonte di previsione specifica quanto avanti nel futuro si desidera effettuare la previsione. L'orizzonte di previsione è composto dalla finestra di previsione (il numero di fasi temporali per i quali sono necessarie le previsioni) e dall'intervallo di previsione (un numero facoltativo di fasi temporali dopo i dati storici per i quali non si desiderano previsioni).

La finestra di previsione e la dimensione del divario vanno impostate durante la configurazione di una versione dell'esperimento. Questi valori vengono utilizzati sia durante l'addestramento del modello sia quando si generano le previsioni dai modelli distribuiti come distribuzioni di ML.

La finestra di previsione è il numero di fasi temporali per le quali si desidera effettuare le previsioni nel futuro. Per esempio, se la fase temporale è un giorno e si desidera prevedere le vendite per le prossime due settimane, è necessario impostare la finestra di previsione sul valore 14.

L'intervallo di previsione è l'intervallo di tempo nel futuro per cui non sono richieste previsioni. L'impostazione di un intervallo di previsione è facoltativa, perché può essere richiesto o meno. L'intervallo di previsione inizia quando terminano i dati di addestramento storici registrati forniti dall'utente. La finestra di previsione inizia dove termina il divario di previsione.

Ad esempio, potrebbe essere necessario prevedere le vendite future, ma solo per le vendite future realizzate nelle date successive a una settimana dopo il termine dei dati di input. In questo caso, con una fase temporale di giorni, si può impostare la dimensione dell'intervallo di previsione in sette fasi temporali.

La finestra di previsione selezionata, oltre alla quantità di dati di addestramento disponibili, limita quanto lontano nel futuro è possibile effettuare la previsione. Per ulteriori informazioni, vedere Finestra di previsione massima.

Covariate

Nei problemi di serie temporali, le funzioni sono spesso chiamate covariate. Similmente ad altri problemi di machine learning, le covariate sono le altre variabili che si sospetta abbiano un'influenza sull'esito della destinazione. Ogni covariata è rappresentata come una singola colonna nel set di dati di addestramento.

Nella previsione di serie temporali, esistono diversi tipi di covariate e presentano alcune importanti distinzioni:

  • Covariate statiche: colonne che non variano nel corso di una serie temporale. Le covariate statiche sono applicabili negli esperimenti di serie temporali in cui vengono utilizzati i gruppi. Ad esempio, supponiamo che di disporre di gruppi per Prodotto e Numero Negozio, e che ci sia una funzione Sconto Predefinito. Se il Prodotto A nel Negozio 1 ha uno sconto predefinito del 10% e il Prodotto B nel Negozio 2 ha uno sconto predefinito del 20%, lo Sconto Predefinito sarà una covariata statica. Ovvero, la variabile non varia all'interno dei dati per il gruppo nel quale appare.

    Le covariate statiche vengono rilevate automaticamente dalle funzioni storiche incluse nell'esperimento. Non è necessario indicare quali funzioni sono covariate statiche.

  • Covariate passate: variabili dipendenti dal tempo che sono disponibili solo nei dati storici e che variano in tali dati. Le covariate statiche vengono rilevate automaticamente dalle funzioni storiche incluse nell'esperimento. Non è necessario indicare in modo esplicito quali funzioni sono covariate passate.

  • Covariate future: le covariate future, note anche come funzioni future, sono variabili dipendenti dal tempo per le quali i valori futuri si conosceranno nell'orizzonte di previsione. Quando si utilizzano covariate future nell'addestramento, è necessario indicarle come funzioni future nella configurazione dell'addestramento.

Funzioni future

Con le funzioni future, è possibile fornire dati aggiuntivi ai modelli riguardo a informazioni future che si conoscono già o che si possono ragionevolmente prevedere. In particolare, è possibile accedere ai valori futuri per questa funzione che coprono l'orizzonte di previsione selezionato. Quando si definiscono le funzioni future, è necessario fornire dati storici e futuri.

Ad esempio, per un modello che prevede metriche che potrebbero essere influenzate da sconti futuri offerti da un negozio, è possibile includere gli sconti storicamente osservati, nonché gli sconti per periodi di tempo futuri all'interno della finestra di previsione. Altri esempi di funzioni future possono essere le informazioni meteorologiche o del calendario.

Altri concetti importanti

Questa sezione delinea i concetti che sono rilevanti per i problemi di serie temporali, ma che non si configurano direttamente in un esperimento o in una distribuzione di ML. Si tratta di proprietà che sono definite dai dati o da altre proprietà configurate per il modello dall'utente.

Fasi temporali

Le fasi temporali sono definite dal set di dati di addestramento e sono importanti sia per l'addestramento che per le previsioni.

Nel set di dati di addestramento, una fase temporale è l'intervallo di tempo in cui vengono registrati i dati nell'indice data. Ad esempio, la fase temporale può essere giornaliera, ogni ora, ogni minuto o ogni secondo.

È importante essere consapevoli della fase temporale utilizzata nei dati di addestramento. Altri parametri dell'esperimento definiti, come la finestra di previsione e la dimensione del divario di previsione, seguiranno l'intervallo della fase temporale definita.

Dopo aver distribuito il modello, i dati di applicazione per i quali si desidera creare previsioni dovranno seguire lo stesso intervallo di tempo definito nel set di dati di addestramento.

Qualità

Quando si seleziona un set di dati di addestramento, il sistema deduce la fase temporale utilizzata. Se ci sono valori mancanti o incoerenti nell'indice data, queste funzionalità possono essere interpolate automaticamente dal sistema. Tuttavia, se i dati contengono intervalli di tempo incoerenti al punto da rilevare intervalli di tempo diversi, i dati devono essere prima corretti. Ad esempio, se si dispone di diversi mesi di dati registrati una volta al giorno, ma esiste una sezione in cui i dati vengono registrati costantemente su base settimanale, il set di dati non può essere utilizzato perché verranno rilevati più intervalli di tempo.

Finestra di applicazione

La finestra di applicazione, o periodo di osservazione, è la porzione dei dati di addestramento che l'algoritmo può utilizzare per fornire le previsioni per la finestra di previsione specificata.

La finestra di applicazione viene calcolata e impostata dal sistema. Viene misurata in fasi temporali. La finestra di applicazione è definita dai valori impostati per finestra di previsione e divario (orizzonte di previsione).

La finestra di applicazione viene identificata automaticamente dalla configurazione dell'addestramento. Per generare previsioni per una finestra di previsione specifica, è necessario fornire i dati storici che coprano almeno la finestra di applicazione. Questi sono forniti nel set di dati di applicazione. Vedere Preparazione di un set di dati di applicazione.

Finestra di previsione massima

La finestra di previsione massima viene stimata durante la configurazione di un esperimento di serie temporali. Dopo aver eseguito una versione dell'addestramento, la finestra di previsione massima viene confermata con certezza. La finestra di previsione massima viene visualizzata come Previsione massima stimata o Previsione massima in In base ai dati, quando si apre Tipo di destinazione ed esperimento nel pannello di configurazione dell'esperimento. La finestra di previsione massima è il numero massimo di fasi temporali per le quali è possibile generare previsioni, in base alla finestra di previsione scelta, la quantità di dati storici forniti e la dimensione minima del campione prevista dal sistema. Più dati storici si forniscono, più avanti nel tempo si sarà in grado di fornire previsioni. Tuttavia, per generare previsioni affidabili, è importante selezionare una finestra di previsione ragionevole.

La finestra di previsione può includere un massimo di 180 fasi temporali.

Tempo massimo di previsione

Il tempo massimo di previsione è particolarmente importante quando si definisce il set di dati di applicazione durante le previsioni. Il tempo massimo di previsione è l'ultima data nel campione per la quale si dispone di un valore di destinazione. In sostanza, le date successive al tempo massimo sono le date per le quali si desidera generare previsioni.

Cos'è una serie temporale?

Nelle previsioni di serie temporali di Qlik Predict, ogni gruppo, incluso la sola destinazione, è considerato una serie temporale separata nel set di dati di addestramento. Ad esempio, supponiamo che il set di dati di addestramento contenga le metriche di vendita. Queste metriche di vendita sono definite per ogni negozio e tipo di prodotto. Con le colonne Negozio e Tipo di prodotto definite come gruppi, nel set di dati di addestramento sono presenti tre serie temporali.

Preparazione di un set di dati di addestramento

Per le previsioni di serie temporali multivariate, il set di dati di addestramento deve contenere le seguenti colonne:

  • Indice data

  • Colonna di destinazione

  • Colonne gruppo (facoltative)

  • Colonne funzioni (facoltative—senza funzioni, si sta addestrando un modello di previsione univariato)

Illustrazioni che mostrano le colonne e i dati richiesti per i set di dati di addestramento di serie temporali. Sono descritti scenari senza gruppi, con un gruppo e con due gruppi.

Diagramma lineare che delinea i componenti necessari e la sequenza temporale di un set di dati di addestramento per un modello di previsione di serie temporali.

Colonna indice data

È necessario un indice data contenente date o timestamp completi. Questa colonna è l'indice cronologico lungo il quale vengono tracciate le metriche di destinazione e le covariate. La colonna dell'indice data organizza le misurazioni basate sul tempo sequenzialmente lungo un intervallo di tempo coerente (la fase temporale).

La colonna dell'indice data è organizzata come segue, a seconda se si utilizzino o meno i gruppi:

  • Nessun gruppo: un singolo record per ogni fase temporale. Ad esempio, con una previsione giornaliera, ogni riga rappresenta un singolo giorno.

  • Con gruppi: una o più voci duplicate per ogni fase temporale a seconda dei gruppi utilizzati.

Con un set di dati di addestramento con multivariate, vi saranno una o più voci duplicate per ogni fase temporale a seconda dei gruppi utilizzati. C'è flessibilità nella fase temporale utilizzata: è possibile, ad esempio, registrare le date una o più volte su base giornaliera, settimanale o mensile, e così via.

Valori mancanti o registrati in modo incoerente in questa colonna sono talvolta accettabili, se possono essere interpolati. Tuttavia, i valori dell'indice data non possono contenere più fasi temporali diverse. Ad esempio, se l'intervallo è indicato come una volta al giorno, ma a un certo punto viene identificato un intervallo di due volte al giorno, si verificherà un errore durante l'addestramento.

Colonna di destinazione e colonne di gruppo

Il set di dati deve avere una colonna di destinazione contenente una metrica numerica che si desidera prevedere. Un esempio comune sono le vendite.

Se si utilizzano i gruppi, fornire i valori di destinazione storici per ogni possibile valore nei gruppi che si aggiungono. Ad esempio, se il la destinazione sono le Vendite e si aggiunge un gruppo Numero Negozio che contiene i dati per il Negozio A e il Negozio B, il set di dati deve includere due record separati per ogni fase temporale: uno con il valore delle vendite per il Negozio A, e l'altro con il valore delle vendite per il Negozio B.

Colonne funzione

È possibile addestrare un modello di serie temporali senza alcuna covariata. Tuttavia, se si includono covariate, fornire una colonna nel set di dati per ogni funzione. I dati delle funzioni in genere devono essere dati registrati storicamente, a meno che non si desideri aggiungere funzioni future. Le colonne delle funzioni future possono contenere sia dati storici che futuri. È necessario includere i dati delle funzioni future nel set di dati di addestramento solo se si è sicuri che i valori futuri di queste colonne saranno noti quando si creano le previsioni.

Tenere traccia delle funzionalità che si desidera utilizzare come funzionalità future, poiché è necessario selezionarle come tali nella configurazione dell'addestramento.

Volume di dati

Il set di dati deve contenere un numero sufficiente di record. Il volume dei dati storici svolge un ruolo nel determinare quanto lontano nel futuro è possibile effettuare previsioni. La finestra di previsione desiderata influisce anche sul numero di dati storici necessari.

In genere, quanto maggiore è il numero di dati storici e meglio è. Tuttavia, i dati devono essere di buona qualità e rispecchiare le tendenze desiderate. Se i dati forniscono informazioni irrilevanti o contengono imprecisioni, non è utile che siano inclusi nel modello. Considerare un equilibrio tra l'ottimizzazione del volume e il mantenimento della qualità e della pertinenza.

Esempi

Preparazione di un set di dati di applicazione

Dopo aver distribuito un modello di serie temporali, è necessario sviluppare un set di dati di applicazione per il quale verranno effettuate le previsioni.

Set di dati di applicazione — Requisiti e convalida

Per i modelli di serie temporali, il set di dati di applicazione richiede:

  • Colonne ed intestazioni di colonna per tutte le colonne incluse nel set di dati di training.

  • Lo stesso passo temporale del set di dati di training.

  • Un numero di record di dati storici (per target e gruppo) precedente all'ora limite di previsione pari o superiore al numero di record nella finestra di applicazione per il modello. Devono essere record completi contenenti la data o il timestamp osservati storicamente, i valori di target e covariata. La finestra di applicazione è determinata dalla finestra di previsione e dal gap configurati durante il training: più a lungo nel futuro è necessario prevedere, più dati storici sono necessari nel set di dati di applicazione per eseguire le previsioni.

  • Record per tutti i passi temporali futuri nel tuo orizzonte di previsione. Per questi record futuri, includi solo i valori per la colonna dell'indice di data, nonché eventuali funzionalità future. Lascia vuoti i valori per le altre colonne.

Nota di suggerimentoLa maggior parte dei requisiti sui dati storici per il set di dati di applicazione serve a specificare i volumi di dati minimi accettabili. È sempre possibile fornirne più del necessario. Quando il modello genera previsioni, vengono utilizzati solo i record necessari per coprire la finestra di applicazione.

Illustrazioni che mostrano le colonne e i dati richiesti per i set di dati di applicazione utilizzati per generare le previsioni dai modelli di previsione di serie temporali. Sono descritti scenari senza gruppi, con un gruppo e con due gruppi.

Diagramma lineare che delinea i componenti richiesti, oltre alla sequenza temporale, di un set di dati di applicazione utilizzato per generare previsioni con un modello di previsione di serie temporali.

Esempi

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – ti pregiamo di farcelo sapere!