Dopo aver salvato una pipeline di serie temporali AutoAI come modello, è possibile distribuire e calcolare il punteggio del modello per prevedere nuovi valori.
Distribuzione di un modello di serie temporale
Dopo aver salvato un modello ad un progetto, seguire i passi per distribuire il modello:
- Trova il modello nella lista degli asset del progetto.
- Promuovere il modello in uno spazio di distribuzione.
- Promuovere i dati di payload allo spazio di distribuzione.
- Dallo spazio di distribuzione, creare una distribuzione.
Considerazioni di punteggio
A questo punto, la distribuzione di un modello di serie temporale segue gli stessi passaggi della distribuzione di un modello di classificazione o regressione. Tuttavia, a causa del modo in cui le previsioni sono strutturate e generate in un modello di serie temporale, il tuo input deve corrispondere alla tua struttura modello. Ad esempio, il modo in cui si struttura il payload dipende dal fatto che si sta prevedendo un singolo risultato (univariato) o più risultati (multivariate).
Nota queste considerazioni di alto livello:
- Per ottenere la prima riga di finestra di previsione o righe dopo l'ultima riga nei dati, inviare un payload vuoto.
- Per ottenere il valore successivo, inviare il risultato dalla richiesta di payload vuota come prossima richiesta di valutazione, e così via.
- È possibile inviare più righe come input, per costruire le tendenze e prevedere il valore successivo dopo un andamento.
- Se si dispone di più colonne di previsione, è necessario includere un valore per ciascuno di essi nella propria richiesta di punteggio
- Quando si configura la distribuzione, è possibile specificare un valore per Passi futuri per modificare il numero di passi da prevedere. Ad esempio, per il tempo orario è possibile prevedere 24 passi.
Punteggio di una distribuzione online
Se si crea una distribuzione online, è possibile passare i dati di payload utilizzando un modulo di input o presentando il codice JSON. Questo esempio mostra come strutturare il codice JSON per generare previsioni.
Previsione di un valore unico
Nel caso più semplice, considerando questi dati di esempio, si cerca di prevedere il passo successivo di value1
con una finestra di previsione di 1, cioè ogni previsione sarà un singolo passo (riga).
data/ora | value1 |
---|---|
2015-02026 21:42 | 2 |
2015-02026 21:47 | 4 |
2015-02026 21:52 | 6 |
2015-02026 21:57 | 8 |
2015-02026 22:02 | 10 |
È necessario passare una voce vuota come dati di input per richiedere la prima previsione, strutturata così:
{
"input_data": [
{
"fields": [
"value1"
],
"values": []
}
]
}
L'output che viene restituito prevede il passo successivo nel modello:
{
"predictions": [
{
"fields": [
"prediction"
],
"values": [
[
12
]
]
}
]
}
Il prossimo input supera il risultato dell'output precedente per prevedere il passo successivo:
{
"input_data": [
{
"fields": [
"value1"
],
"values": [
[12]
]
}
]
}
Previsione di più valori
In questo caso, si prevede due destinazioni, value1
e value2
.
data/ora | value1 | value2 |
---|---|---|
2015-02026 21:42 | 2 | 1 |
2015-02026 21:47 | 4 | 3 |
2015-02026 21:52 | 6 | 5 |
2015-02026 21:57 | 8 | 7 |
2015-02026 22:02 | 10 | 9 |
I dati di input devono comunque passare una voce vuota per richiedere la prima previsione. Il prossimo input sarebbe strutturato così:
{
"input_data": [
{
"fields": [
"value1",
"value2"
],
"values": [
[2, 1],
]
}
]
}
Previsione basata su nuove osservazioni
Se invece di prevedere la riga successiva in base al passo precedente si desidera inserire nuove osservazioni, inserire i dati di input come questo per un modello univariato:
{
"input_data": [
{
"fields": [
"value1"
],
"values": [
[2],
[4],
[6]
]
}
]
}
Inserire nuove osservazioni come questa per un modello multivariato:
{
"input_data": [
{
"fields": [
"value1",
"value2"
],
"values": [
[2, 1],
[4, 3],
[6, 5]
]
}
]
}
Dove 2, 4 e 6 sono osservazioni per value1
e 1, 3, 5 sono osservazioni per value2
.
Segnare un modello di serie temporale con funzioni Supporting
Dopo aver distribuito il modello, è possibile andare alla pagina che dettagliava la propria distribuzione per ottenere valori di previsione. Scegli uno dei seguenti modi per testare la tua distribuzione:
Utilizzo dei valori di input esistenti
È possibile utilizzare i valori di input esistenti nel dataset per ottenere valori di previsione. Clicca su Presa per ottenere una serie di valori di previsione. Il numero totale di valori di previsione nell'output è definito da orizzonte di previsione precedentemente impostato durante la fase di configurazione dell'esperimento.
Utilizzo di nuovi valori di input
È possibile scegliere di popolare il foglio di calcolo con nuovi valori di input o utilizzare il codice JSON per ottenere una previsione.
Utilizzo di fogli di calcolo per fornire nuovi dati di input per la previsione dei valori
Per aggiungere i dati di input al foglio di calcolo Nuove osservazioni (opzionali) , selezionare la scheda Input e fare una delle seguenti:
- Aggiungere un file .csv preesistente contenente nuove osservazioni dalla directory locale facendo clic su Sfoglia file locali.
- Scaricare il modello di file di input cliccando su Scarica il modello CSV, immettere valori e caricare il file.
- Utilizza un asset di dati esistente dal tuo progetto cliccando su Cerca nello spazio.
- Inserire manualmente le osservazioni di input nel foglio di calcolo.
Puoi anche fornire i valori futuri per le funzioni Supporting se in precedenza hai abilitato il tuo esperimento per far leva su questi valori durante la fase di configurazione dell'esperimento. Assicurati di aggiungere questi valori al foglio di calcolo Future supporta features (optional) .
Utilizzo del codice JSON per fornire i dati di input
Per aggiungere i dati di input utilizzando il codice JSON, selezionare la scheda Paste JSON e fare una delle seguenti:
- Aggiungere il file JSON pre - esistente contenente nuove osservazioni dalla propria directory locale facendo clic su Sfoglia file locali.
- Utilizza un asset di dati esistente dal tuo progetto cliccando su Cerca nello spazio.
- Inserire manualmente o incollare il codice JSON nell'editor.
In questo esempio di codice, la colonna di previsione è pollution
e le funzioni di supporto sono temp
e press
.
{
"input_data": [
{
"id": "observations",
"values": [
[
96.125,
3.958,
1026.833
]
]
},
{
"id": "supporting_features",
"values": [
[
3.208,
1020.667
]
]
}
]
}
Passi successivi
Salvataggio di un blocco note generato da AutoAI (watsonx.ai Runtime)
Argomento principale: Creazione di un esperimento di serie temporale