Opérateur de prévisions IA

L'opérateur de prévision AI utilise les données de séries temporelles historiques pour générer des prévisions pour les tendances futures.

Cet opérateur simplifie et accélère le processus de science des données en automatisant la sélection de modèles, le réglage des hyperparamètres et l'identification des fonctionnalités pour une tâche de prédiction spécifique.

L'opérateur est facile à utiliser et à étendre, et aussi puissant qu'une équipe d'analystes de données. Pour commencer à utiliser une prévision, utilisez la configuration YAML suivante :
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

Cet exemple est présenté de différentes manières dans cette documentation. Cependant, tous les paramètres autres que ceux affichés sont facultatifs.

Pour plus d'informations, reportez-vous à la section Prévision de la documentation ADS.

Options de modélisation

Aucun modèle parfait n'existe. L'une des principales caractéristiques de l'opérateur est la possibilité de choisir parmi divers modèles de structures. Pour l'IA d'entreprise, généralement une ou deux structures fonctionnent mieux pour l'espace problématique. Chaque modèle est optimisé pour différentes hypothèses, telles que la taille de l'ensemble de données, la fréquence, la complexité et la saisonnalité. La meilleure façon de décider quel cadre est le bon pour vous est par le biais de tests empiriques. Sur la base de l'expérience de plusieurs problèmes de prévision d'entreprise, l'équipe ADS a constaté que les cadres suivants étaient les plus efficaces, allant des modèles statistiques traditionnels à l'apprentissage automatique complexe et aux réseaux neuronaux profonds :
  • Prophète
  • ARIMA
  • LightGBM
  • NeuralProphet
  • AutoTS
Remarque

AutoTS n'est pas une structure de modélisation unique, mais une combinaison de plusieurs. Les algorithmes AutoTS comprennent (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.

Sélection automatique

Pour les utilisateurs novices en matière de prévision, l'opérateur dispose également d'une option de sélection automatique. Il s'agit de l'option la plus coûteuse en calcul, car elle divise les données d'entraînement en plusieurs jeux de validation, évalue chaque structure et tente de déterminer la meilleure. Cependant, la sélection automatique ne garantit pas la recherche du meilleur modèle et n'est pas recommandée comme configuration par défaut pour les utilisateurs finaux en raison de sa complexité.

Indiquer le modèle

Vous pouvez sélectionner manuellement le modèle requis dans la liste de la section Options de modélisation et l'insérer dans l'emplacement des paramètres de modèle. Par exemple :
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

Evaluation et explication

En tant que solution d'IA d'entreprise, l'opérateur s'assure que l'évaluation et l'explication des prévisions sont aussi critiques que les prévisions elles-mêmes.

Génération d'un rapport

A chaque exécution d'opérateur, un rapport est généré pour résumer le travail effectué. Le rapport comprend :
  • Récapitulatif des données d'entrée.
  • Visualisation de la prévision.
  • Liste des grandes tendances.
  • Explication (à l'aide des valeurs SHAP) des fonctionnalités supplémentaires.
  • Une table de mesures.
  • Copie du fichier de configuration YAML.

Mesures

Différents cas d'utilisation optimisent pour différentes mesures. L'opérateur permet aux utilisateurs d'indiquer la mesure à optimiser dans la liste suivante :
  • PEAM
  • RMSE
  • SMAPE
  • Erreur quadratique moyenne
La mesure peut éventuellement être indiquée dans le fichier 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

Explications

Lorsque des données supplémentaires sont fournies, l'opérateur peut éventuellement générer des explications pour ces fonctionnalités (colonnes) à l'aide de valeurs SHAP. Vous pouvez activer les explications dans le fichier 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 ```
Avec des ensembles de données volumineux, les valeurs SHAP peuvent être coûteuses à générer. Les besoins en précision décimale des applications d'entreprise peuvent varier par rapport au coût de calcul. L'opérateur propose donc plusieurs options :
FAST_APPROXIMATE (par défaut)
Les valeurs SHAP générées sont généralement comprises dans 1 % des valeurs réelles et nécessitent 1 % du temps.
EQUILIBRÉ
Les valeurs SHAP générées sont généralement comprises dans 0,1 % des valeurs réelles et nécessitent 10 % du temps.
HIGH_ACCURACY
Génère les valeurs SHAP vraies avec une précision maximale.
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 sélection du meilleur mode de précision nécessite des tests empiriques, mais FAST_APPROXIMATE est le plus souvent suffisant pour les données du monde réel.
Remarque

L'exemple précédent ne génère pas d'explications en raison de l'absence de données supplémentaires. Les valeurs SHAP sont de 100 % pour la fonctionnalité y.