Utilizzo della previsione di serie temporali multivariata | Guida di Qlik Cloud
Vai al contenuto principale Passa a contenuto complementare

Utilizzo della previsione di serie temporali multivariata

Con Qlik Predict, è possibile addestrare modelli di machine learning per prevedere metriche specifiche nel tempo. Utilizzando metodi basati su reti neurali, i modelli apprendono e prevedono pattern complessi che coinvolgono associazioni specifiche nel tempo, dati target raggruppati, funzionalità storiche e variabili future note. Per creare una previsione di serie temporali, preparare un insieme di dati di addestramento, utilizzarlo in un esperimento di serie temporali, distribuire un modello e quindi creare insiemi 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 target per date specifiche nel futuro. Ad esempio, potrebbe essere necessario prevedere le vendite per la settimana, il mese o il trimestre successivi.

Durante lo sviluppo del problema di serie temporali, definire i seguenti componenti:

  • Target e gruppi

  • Indice data

  • Orizzonte di previsione

  • Covariate

Nota informaticaQuesto framework descrive come definire una domanda di machine learning per problemi di previsione di serie temporali. Per definire 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 di serie temporali in Qlik Predict.

Target

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

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

Indice data

L'indice data tiene traccia delle metriche delle serie temporali su un intervallo di tempo continuo (passaggio temporale). È necessario decidere il passaggio temporale in una fase iniziale: con quale frequenza è necessario prevedere i valori futuri?

Nello specifico, l'indice data è una colonna che appare negli insiemi di dati di addestramento e di applicazione per i problemi di serie temporali. L'indice data determina la struttura di entrambi questi insiemi di dati di applicazione: ogni riga rappresenta un passaggio nel tempo (o, con i gruppi, un passaggio nel tempo per ogni raggruppamento univoco).

Quando si aggiunge l'insieme di dati di addestramento in un esperimento di serie temporali, le possibili colonne dell'indice data vengono identificate automaticamente e presentate come Insights a livello di colonna. È possibile identificarle dall'insight 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 di negozio e il prodotto, che avrebbero potuto essere utilizzati per organizzare i dati per un target come le vendite. Selezionando il numero di 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 un target di vendite, se si dispone di tre numeri di negozio (1, 2 e 3) e due tipi di prodotto (generi alimentari e prodotti agricoli), il modello genererà previsioni di vendita per ogni combinazione univoca di questi valori.

È necessario 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 pattern che esistono tra i diversi raggruppamenti definiti.

È possibile configurare i gruppi da utilizzare per ogni versione dell'esperimento. Se non si specificano gruppi ma questi vengono identificati nell'insieme di dati di addestramento, l'addestramento utilizzerà i gruppi.

I gruppi vengono 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, incluso il solo target, è considerato una serie temporale separata all'interno dell'insieme di dati. Vedere Cos'è una serie temporale?.

Orizzonte di previsione

L'orizzonte di previsione specifica quanto lontano nel futuro si desidera effettuare la previsione. L'orizzonte di previsione è composto dalla finestra di previsione (il numero di passaggi temporali per i quali sono necessarie previsioni) e dal gap di previsione (un numero opzionale di passaggi temporali dopo i dati storici per i quali non si desiderano previsioni).

Si impostano la finestra di previsione e la dimensione del gap durante la configurazione di una versione dell'esperimento. Questi valori vengono utilizzati sia durante l'addestramento del modello che durante la generazione di previsioni da modelli distribuiti come distribuzioni ML.

La finestra di previsione è il numero di passaggi temporali per i quali si desidera prevedere il futuro. Ad esempio, se il passaggio temporale è di un giorno e si desidera prevedere le vendite per le due settimane successive, si imposterà la finestra di previsione a 14.

Il gap di previsione è la quantità di tempo nel futuro per la quale non sono richieste previsioni. L'impostazione di un gap di previsione è facoltativa, poiché potrebbe essere necessario o meno. Il gap di previsione inizia alla fine dei dati storici di addestramento registrati forniti. La finestra di previsione inizia dove termina il gap di previsione.

