Spiegabilità delle previsioni - Amazon Forecast

Amazon Forecast non è più disponibile per i nuovi clienti. I clienti esistenti di Amazon Forecast possono continuare a utilizzare il servizio normalmente. Scopri di più»

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Spiegabilità delle previsioni

Forecast Explainability ti aiuta a comprendere meglio in che modo gli attributi dei tuoi set di dati influiscono sulle previsioni per serie temporali specifiche (combinazioni di elementi e dimensioni) e punti temporali. Forecast utilizza una metrica chiamata Impact score per quantificare l'impatto relativo di ogni attributo e determinare se aumenta o diminuisce i valori di previsione.

Ad esempio, si consideri uno scenario di previsione in cui l'obiettivo è sales e vi sono due attributi correlati: price e color Forecast potrebbe rilevare che il colore dell'articolo ha un impatto elevato sulle vendite di determinati articoli, ma un effetto trascurabile per altri articoli. È inoltre possibile che una promozione in estate abbia un forte impatto sulle vendite, ma una promozione in inverno abbia scarso effetto.

Per abilitare Forecast Explainability, il tuo predittore deve includere almeno uno dei seguenti elementi: serie temporali correlate, metadati degli articoli o set di dati aggiuntivi come Holidays e Weather Index. Per ulteriori informazioni, consulta Restrizioni e procedure consigliate.

Per visualizzare i punteggi di impatto aggregati per tutte le serie temporali e i punti temporali nei tuoi set di dati, usa Predictor Explainability anziché Forecast Explainability. Vedi Predictor Explainability.

Quaderni in Python

Per una step-by-step guida sulla Forecast Explainability, vedi Item-Level Explainability.

Interpretazione dei punteggi di impatto

I punteggi di impatto misurano l'impatto relativo degli attributi sui valori di previsione. Ad esempio, se l'attributo «price» ha un punteggio di impatto due volte più grande dell'attributo «store location», puoi concludere che il prezzo di un articolo ha un impatto doppio sui valori di previsione rispetto all'ubicazione del negozio.

I punteggi di impatto forniscono anche informazioni sul fatto che gli attributi aumentino o diminuiscano i valori di previsione. Nella console, questo è indicato dai due grafici. Gli attributi con barre blu aumentano i valori di previsione, mentre gli attributi con barre rosse riducono i valori di previsione.

Bar graphs showing attributes' impact on forecast: price and promo increase, store location decreases.

È importante notare che i punteggi di impatto misurano l'impatto relativo degli attributi, non l'impatto assoluto. Pertanto, i punteggi di impatto non possono essere utilizzati per determinare se determinati attributi migliorano la precisione del modello. Se un attributo ha un punteggio di impatto basso, ciò non significa necessariamente che abbia un impatto basso sui valori di previsione; significa che ha un impatto inferiore sui valori di previsione rispetto ad altri attributi utilizzati dal predittore.

È possibile che tutti o alcuni punteggi di impatto siano pari a zero. Ciò può verificarsi se le funzionalità non hanno alcun impatto sui valori di previsione, se AutoPredictor utilizzano solo un algoritmo non ML o se non sono state fornite serie temporali o metadati relativi agli elementi.

Per Forecast Explainability, i punteggi di impatto si presentano in due forme: punteggi di impatto normalizzati e punteggi di impatto grezzi. I punteggi di impatto grezzi si basano sui valori di Shapley e non sono scalati o limitati. I punteggi di impatto normalizzati ridimensionano i punteggi grezzi a un valore compreso tra -1 e 1.

I punteggi di impatto grezzi sono utili per combinare e confrontare i punteggi tra diverse risorse di spiegabilità. Ad esempio, se il tuo predittore contiene più di 50 serie temporali o più di 500 punti temporali, puoi creare più risorse Forecast Explainability per coprire un maggior numero combinato di serie temporali o punti temporali e confrontare direttamente i punteggi di impatto non elaborati per gli attributi. Tuttavia, i punteggi di impatto grezzi per le risorse Forecast Explainability di diverse previsioni non sono direttamente confrontabili.

Quando visualizzi i punteggi di impatto nella console, vedrai solo i punteggi di impatto normalizzati. Exporting Explainability ti fornirà punteggi sia grezzi che normalizzati.

Creazione di Forecast Explainability

