Lavorare con la previsione di serie temporali multivariate
Con Qlik Predict, è possibile addestrare modelli di machine learning per prevedere metriche specifiche per il tempo. Utilizzando metodi basati su reti neurali, i modelli apprendono e prevedono modelli complessi che coinvolgono associazioni specifiche per il tempo, dati di destinazione raggruppati, funzionalità storiche e variabili future note. Per creare una previsione di serie temporali, preparare un set di dati di addestramento, utilizzarlo in un esperimento di serie temporali, distribuire un modello e quindi creare set di dati di applicazione che è possibile utilizzare 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 prossima settimana, mese o trimestre.
Quando si sviluppa il problema di serie temporali, definire i seguenti componenti:
-
Destinazione e gruppi
-
Indice data
-
Orizzonte di previsione
-
Covariate
Illustrazione semplificata che delinea i componenti di un problema di previsione di serie temporali in Qlik Predict.

Destinazione
Come per altri tipi di esperimento, la destinazione è la colonna per la quale si desidera che il modello preveda valori futuri. Per gli esperimenti di serie temporali, la destinazione deve contenere dati numerici, ad esempio vendite o inventario.
Se si utilizzano gruppi nella previsione di serie temporali, i modelli prevederanno un valore di destinazione per gruppo per 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.
Indice data
L'indice data tiene traccia delle metriche delle serie temporali su 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 appare nei set di dati di addestramento e di applicazione per i problemi di serie temporali. L'indice data determina la struttura di entrambi questi set di dati di applicazione: ogni riga rappresenta una fase nel tempo (o, con i gruppi, una fase nel tempo per ogni raggruppamento univoco).
Quando si aggiunge il set di dati di addestramento in un esperimento di serie temporali, le possibili colonne dell'indice data vengono identificate automaticamente e presentate come Approfondimenti a livello di colonna. È possibile identificarle dall'approfondimento Possibile indice data nella vista schema.
Gruppi
I gruppi sono funzionalità contenenti informazioni categoriche per le quali si desidera generare previsioni separatamente. Esempi classici di gruppi includono il numero del negozio e il prodotto, che potrebbero essere stati utilizzati per organizzare i dati per una destinazione 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 in queste colonne. Ad esempio, con una destinazione di vendite, se si hanno tre numeri di negozio (1, 2 e 3) e due tipi di prodotto (alimentari e ortofrutta), il modello genererà previsioni di vendita per ogni combinazione univoca di questi valori.
È consigliabile incorporare i gruppi nel problema di serie temporali se si dispone dei dati e si necessita di previsioni individuali per categoria. Un altro vantaggio dei gruppi è che i modelli possono apprendere a livello globale, comprendendo meglio i modelli esistenti tra i diversi raggruppamenti definiti.
È possibile configurare i gruppi da utilizzare per ogni versione dell'esperimento. Se non si specificano gruppi ma i gruppi vengono identificati nel set di dati di addestramento, l'addestramento utilizzerà i gruppi.
I gruppi sono identificati da valori duplicati nella colonna dell'indice data: ad esempio, per una data del 14/01/2025, si hanno due record: uno per il negozio A e l'altro per il negozio B.
Ogni gruppo in un esperimento di serie temporali, inclusa la sola destinazione, è considerato una serie temporale separata all'interno del set di dati. Vedere Cos'è una serie temporale?.
Gruppi primari e secondari
Per i problemi di serie temporali con due colonne di gruppo, un gruppo è il gruppo primario e l'altro è il gruppo secondario. Per esempi, vedere Preparazione di un set di dati di addestramento, Esempio di set di dati di addestramento: due gruppi e Esempio di set di dati di applicazione — due gruppi.
Il raggruppamento primario definisce serie temporali indipendenti. Ad esempio, ogni negozio diventa la propria serie temporale separata, consentendo al modello di apprendere comportamenti e modelli diversi tra i negozi.
Il raggruppamento secondario viene trattato in modo diverso. Invece di creare serie completamente separate, il sistema ruota tali valori in funzionalità aggiuntive (covariate), consentendo alle sottoserie correlate di fornire informazioni contestuali l'una all'altra.
In genere non è necessario sapere quale gruppo è il primario e quale il secondario, sebbene sia possibile scegliere facoltativamente un gruppo primario nell'esperimento. Si applicano alcune considerazioni per la previsione con modelli di serie temporali distribuiti: vedere Preparazione di un set di dati di applicazione.
Tutti i gruppi primari dovrebbero condividere gli stessi gruppi secondari. Ad esempio, se i negozi sono gruppi primari e i prodotti sono gruppi secondari, ogni negozio dovrebbe contenere lo stesso set di prodotti. Gruppi secondari mancanti porterebbero a dimensioni di funzionalità incoerenti tra le serie temporali.
Se ci si aspetta che i valori del gruppo secondario non si allineino con i valori del gruppo primario al momento della previsione, un possibile approccio è combinare i valori originali del gruppo primario e secondario in una nuova colonna di raggruppamento e utilizzarla come gruppo primario durante il riaddestramento del modello. In questa configurazione, il modello non dipende più dai gruppi secondari, ma le informazioni correlate tra i gruppi potrebbero essere ridotte.
Orizzonte di previsione
L'orizzonte di previsione specifica quanto nel futuro si desidera prevedere. L'orizzonte di previsione è composto dalla finestra di previsione (il numero di fasi temporali per le quali sono necessarie previsioni) e dal divario di previsione (un numero opzionale di fasi temporali dopo i dati storici per le quali non si desiderano previsioni).
Si impostano la finestra di previsione e la dimensione del divario durante la configurazione di una versione dell'esperimento. Questi valori vengono utilizzati sia durante l'addestramento del modello sia durante la generazione di previsioni da modelli distribuiti come distribuzioni ML.
La finestra di previsione è il numero di fasi temporali per le quali si desidera prevedere nel futuro. Ad esempio, se la fase temporale è di un giorno e si desidera prevedere le vendite per le due settimane successive, si imposterà la finestra di previsione su 14.
Il divario di previsione è la quantità di tempo nel futuro per la quale non sono richieste previsioni. L'impostazione di un divario di previsione è opzionale, poiché potrebbe essere necessario o meno. Il divario di previsione inizia alla fine dei dati di addestramento storici registrati forniti. La finestra di previsione inizia dove finisce il divario di previsione.
Ad esempio, si potrebbe voler prevedere le vendite future, ma si è interessati solo alle vendite future per date successive a una settimana dopo la fine dei dati di input. In questo caso, con una fase temporale in giorni, si potrebbe impostare la dimensione del divario di previsione su sette fasi temporali.
La finestra di previsione selezionata, oltre alla quantità di dati di addestramento disponibili, limita quanto nel futuro è possibile prevedere. Per ulteriori informazioni, vedere Finestra di previsione massima.
Covariate
Nei problemi di serie temporali, le funzionalità sono spesso chiamate covariate. Similmente ad altri problemi di machine learning, le covariate sono le altre variabili che si sospetta abbiano un'influenza sul risultato 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 di avere gruppi per Prodotto e Numero negozio e che esista una funzionalità 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%, Sconto predefinito sarebbe una covariata statica. Ovvero, non varia all'interno dei dati per il gruppo in cui appare.
Le covariate statiche vengono rilevate automaticamente dalle funzionalità storiche incluse nell'esperimento. Non è necessario indicare quali funzionalità sono covariate statiche.
-
Covariate passate: variabili dipendenti dal tempo che sono disponibili solo nei dati storici e che variano in questi dati. Le covariate passate vengono rilevate automaticamente dalle funzionalità storiche incluse nell'esperimento. Non è necessario indicare esplicitamente quali funzionalità sono covariate passate.
-
Covariate future: le covariate future, note anche come funzionalità future, sono variabili dipendenti dal tempo per le quali si conosceranno i valori futuri all'interno dell'orizzonte di previsione. Quando si utilizzano covariate future nell'addestramento, è necessario indicarle come funzionalità future nella configurazione dell'addestramento.
Funzionalità future
Con le funzionalità future, è possibile fornire dati aggiuntivi ai modelli su informazioni future che si conoscono già o che ci si può ragionevolmente aspettare. In particolare, si ha accesso ai valori futuri per questa funzionalità che coprono l'orizzonte di previsione selezionato. Quando si definiscono le funzionalità 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, si potrebbero includere gli sconti osservati storicamente, nonché gli sconti per periodi di tempo futuri all'interno della finestra di previsione. Altri esempi di funzionalità future potrebbero essere informazioni meteorologiche o di calendario.
Altri concetti importanti
Questa sezione delinea i concetti rilevanti per il problema di serie temporali, ma che non si configurano direttamente in un esperimento o in una distribuzione ML. Si tratta di proprietà definite dai dati o da altre proprietà configurate per il modello.
Fasi temporali
La fase temporale è definita dal set di dati di addestramento ed è importante sia per l'addestramento sia per le previsioni.
Nel set di dati di addestramento, la fase temporale è l'intervallo in cui vengono registrati i dati nell'indice data. Ad esempio, la fase temporale può essere giornaliera, ogni ora, ogni minuto o ogni secondo. La fase temporale più piccola rilevata è in millisecondi.
È 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 questo intervallo di fase temporale.
Dopo aver distribuito il modello, i dati di applicazione per i quali si desidera creare previsioni dovranno seguire la stessa fase temporale definita 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 divari nell'indice data, colonne come destinazione, gruppi e covariate possono essere interpolate automaticamente dal sistema. Tuttavia, se i dati contengono intervalli di tempo incoerenti al punto in cui vengono rilevate fasi temporali diverse, i dati devono essere prima corretti. Ad esempio, se si hanno diversi mesi di dati registrati una volta al giorno, ma c'è una sezione in cui i dati sono costantemente registrati su base settimanale, il set di dati non può essere utilizzato perché verranno rilevate più fasi temporali.
Finestra di applicazione
La finestra di applicazione, o periodo di look-back, è 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. È misurata in fasi temporali. La finestra di applicazione è definita da ciò che si imposta come finestra di previsione e divario (orizzonte di previsione). La dimensione della finestra di applicazione viene mostrata nel pannello di configurazione dell'esperimento e nel Riepilogo addestramento modello, dopo aver eseguito almeno una versione dell'esperimento. Viene mostrata anche in uno Schema modello di distribuzione ML durante la creazione o la modifica di una configurazione di previsione batch.
La finestra di applicazione viene identificata automaticamente dalla configurazione di addestramento. Per generare previsioni per una determinata finestra di previsione, è necessario fornire i dati storici che coprono almeno la finestra di applicazione. Questo viene fornito 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 dell'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 Destinazione e tipo di esperimento nel pannello di configurazione dell'esperimento. La finestra di previsione massima è il numero massimo di fasi temporali per le quali è possibile generare previsioni, data la 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 prevedere. Tuttavia, per generare previsioni affidabili, è importante selezionare una finestra di previsione ragionevole.
La finestra di previsione massima può arrivare fino a 180 fasi temporali.
Tempo di interruzione della previsione
Il tempo di interruzione della previsione è particolarmente importante quando si definisce il set di dati di applicazione durante le previsioni. Il tempo di interruzione della previsione è l'ultima data nel campione per la quale si ha un valore di destinazione. Essenzialmente, le date successive a questo tempo di interruzione sono le date per le quali si desidera generare previsioni.
Cos'è una serie temporale?
Nella previsione di serie temporali di Qlik Predict, ogni gruppo, inclusa la sola destinazione, è considerato una serie temporale separata all'interno del set di dati di addestramento. Ad esempio, supponiamo che il set di dati di addestramento contenga 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, ci sono tre serie temporali nel set di dati di addestramento.
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 di gruppo (opzionali)
-
Colonne di funzionalità (opzionali: senza funzionalità, 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. Vengono 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 dell'indice data
È necessario un indice data contenente date complete o timestamp. Questa colonna è l'indice cronologico lungo il quale vengono tracciate le metriche di destinazione e covariate. La colonna dell'indice data organizza le misurazioni basate sul tempo in modo sequenziale lungo un intervallo di tempo coerente (la fase temporale).
La colonna dell'indice data è organizzata come segue, a seconda che 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 multivariato, ci saranno una o più voci duplicate per ogni fase temporale a seconda dei gruppi utilizzati. C'è flessibilità nella fase temporale utilizzata: si potrebbero, 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 è determinato 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, si forniscono valori di destinazione storici per ogni possibile valore nei gruppi aggiunti. Ad esempio, se la destinazione è Vendite e si aggiunge un gruppo Numero negozio che contiene 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 di funzionalità
È possibile addestrare un modello di serie temporali senza alcuna covariata. Tuttavia, se si includono covariate, fornire una colonna nel set di dati per ogni funzionalità. I dati delle funzionalità dovrebbero generalmente essere dati registrati storicamente a meno che non si stiano aggiungendo funzionalità future. Le colonne delle funzionalità future possono contenere sia dati storici sia futuri. Si dovrebbero includere i dati delle funzionalità future nel set di dati di addestramento solo se si è sicuri che i valori futuri di queste colonne saranno noti quando si creeranno le previsioni.
Tenere traccia di quali funzionalità si utilizzeranno come funzionalità future, poiché sarà necessario selezionarle come tali nella configurazione dell'addestramento.
Volume dei dati
Il set di dati deve contenere un numero sufficiente di record: il volume dei dati è determinato dall'intervallo di tempo condiviso tra tutti i gruppi. Solo i dati di questo periodo di sovrapposizione vengono utilizzati per addestrare l'esperimento.
Il volume dei dati storici gioca un ruolo nel determinare quanto nel futuro è possibile prevedere. La finestra di previsione desiderata influisce anche sulla quantità di dati storici necessari.
In generale, più dati storici ci sono, meglio è. Tuttavia, i dati devono essere di buona qualità e catturare le tendenze desiderate. Se i dati forniscono informazioni irrilevanti o contengono inesattezze, non è utile averli 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 necessita di:
-
Colonne e intestazioni di colonna per tutte le colonne incluse nel set di dati di addestramento.
-
Lo stesso passo temporale del set di dati di addestramento.
-
Tutti i gruppi e i valori di gruppo che erano presenti nel set di dati di addestramento.
Nota informaticaSe nel set di dati di applicazione sono presenti nuovi valori di gruppo (che non erano presenti nei dati di addestramento), non vengono generate previsioni per queste righe. Se sono necessarie previsioni per questi nuovi valori di gruppo, si consiglia di riaddestrare il modello con dati di addestramento che li includano.Nota informaticaAl momento della previsione o nel set di dati di applicazione, i valori di gruppo mancanti vengono gestiti come segue:
-
L'assenza di valori del gruppo primario, su cui il modello è addestrato, è consentita.
-
I valori del gruppo secondario mancanti non sono consentiti. La previsione non riesce e restituisce un errore.
È preferibile raccogliere e fornire tutti i dati del gruppo secondario durante la previsione, quando possibile. Tuttavia, se si prevede che i gruppi secondari manchino principalmente al momento della previsione, una possibile soluzione è evitare del tutto l'uso dei gruppi secondari.
Invece, è possibile combinare i valori originali del gruppo primario e secondario in una singola nuova colonna di raggruppamento, utilizzarla come nuovo gruppo primario e riaddestrare il modello in base a tale struttura. In questa configurazione, il nuovo modello dipende solo dai gruppi primari appena introdotti.
Il compromesso è che si potrebbero perdere alcune delle informazioni correlate tra i gruppi, poiché ora verranno trattati come serie temporali completamente separate piuttosto che come sotto-serie correlate che forniscono informazioni contestuali l'una all'altra.
-
-
Un numero di record di dati storici (per target e gruppo) precedente al tempo di interruzione della previsione pari o superiore al numero di record nella finestra di applicazione per il modello. Questi devono essere record completi contenenti la data o la marca temporale osservata storicamente, il target e i valori della covariata. La finestra di applicazione è determinata dalla finestra di previsione e dal divario configurati durante l'addestramento: 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 nell'orizzonte di previsione. Per questi record futuri, includere solo i valori per la colonna dell'indice della data, nonché eventuali funzionalità future. Lasciare vuoti i valori per le altre colonne.
Illustrazioni che mostrano le colonne e i dati richiesti per i set di dati di applicazione utilizzati per generare previsioni dai modelli di previsione delle serie temporali. Vengono 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 applicazione utilizzato per generare previsioni con un modello di previsione delle serie temporali.