Ad esempio, si potrebbe cercare di 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 un passaggio temporale di giorni, si potrebbe impostare la dimensione del gap di previsione a sette passaggi temporali.

La finestra di previsione selezionata, oltre alla quantità di dati di addestramento disponibili, limita quanto lontano nel futuro è possibile effettuare previsioni. 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 del target. Ogni covariata è rappresentata come una singola colonna nell'insieme di dati di addestramento.

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

  • 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 gruppi. Ad esempio, supponiamo di avere gruppi per Prodotto e Numero di 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 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 entro l'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 già note o ragionevolmente prevedibili. In particolare, si ha accesso a valori futuri per questa funzionalità che coprono l'orizzonte di previsione selezionato. Quando si definiscono 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 storicamente osservati, 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 vengono configurati direttamente in un esperimento o in una distribuzione ML. Si tratta di proprietà definite dai dati o da altre proprietà configurate per il modello.

Passaggi temporali

Il passaggio temporale è definito dall'insieme di dati di addestramento ed è importante sia per l'addestramento che per le previsioni.

Nell'insieme di dati di addestramento, il passaggio temporale è l'intervallo in cui vengono registrati i dati nell'indice data. Ad esempio, il passaggio temporale può essere giornaliero, ogni ora, ogni minuto o ogni secondo. Il passaggio temporale più piccolo rilevato è in millisecondi.

È importante essere consapevoli del passaggio temporale utilizzato nei dati di addestramento. Altri parametri dell'esperimento definiti, come la finestra di previsione e la dimensione del gap di previsione, seguiranno questo intervallo di passaggio temporale.

Dopo aver distribuito il modello, i dati di applicazione per i quali si desidera creare previsioni dovranno seguire lo stesso passaggio temporale definito nell'insieme di dati di addestramento.

Qualità

Quando si seleziona un insieme di dati di addestramento, il sistema deduce il passaggio temporale utilizzato. Se sono presenti valori mancanti o gap nell'indice data, colonne come target, gruppi e covariate possono essere interpolate automaticamente dal sistema. Tuttavia, se i dati contengono intervalli di tempo incoerenti al punto da rilevare passaggi temporali diversi, i dati devono essere corretti prima. Ad esempio, se si dispone di diversi mesi di dati registrati una volta al giorno, ma c'è una sezione in cui i dati vengono registrati costantemente su base settimanale, l'insieme di dati non può essere utilizzato perché verranno rilevati più passaggi 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. Viene misurata in passaggi temporali. La finestra di applicazione è definita da ciò che si imposta come finestra di previsione e gap (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 anche mostrata 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 dell'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 nell'insieme di dati di applicazione. Vedere Preparazione di un insieme 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 Target e tipo di esperimento nel pannello di configurazione dell'esperimento. La finestra di previsione massima è il numero massimo di passaggi temporali per i 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ù lontano nel tempo sarà possibile 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.

Data di taglio della previsione

La data di taglio della previsione è particolarmente importante quando si definisce l'insieme di dati di applicazione durante le previsioni. La data di taglio della previsione è l'ultima data nel campione per la quale si dispone di un valore target. Essenzialmente, le date successive a questa data di taglio sono le date per le quali si desidera generare previsioni.

Cos'è una serie temporale?

Nella previsione di serie temporali di Qlik Predict, ogni gruppo, incluso il solo target, è considerato una serie temporale separata all'interno dell'insieme di dati di addestramento. Ad esempio, supponiamo che l'insieme 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 nell'insieme di dati di addestramento.

Preparazione di un insieme di dati di addestramento

Per le previsioni di serie temporali multivariate, l'insieme di dati di addestramento deve contenere le seguenti colonne:

  • Indice data

  • Colonna target

  • Colonne gruppo (opzionale)

  • Colonne funzionalità (opzionale: senza funzionalità, si sta addestrando un modello di previsione univariata)