Con Forecast Explainability, puoi scoprire in che modo gli attributi influiscono sui valori di previsione per serie temporali specifiche in momenti temporali specifici. Dopo aver specificato le serie temporali e i punti temporali, Amazon Forecast calcola i punteggi di impatto solo per quelle serie temporali e punti temporali specifici.

Puoi abilitare Forecast Explainability per un predittore utilizzando il Software Development Kit (SDK) o la console Amazon Forecast. Quando usi l'SDK, usa l'operazione. CreateExplainability

Specificare le serie temporali

Nota

Una serie temporale è una combinazione dell'elemento (item_id) e di tutte le dimensioni nei set di dati

Quando specifichi serie temporali (combinazioni di articoli e dimensioni) per Forecast Explainability, Amazon Forecast calcola i punteggi di impatto per gli attributi solo per quelle serie temporali specifiche.

Per specificare un elenco di serie temporali, carica un file CSV che identifica le serie temporali in base ai valori item_id e di dimensione in un bucket S3. Puoi specificare fino a 50 serie temporali. È inoltre necessario definire gli attributi e i tipi di attributi delle serie temporali in uno schema.

Ad esempio, un rivenditore potrebbe voler sapere in che modo una promozione influisce sulle vendite di un articolo specifico (item_id) in un punto vendita specifico (store_location). In questo caso d'uso, dovresti specificare la serie temporale che è la combinazione di item_id e store_location.

Il seguente file CSV seleziona le seguenti cinque serie temporali:

  1. ID_articolo: 001, locale_negozio: Seattle

  2. ID_articolo: 001, store_location: New York

  3. ID_articolo: 002, store_location: Seattle

  4. ID_articolo: 002, localizzazione del negozio: New York

  5. ID_articolo: 003, localizzazione del negozio: Denver

001, Seattle 001, New York 002, Seattle 002, New York 003, Denver

Lo schema definisce la prima colonna come e la seconda colonna comeitem_id. store_location

È possibile specificare le serie temporali utilizzando la console Forecast o il Forecast Software Development Kit (SDK).

Console

Per specificare le serie temporali per Forecast Explainability

  1. Accedi AWS Management Console e apri la console Amazon Forecast all'indirizzo https://console.aws.amazon.com/forecast/.

  2. Dai gruppi di set di dati, scegli il tuo gruppo di set di dati.

  3. Nel riquadro di navigazione, seleziona Informazioni dettagliate.

  4. Scegli Crea spiegabilità.

  5. Nel campo Explainability name, fornire un nome univoco per Forecast Explainability.

  6. Nel campo Seleziona previsione, scegli la tua previsione.

  7. Nel campo Posizione S3, inserisci la posizione del file con le tue serie temporali.

  8. Nel campo Schema dei dati, imposta il nome e il tipo di attributo dell'ID dell'articolo e le dimensioni utilizzate nelle serie temporali.

  9. Scegli Crea spiegabilità.

SDK

Per specificare le serie temporali per Forecast Explainability

Utilizzando l'CreateExplainabilityoperazione, fornisci un nome univoco ExplainabilityName e fornisci l'ARN di previsione per. ResourceArn

Configura i seguenti tipi di dati:

  • ExplainabilityConfig- imposta i valori TimeSeriesGranularity per «SPECIFICO» e TimePointGranularity «TUTTO». (Per specificare i punti temporali, TimePointGranularity impostare su «SPECIFICO». Vedi Specificazione dei punti temporali)

  • S3Config- imposta i valori per «Path» sulla posizione S3 del file della serie temporale e «RoleArn» su un ruolo con accesso al bucket S3.

  • Schema- definisci «AttributeName» e «AttributeType» per item_id e le dimensioni nelle tue serie temporali.

L'esempio seguente mostra uno schema per le serie temporali che utilizza una combinazione di «item_id» e la dimensione «store_location».

{ "ExplainabilityName" : [unique_name], "ResourceArn" : [forecast_arn], "ExplainabilityConfig" { "TimeSeriesGranularity": "SPECIFIC", "TimePointGranularity": "ALL" }, "DataSource": { "S3Config": { "Path": [S3_path_to_file], "RoleArn":[role-to-access-s3-bucket] } }, "Schema": { "Attributes": [ { "AttributeName": "item_id", "AttributeType": "string" }, { "AttributeName": "store_location", "AttributeType": "string" } ] }, }

Specificare i punti temporali

Nota

