Operatore previsione AI

L'operatore previsione AI utilizza i dati cronologici delle serie temporali per generare previsioni per gli andamenti futuri.

Questo operatore semplifica e velocizza il processo di data science automatizzando la selezione dei modelli, l'ottimizzazione degli iperparametri e l'identificazione delle funzioni per un task di previsione specifico.

L'operatore è facile da usare ed estendere e potente come un team di data scientist. Per iniziare a utilizzare una previsione, utilizzare la seguente configurazione YAML:
kind: operator
type: forecast
version: v1
spec:
    datetime_column:
        name: ds
    historical_data:
        url: https://raw.githubusercontent.com/facebook/prophet/main/examples/example_yosemite_temps.csv
    horizon: 3
    target_column: y

Questo esempio viene esteso in vari modi in tutta questa documentazione. Tuttavia, tutti i parametri oltre a quelli mostrati sono facoltativi.

Per ulteriori informazioni, consulta la sezione Previsione della documentazione ADS.

Opzioni modellazione

Non esiste un modello perfetto. Una caratteristica fondamentale dell'operatore è la possibilità di scegliere tra vari framework di modelli. Per l'AI aziendale, in genere uno o due framework offrono le prestazioni migliori per lo spazio dei problemi. Ogni modello è ottimizzato per ipotesi diverse, ad esempio dimensione, frequenza, complessità e stagionalità dei set di dati. Il modo migliore per decidere quale framework è corretto per te è attraverso test empirici. Sulla base dell'esperienza con diversi problemi di previsione aziendale, il team ADS ha scoperto che i seguenti framework sono i più efficaci, che vanno dai modelli statistici tradizionali all'apprendimento automatico complesso e alle reti neurali profonde:
  • Profeta
  • ARIMA
  • LightGBM
  • NeuralProphet
  • AutoTS
Nota

AutoTS non è un'unica struttura di modellazione, ma una combinazione di molte. Gli algoritmi AutoTS includono (v0.6.15): ConstantNaive, LastValueNaive, AverageValueNaive, GLS, GLM, ETS, ARIMA, FBProphet, RollingRegression, GluonTS, SeasonalNaive, UnobservedComponents, VECM, DynamicFactor, MotifSimulation, WindowRegression, VAR, DatepartRegression, UnivariateRegression, UnivariateMotif, MultivariateMotif, NVAR, MultivariateRegression, SectionalMotif, Theta, ARDL, NeuralProphet, DynamicFactorMQ, PytorchForecasting, ARCH, RRVAR, MAR, TMF, LATC, KalmanStateSpace, MetricMotif, Cassandra, SeasonalityMotif, MLEnsemble, PreprocessingRegression, FFT, BallTreeMultivariateMotif, TiDE, NeuralForecast, DMD.

Selezione automatica

Per gli utenti nuovi alla previsione, l'operatore dispone anche di un'opzione di selezione automatica. Questa è l'opzione più costosa dal punto di vista computazionale in quanto suddivide i dati di addestramento in diversi set di convalida, valuta ogni framework e cerca di decidere il migliore. Tuttavia, la selezione automatica non garantisce di trovare il modello migliore e non è consigliata come configurazione predefinita per gli utenti finali a causa della sua complessità.

Specificare il modello

È possibile selezionare manualmente il modello richiesto dall'elenco in Opzioni di modellazione e inserirlo nello slot dei parametri del modello. Ad esempio:
kind: operator
type: forecast
version: v1
spec:
    datetime_column:
        name: ds
    historical_data:
        url: https://raw.githubusercontent.com/facebook/prophet/main/examples/example_yosemite_temps.csv
    horizon: 3
    model: <INSERT_MODEL_NAME_HERE>
    target_column: y

Valutazione e spiegazione

In qualità di soluzione AI aziendale, l'operatore garantisce che la valutazione e la spiegazione delle previsioni siano critiche quanto le previsioni stesse.

Reporting

A ogni esecuzione dell'operatore viene generato un report per riepilogare il lavoro svolto. Il rapporto include:
  • Riepilogo dei dati di input.
  • Visualizzazione della previsione.
  • Elenco delle principali tendenze.
  • Spiegazione (utilizzando i valori SHAP) di funzioni aggiuntive.
  • Tabella di metriche.
  • Copia del file YAML di configurazione.

Metriche

Casi d'uso diversi vengono ottimizzati per metriche diverse. L'operatore consente agli utenti di specificare la metrica che desiderano ottimizzare dalla seguente lista:
  • MAPE
  • RMSE
  • SMAPE
  • MSE
Facoltativamente, la metrica può essere specificata nel file YAML:
kind: operator
type: forecast
version: v1
spec:
    datetime_column:
        name: ds
    historical_data:
        url: https://raw.githubusercontent.com/facebook/prophet/main/examples/example_yosemite_temps.csv
    horizon: 3
    model: prophet
    target_column: y
    metric: rmse

Spiegazioni

Quando vengono forniti dati aggiuntivi, l'operatore può facoltativamente generare spiegazioni per queste funzioni (colonne) utilizzando i valori SHAP. È possibile abilitare le spiegazioni nel file YAML:
kind: operator
type: forecast
version: v1
spec:
    datetime_column:
        name: ds
    historical_data:
        url: https://raw.githubusercontent.com/facebook/prophet/main/examples/example_pedestrians_covid.csv
    additional_data:
        url: additional_data.csv
    horizon: 3
    model: prophet
    target_column: y
    generate_explanations: True
``` formatted YAML ```
Con set di dati di grandi dimensioni, i valori SHAP possono risultare costosi da generare. Le applicazioni aziendali potrebbero variare in termini di necessità di precisione decimale rispetto ai costi di calcolo. Pertanto, l'operatore offre diverse opzioni:
FAST_APPROXIMATE (predefinito)
I valori SHAP generati sono in genere compresi nell'1% dei valori true e richiedono l'1% del tempo.
QUADRATO
I valori SHAP generati sono in genere entro lo 0,1% dei valori true e richiedono il 10% del tempo.
HIGH_ACCURACY
Genera i valori SHAP veri con la massima precisione.
kind: operator
type: forecast
version: v1
spec:
    datetime_column:
        name: ds
    historical_data:
        url: https://raw.githubusercontent.com/facebook/prophet/main/examples/example_yosemite_temps.csv
    horizon: 3
    model: prophet
    target_column: y
    generate_explanations: True
    explanations_accuracy_mode: BALANCED
La selezione della modalità di precisione migliore richiede test empirici, ma FAST_APPROXIMATE è abbastanza spesso per i dati reali.
Nota

L'esempio precedente non genera spiegazioni a causa della mancanza di dati aggiuntivi. I valori SHAP sono 100% per la funzione y.