Operador de Previsão AI

O Operador de Previsão de IA usa dados históricos de séries temporais para gerar previsões para tendências futuras.

Esse operador simplifica e acelera o processo de ciência de dados automatizando a seleção de modelos, o ajuste de hiperparâmetros e a identificação de recursos para uma tarefa de previsão específica.

O Operador é fácil de usar e estender, e tão poderoso quanto uma equipe de cientistas de dados. Para começar a usar uma previsão, use a seguinte configuração 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

Este exemplo é estendido de várias maneiras ao longo desta documentação. No entanto, todos os parâmetros além dos mostrados são opcionais.

Para obter mais informações, consulte a seção Previsão da documentação do ADS.

Opções de Modelagem

Não existe modelo perfeito. Um recurso principal do Operador é a capacidade de selecionar entre várias estruturas de modelo. Para IA corporativa, geralmente um ou dois frameworks têm melhor desempenho para o espaço problemático. Cada modelo é otimizado para diferentes suposições, como tamanho do conjunto de dados, frequência, complexidade e sazonalidade. A melhor maneira de decidir qual framework é correto para você é através de testes empíricos. Com base na experiência com vários problemas de previsão empresarial, a equipe da ADS descobriu que as seguintes estruturas são as mais eficazes, desde modelos estatísticos tradicionais até aprendizado de máquina complexo e redes neurais profundas:
  • Profeta
  • ARIMA
  • LightGBM
  • NeuralProphet
  • AutoTS
Observação

AutoTS não é uma estrutura de modelagem única, mas uma combinação de muitos. AutoTS algoritmos incluem (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.

Seleção Automática

Para usuários iniciantes na previsão, o Operador também tem uma opção de seleção automática. Esta é a opção mais cara computacionalmente, pois divide os dados de treinamento em vários conjuntos de validação, avalia cada estrutura e tenta decidir o melhor. No entanto, a seleção automática não garante encontrar o melhor modelo e não é recomendada como configuração padrão para usuários finais por causa de sua complexidade.

Especificar o Modelo

Você pode selecionar manualmente o modelo necessário na lista em Opções de Modelagem e inseri-lo no slot de parâmetro do modelo. Por exemplo:
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

Avaliação e Explicação

Como uma solução de IA empresarial, o Operador garante que a avaliação e a explicação das previsões sejam tão críticas quanto as próprias previsões.

Geração de Relatórios

Com cada execução do operador, um relatório é gerado para resumir o trabalho realizado. O relatório inclui:
  • Um resumo dos dados de entrada.
  • Uma visualização da previsão.
  • Uma lista das principais tendências.
  • Uma explicação (usando valores SHAP) de recursos extras.
  • Uma tabela de métricas.
  • Uma cópia do arquivo YAML de configuração.

Métricas

Diferentes casos de uso são otimizados para diferentes métricas. O Operador permite que os usuários especifiquem a métrica que desejam otimizar na seguinte lista:
  • MAPA
  • RMSE
  • SMAPE
  • MSE
Opcionalmente, a métrica pode ser especificada no arquivo 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

Explicações

Quando dados extras são fornecidos, o Operador tem a opção de gerar explicações para esses recursos (colunas) usando valores SHAP. Você pode ativar explicações no arquivo 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 ```
Com conjuntos de dados grandes, os valores SHAP podem ser caros de gerar. Os aplicativos empresariais podem variar em sua necessidade de precisão decimal em comparação com o custo computacional. Portanto, o Operador oferece várias opções:
FAST_APPROXIMATE (padrão)
Os valores SHAP gerados geralmente estão dentro de 1% dos valores verdadeiros e exigem 1% do tempo.
BALANCEADO
Os valores SHAP gerados geralmente estão dentro de 0,1% dos valores verdadeiros e exigem 10% do tempo.
HIGH_ACCURACY
Gera os valores SHAP verdadeiros com precisão total.
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
Selecionar o melhor modo de precisão requer testes empíricos, mas FAST_APPROXIMATE é na maioria das vezes suficiente para dados do mundo real.
Observação

O exemplo anterior não gera explicações porque não há dados extras. Os valores SHAP são 100% para o recurso y.