Se non specifichi i punti temporali ("TimePointGranularity": "ALL"), Amazon Forecast prenderà in considerazione l'intero orizzonte di previsione nel calcolo dei punteggi di impatto.

Quando specifichi i punti temporali per Forecast Explainability, Amazon Forecast calcola i punteggi di impatto per gli attributi per quell'intervallo di tempo specifico. Puoi specificare fino a 500 punti temporali consecutivi all'interno dell'orizzonte di previsione.

Ad esempio, un rivenditore potrebbe voler sapere in che modo i suoi attributi influiscono sulle vendite durante l'inverno. In questo caso d'uso, specificherebbero i punti temporali in modo che coprano solo il periodo invernale nell'orizzonte di previsione.

È possibile specificare i punti temporali utilizzando la console Forecast o il Forecast Software Development Kit (SDK).

Console

Per specificare le serie temporali per Forecast Explainability

  1. Accedi AWS Management Console e apri la console Amazon Forecast all'indirizzo https://console.aws.amazon.com/forecast/.

  2. Dai gruppi di set di dati, scegli il tuo gruppo di set di dati.

  3. Nel riquadro di navigazione, seleziona Informazioni dettagliate.

  4. Scegli Crea spiegabilità.

  5. Nel campo Explainability name, fornire un nome univoco per Forecast Explainability.

  6. Nel campo Seleziona previsione, scegli la tua previsione.

  7. Nel campo Posizione S3, inserisci la posizione del file con le tue serie temporali.

  8. Nel campo Schema dei dati, imposta il nome dell'attributo, un tipo di attributo dell'ID dell'articolo e le dimensioni utilizzate nelle serie temporali.

  9. Nel campo Durata temporale, specifica la data di inizio e la data di fine all'interno del calendario.

  10. Scegli Crea spiegabilità.

SDK

Per specificare le serie temporali per Forecast Explainability

Utilizzando l'CreateExplainabilityoperazione, fornisci un nome univoco ExplainabilityName e fornisci l'ARN di previsione per. ResourceArn Imposta la data di inizio (StartDateTime) e la data di fine (EndDateTime) utilizzando il seguente formato di timestamp: yyyy-MM-ddTHH:mm:ss (esempio: 2015-01-01T 20:00:00).

Configura i seguenti tipi di dati:

  • ExplainabilityConfig- imposta i valori TimeSeriesGranularity per «SPECIFIC» e « TimePointGranularity SPECIFIC».

  • S3Config- imposta i valori per «Path» alla posizione S3 del file della serie temporale e «RoleArn» a un ruolo con accesso al bucket S3.

  • Schema- definisci «AttributeName» e «AttributeType» per item_id e le dimensioni nelle tue serie temporali.

L'esempio seguente mostra uno schema per le serie temporali che utilizza una combinazione di «item_id» e la dimensione «store_location».

{ "ExplainabilityName" : [unique_name], "ResourceArn" : [forecast_arn], "ExplainabilityConfig" { "TimeSeriesGranularity": "SPECIFIC", "TimePointGranularity": "SPECIFIC" }, "DataSource": { "S3Config": { "Path": [S3_path_to_file], "RoleArn":[role-to-access-s3-bucket] } }, "Schema": { "Attributes": [ { "AttributeName": "item_id", "AttributeType": "string" }, { "AttributeName": "store_location", "AttributeType": "string" } ] }, "StartDateTime": "string", "EndDateTime": "string", }

Visualizzazione della spiegabilità delle previsioni

Quando crei Forecast Explainability nella console, Forecast visualizza automaticamente i tuoi punteggi di impatto. Quando crei Forecast Explainability con l'CreateExplainabilityoperazione, impostala su «EnableVisualizationtrue» e i punteggi di impatto per quella risorsa Explainability verranno visualizzati all'interno della console.

Le visualizzazioni degli Impact Score durano 30 giorni dalla data di creazione di Explainability. Per ricreare la visualizzazione, crea una nuova Forecast Explainability.

Esportazione della spiegabilità delle previsioni

Nota

I file di esportazione possono restituire direttamente le informazioni dall'importazione del set di dati. Ciò rende i file vulnerabili all'iniezione di file CSV se i dati importati contengono formule o comandi. Per questo motivo, i file esportati possono richiedere avvisi di sicurezza. Per evitare attività dannose, disattivate i link e le macro durante la lettura dei file esportati.

Forecast ti consente di esportare un file CSV dei punteggi Impact in una posizione S3.