Illustrazioni che mostrano le colonne e i dati richiesti per gli insiemi 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 cronologia di un insieme di dati di addestramento per un modello di previsione di serie temporali.

Colonna indice data

È necessario un indice data contenente date complete o timestamp. Questa colonna è l'indice cronologico lungo il quale vengono tracciate le metriche target e covariate. La colonna indice data organizza le misurazioni basate sul tempo in sequenza lungo un intervallo di tempo coerente (il passaggio temporale).

La colonna indice data è organizzata come segue, a seconda che si utilizzino o meno gruppi:

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

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

Con un insieme di dati di addestramento multivariato, ci saranno una o più voci duplicate per ogni passaggio temporale a seconda dei gruppi utilizzati. C'è flessibilità nel passaggio temporale utilizzato: 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ù passaggi temporali diversi. Ad esempio, se l'intervallo viene 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 target e colonne gruppo

L'insieme di dati deve avere una colonna target contenente una metrica numerica che si desidera prevedere. Un esempio comune sono le vendite.

Se si utilizzano gruppi, si forniscono valori target storici per ogni possibile valore nei gruppi aggiunti. Ad esempio, se il target è Vendite e si aggiunge un gruppo Numero di negozio che contiene dati per il Negozio A e il Negozio B, l'insieme di dati deve includere due record separati per ogni passaggio temporale: uno con il valore di vendita per il Negozio A e l'altro con il valore di vendita per il Negozio B.

Colonne funzionalità

È possibile addestrare un modello di serie temporali senza alcuna covariata. Tuttavia, se si includono covariate, fornire una colonna nell'insieme di dati per ogni funzionalità. I dati delle funzionalità dovrebbero essere generalmente dati registrati storicamente, a meno che non si stiano aggiungendo funzionalità future. Le colonne delle funzionalità future possono contenere dati sia storici che futuri. Si dovrebbero includere dati di funzionalità future nell'insieme di dati di addestramento solo se si è certi che i valori futuri di queste colonne saranno noti quando si creeranno le previsioni.

Tenere traccia delle funzionalità che verranno utilizzate come funzionalità future, poiché sarà necessario selezionarle come tali nella configurazione dell'addestramento.

Volume dei dati

L'insieme 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 sovrapposto vengono utilizzati per addestrare l'esperimento.

Il volume dei dati storici gioca un ruolo nel determinare quanto lontano nel futuro è possibile prevedere. Anche la finestra di previsione desiderata influisce sulla quantità di dati storici necessari.

Generalmente, più dati storici sono meglio è. Tuttavia, i dati devono essere di buona qualità e catturare i trend desiderati. 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 rilevanza.

Esempi

Preparazione di un insieme di dati di applicazione

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

Insieme di dati di applicazione: requisiti e convalida

Per i modelli di serie temporali, l'insieme 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.

  • Un numero di record di dati storici (per target e gruppo) precedenti al tempo di interruzione della previsione pari o superiore al numero di record nella finestra di applicazione del modello. Questi devono essere record completi contenenti la data o il timestamp osservati storicamente, il target e i valori delle covariate. La finestra di applicazione è determinata dalla finestra di previsione e dal gap configurati durante l'addestramento: più in là 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 proprio orizzonte di previsione. Per questi record futuri, includere solo i valori per la colonna dell'indice della data, oltre a eventuali funzionalità future. Lasciare vuoti i valori per le altre colonne.

Nota di suggerimentoLa maggior parte dei requisiti di dati storici per l'insieme di dati di applicazione serve a specificare 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 gli insiemi di dati di applicazione utilizzati per generare previsioni da modelli di previsione di serie temporali. Vengono descritti scenari senza gruppi, con un gruppo e con due gruppi.

Diagramma lineare che delinea i componenti necessari e la cronologia di un insieme 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!