Appendice A: Domande frequenti
D.: Come inizio a usare Amazon Forecast?
-
Per prima cosa, è necessario un Account AWS.
-
Apri quindi il servizio Forecast nella AWS Management Console
, crea un gruppo di set di dati e importa un file .csvnel set di dati della serie temporale di destinazione (obbligatorio). I dati minimi necessari per iniziare sono dati cronologici per la quantità che vuoi prevedere, ad esempio l'elettricità per timestamp per nucleo familiare. -
Crea infine un modello eseguendo CreatePredictor e genera i risultati eseguendo CreateForecast. Per ulteriori informazioni, consulta la pagina della documentazione introduttiva.
Consulta anche la pagina Amazon Forecast Introduction, Best Practices, and Cheat Sheet Tutorial
D.: Amazon Forecast è una soluzione adatta per il mio caso d'uso?
Non tutti i problemi correlati al machine learning sono problemi di previsione. La prima domanda da porsi è se il problema aziendale includa una o più serie temporali nella sua definizione. Ad esempio, devi prevedere un determinato valore solo in una data e un'ora specifiche nel futuro? Le previsioni non sono la scelta migliore per problemi statici generali, in cui la data e l'ora specifiche non sono importanti, ad esempio per il rilevamento di frodi o il suggerimento di titoli di film agli utenti. Esistono soluzioni molto più rapide per i problemi statici.
Oltre alla presenza di dati di serie temporale, i dati stessi devono essere "densi" e con cronologie estese. La tabella seguente fornisce un riepilogo:
Tabella 2 – Criteri e classi di algoritmi Amazon Forecast
| Criteri | Classe di algoritmi Amazon Forecast |
|---|---|
| Set di dati di grandi dimensioni con fino a cinque milioni di serie temporali con modelli sottostanti simili + effetti stagionali + dati correlati. Ogni serie temporale deve essere caratterizzata da una cronologia estesa, in teoria più di due anni per acquisire eventi annuali, e includere più di 300 punti dati, idealmente almeno 1000. | Algoritmi di deep learning Amazon Forecast proprietari DeepAr+ e CNN-QR |
| Piccolo set di dati da 1 a più centinaia di serie temporali, di cui la maggior parte include 300 punti dati + effetti stagionali + dati correlati. | Prophet |
| Piccolo set di dati da 1 a più decine di serie temporali, di cui la maggior parte include più di 300 punti dati + effetti stagionali. | ETS, ARIMA |
| Set di dati intermittente (di tipo sparse, contenenti molti 0) da 1 a più decine di serie temporali, di cui la maggior parte include più di 300 punti dati. | Algoritmo Amazon Forecast proprietario NPTS |
| Piccolo set di dati (di tipo normale o sparse) da 1 a più decine di serie temporali, di cui la maggior parte include meno di 300 punti dati. | I dati sono insufficienti per Amazon Forecast. Prova invece ETS in Excel o i modelli statistici tradizionali ARIMA e Prophet. |
La soluzione migliore è fare pratica con la modalità AutoML nel predittore, la prima volta sui tuoi dati. AutoML proverà automaticamente tutti gli algoritmi (gli algoritmi di deep learning vengono eseguiti con ottimizzazione degli iperparametri attivata), per identificare quello che funziona meglio sui dati.
D.: Come devo gestire i dati mancanti? Quando diventano troppi per generare previsioni sensate?
È possibile che vi siano problemi di registrazione dei dati o che il livello di aggregazione dei dati sia troppo basso o troppo alto. La regola generale è che la lunghezza della previsione non può essere maggiore di 1/3 dei dati di addestramento.
Oltre alla quantità di dati mancanti, un aspetto di cui tenere conto è l'attribuzione dei dati mancanti. Puoi convertire tutti gli 0 in valori null e lasciare che Amazon Forecast si occupi dell'attribuzione automatica dei valori mancanti. Amazon Forecast rileverà automaticamente se i valori mancanti siano dovuti all'introduzione di nuovi prodotti (chiamate a freddo) o a prodotti a fine vita. Puoi usare diversi tipi di logica per i valori mancanti: valore, mediano, minimo, massimo, zero, media e NaN (solo per serie temporali di destinazione). Consulta la documentazione per la sintassi di riempimento di valori null.
-
"Riempimento in avanti" (solo TTS): fa riferimento ad articoli nuovi o con chiamata a freddo e al modo in cui gestisci i valori null prima che l'articolo inizi ad avere una cronologia
-
"Riempimento centrale": si riferisce a valori null a metà dei valori delle serie temporali
-
"Riempimento all'indietro": si riferisce ad articoli a fine vita e al modo in cui gestisci i valori null dopo che un articolo non viene più venduto
-
"riempimento futuro" (solo RTS): si riferisce ai valori null restituiti dopo la fine dei dati di addestramento
D.: I miei dati cronologici di input non includono valori negativi, ma trovo valori negativi nelle previsioni della domanda. Qual è il motivo? Come posso evitarlo?
Per tutti i modelli diversi da NPTS (addestrato su dati non negativi) e DeepAR (con funzione di probabilità binomiale negativa), la generazione di numeri positivi non è garantita. La soluzione consiste nel passare a uno dei modelli indicati sopra oppure troncare i valori di previsione in valori non negativi.
D.: Perché le metriche di precisione differiscono a quantili diversi? L'errore non dovrebbe essere identico se il modello è lo stesso?
Per ulteriori spiegazioni sulla dipendenza della ponderazione dal quantile, consulta la pagina relativa alla metrica wQL.
Immagina di ottenere tutte le previsioni a tre diversi quantili: p10, p50, p90. Le tre previsioni stesse sono variabili casuali. Le precisioni vengono calcolate separatamente tra valori effettivi e previsioni a ogni livello di quantile. Potresti ottenere una tabella di "wQL" (weighted Quantile Loss, perdita quantilica ponderata), come quella mostrata di seguito. I valori wQL non hanno alcuna relazione deterministica gli uni con gli altri. Poiché la perdita di recupero significa errore, non è ordinata, mentre le previsioni quantiliche sono ordinate. Di conseguenza, la metrica wQL p90 non deve necessariamente essere maggiore, ad esempio, di wQL p50.
Tabella 3 – Esempi di quantili previsti
| A | B | C | |
|---|---|---|---|
| 1 | wQL p10 | wQL p50 | wQL p90 |
| 2 | 0,18647 | 0,50879 | 0,30428 |
D.: Come posso migliorare la precisione delle previsioni?
La precisione delle previsioni dipende dalla disponibilità di dati corretti al giusto grado di quantità e qualità. Se la precisione non è soddisfacente, può avere senso identificare quanto sia prevedibile il problema (o quanto siano casuali/rumorosi/stazionari i dati). Tra gli altri fattori di cui tenere conto vi sono la valutazione di modelli diversi, le impostazioni degli iperparametri e l'integrazione di caratteristiche aggiuntive usando le serie temporali e i set di metadati degli articoli correlati. Per suggerimenti specifici, consulta questo documento sulle best practice su GitHub
D.: Il mio algoritmo funziona molto bene per il mio caso d'uso, ma non è disponibile in Amazon Forecast. Che cosa devo fare?
Il team di Amazon Forecast sarà lieto di aiutarti per questo caso d'uso. Contatta il team di assistenza di Amazon Forecast all'indirizzo e-mail <amazonforecast-poc@amazon.com>.