L'esportazione contiene punteggi di impatto grezzi e normalizzati per le serie temporali specificate, nonché punteggi di impatto aggregati normalizzati per tutte le serie temporali specificate e tutti i punti temporali specificati. Se non hai specificato i punti temporali, i punteggi di impatto sono già aggregati per tutti i punti temporali dell'orizzonte di previsione.

Spreadsheet showing raw and normalized impact scores for various items and metrics over time.

Puoi esportare Forecast Explainability utilizzando l'Amazon Forecast Software Development Kit (SDK) e la console Amazon Forecast.

Console

Per esportare Forecast Explainability

  1. Accedi AWS Management Console e apri la console Amazon Forecast all'indirizzo https://console.aws.amazon.com/forecast/.

  2. Dai gruppi di set di dati, scegli il tuo gruppo di set di dati.

  3. Nel riquadro di navigazione, seleziona Informazioni dettagliate.

  4. Seleziona la tua spiegabilità.

  5. Dal menu a discesa Azioni, scegli Esporta.

  6. Nel campo Nome esportazione, fornire un nome univoco per l'esportazione Forecast Explainability.

  7. Nel campo S3 Explainability Export Location, inserisci la posizione S3 per esportare il file CSV.

  8. Nel campo IAM Role, scegli un ruolo con accesso alla posizione S3 scelta.

  9. Scegli Create Explainability Export.

SDK

Per esportare Forecast Explainability

Utilizzando l'operazione di CreateExplainabilityesportazione, specifica la posizione S3 e il ruolo IAM nell'Destinationoggetto, insieme a and. ExplainabilityArn ExplainabilityExportName

Per esempio:

{ "Destination": { "S3Config": { "Path": "s3://bucket/example-path/", "RoleArn": "arn:aws:iam::000000000000:role/ExampleRole" } }, "ExplainabilityArn": "arn:aws:forecast:region:explainability/example", "ExplainabilityName": "Explainability-export-name", }

Restrizioni e best practice

Prendi in considerazione le seguenti restrizioni e best practice quando lavori con Forecast Explainability.

  • Forecast Explainability è disponibile solo per alcune previsioni generate da AutoPredictor : non è possibile abilitare Forecast Explainability per le previsioni generate da predittori legacy (AutoML o selezione manuale). Vedi Aggiornamento a. AutoPredictor

  • Forecast Explainability non è disponibile per tutti i modelli: i modelli ARIMA (AutoRegressive Integrated Moving Average), ETS (Exponential Smoothing State Space Model) e NPTS (Non-Parametric Time Series) non incorporano dati di serie temporali esterne. Pertanto, questi modelli non creano un rapporto di spiegabilità, anche se si includono set di dati aggiuntivi.

  • La spiegabilità richiede degli attributi: il predittore deve includere almeno uno dei seguenti elementi: serie temporali correlate, metadati degli articoli, festività o indice meteorologico.

  • I punteggi di impatto pari a zero non indicano alcun impatto: se uno o più attributi hanno un punteggio di impatto pari a zero, tali attributi non hanno un impatto significativo sui valori di previsione. I punteggi possono essere pari a zero anche se è stato AutoPredictor utilizzato solo un algoritmo non ML o se non sono state fornite serie temporali o metadati relativi agli elementi.

  • Specificare un massimo di 50 serie temporali: è possibile specificare fino a 50 serie temporali per Forecast Explainability.

  • Specificare un massimo di 500 punti temporali: è possibile specificare fino a 500 punti temporali consecutivi per Forecast Explainability.

  • Forecast calcola anche alcuni punteggi di impatto aggregati: Forecast fornirà anche punteggi di impatto aggregati per le serie temporali e i punti temporali specificati.

  • Crea più risorse Forecast Explainability per un singolo Forecast - Se desideri punteggi di impatto per più di 50 serie temporali o 500 punti temporali, puoi creare risorse di spiegabilità in batch per un intervallo più ampio.

  • Confronta i punteggi di impatto Raw tra diverse risorse di Forecast Explainability - I punteggi di impatto grezzi possono essere confrontati direttamente tra le risorse di Explainability della stessa previsione.

  • Le visualizzazioni Forecast Explainability sono disponibili per 30 giorni dopo la creazione: per visualizzare la visualizzazione dopo 30 giorni, crea una nuova Forecast Explainability con la stessa configurazione.