Parâmetros de treinamento para modelos de previsão

Nesta página, você encontra informações detalhadas sobre os parâmetros usados no treinamento do modelo de previsão. Para saber como treinar um modelo de previsão, consulte Treinar um modelo de previsão e Treinar um modelo com o fluxo de trabalho tabular para previsão.

Métodos de treinamento de modelo

É possível escolher entre os seguintes métodos para treinar o modelo:

Codificador denso de série temporal (TiDE): modelo codificador-decodificador baseado em DNN denso otimizado. Excelente qualidade de modelo com treinamento e inferência rápidos, especialmente para contextos e horizontes longos. Saiba mais

Transformador de fusão temporal (TFT): modelo de DNN baseado em atenção projetado para produzir alta precisão e interpretabilidade, alinhando o modelo com a tarefa geral de previsão de vários horizontes. Saiba mais

AutoML (L2L): uma boa opção para vários casos de uso. Saiba mais.

Seq2Seq+: uma boa opção para experimento. O algoritmo provavelmente terá uma convergência mais rápida do que o AutoML, porque a arquitetura dele é mais simples e usa um espaço de pesquisa menor. Nossos experimentos descobriram que o Seq2Seq+ tem um bom desempenho com um orçamento pequeno e com conjuntos de dados menores do que 1 GB.

Tipo de recurso e disponibilidade na previsão

Cada coluna usada para treinar um modelo de previsão precisa ter um tipo: atributo ou covariável. As variantes são designadas como disponíveis ou indisponíveis no momento da previsão.

Tipo de série Disponível no momento da previsão Descrição Exemplos Campos da API
Atributo Disponível Um atributo é um recurso estático que não muda com o tempo. Cor do item e descrição do produto time_series_attribute_columns
Covariável Disponível

Uma variável exagerada que pode ser alterada com o tempo. Uma covariável disponível no momento da previsão é um indicador principal.

Forneça dados de previsão para essa coluna em cada ponto no horizonte de previsão.

Feriados, promoções planejadas ou eventos. available_at_forecast_columns
Covariável Indisponível Uma covariável não disponível no momento da previsão. Não é preciso fornecer valores para esses recursos ao criar uma previsão. Previsão do tempo. unavailable_at_forecast_columns

Saiba mais sobre a relação entre a disponibilidade do recurso e o horizonte de previsão, a janela de contexto e a janela de previsão.

Horizonte de previsão, janela de contexto e janela de previsão

Os recursos de previsão são divididos em atributos estáticos e covariáveis de variante de tempo.

Ao treinar um modelo de previsão, especifique quais dados de treinamento covariáveis são mais importantes para capturar. Isso é expresso na forma de uma janela de previsão, que é uma série de linhas compostas pelo seguinte:

  • O contexto ou os dados históricos até o momento da previsão.
  • O horizonte, ou linhas usadas para previsão.

Em conjunto, as linhas na janela definem uma instância de série temporal que serve como entrada de modelo: é a forma como a Vertex AI é treinada, avalia e usa para previsão. A linha usada para gerar a janela é a primeira linha do horizonte e a identifica exclusivamente na série temporal.

O horizonte de previsão determina em que ponto do modelo o valor desejado será determinado para cada linha de dados de previsão.

A janela de contexto define o período de deslocamento do modelo durante o treinamento (e as previsões). Em outras palavras, para cada ponto de dados de treinamento, a janela de contexto determina até onde o modelo procura padrões preditivos. Conheça as práticas recomendadas para encontrar um bom valor para a janela de contexto.

Por exemplo, se a janela de contexto = 14 e o horizonte de previsão = 7, cada exemplo de janela terá linhas de 14 + 7 = 21.

Disponibilidade na previsão

As covariáveis de previsão podem ser divididas entre as que estão disponíveis no momento da previsão e as que estão indisponíveis no momento da previsão.

Ao lidar com covariáveis que estão disponíveis no momento da previsão, a Vertex AI considera valores covariáveis da janela de contexto e do horizonte da previsão para treinamento, avaliação e previsão. Ao lidar com covariáveis que não estão disponíveis no momento da previsão, a Vertex AI considera valores covariáveis da janela de contexto, mas exclui explicitamente valores covariáveis do horizonte da previsão.

Estratégias de janela contínua

A Vertex AI gera janelas de previsão com base em dados de entrada usando uma estratégia de janela contínua. A estratégia padrão é Contagem.

  • Contagem. O número de janelas geradas pela Vertex AI não pode exceder um máximo fornecido pelo usuário. Se o número de linhas no conjunto de dados de entrada for menor que o número máximo de janelas, cada linha será usada para gerar uma janela. Caso contrário, a Vertex AI realiza uma amostragem aleatória para selecionar as linhas. O valor padrão para o número máximo de janelas é 100,000,000. O número máximo de janelas não pode exceder 100,000,000.
  • Passada. A Vertex AI usa uma em cada X linhas de entrada para gerar uma janela com um máximo de até 100 milhões de janelas. Essa opção é útil para previsões sazonais ou periódicas. Por exemplo, é possível limitar a previsão a um único dia da semana ao definir o valor de tamanho da passada como 7. O valor pode estar entre 1 e 1000.
  • Coluna. É possível adicionar uma coluna aos dados de entrada em que os valores sejam True ou False. A Vertex AI gera uma janela para cada linha de entrada em que o valor da coluna é True. Os valores True e False podem ser definidos em qualquer ordem, desde que a contagem total de linhas True seja menor que 100,000,000. Preferimos valores booleanos, mas valores de string também são aceitos. Os valores de string não diferenciam maiúsculas de minúsculas.

Ao gerar menos janelas de 100,000,000 que as janelas padrão, é possível reduzir o tempo necessário para o pré-processamento e a avaliação do modelo. Além disso, a redução da janela oferece mais controle sobre a distribuição das janelas vistas durante o treinamento. Se usado corretamente, isso pode gerar resultados melhores e mais consistentes.

Como a janela de contexto e o horizonte de previsão são usados durante o treinamento e as previsões

Suponha que você tenha dados coletados mensalmente, com uma janela de contexto de 5 meses e previsão do horizonte de 5 meses. O treinamento do modelo com 12 meses de dados resultaria nos seguintes conjuntos de entradas e previsões

  • [1-5]:[6-10]
  • [2-6]:[7-11]
  • [3-7]:[8-12]

Após o treinamento, o modelo pode ser usado para prever os meses 13 a 17:

  • [8-12]:[13-17]

O modelo usa apenas os dados que se enquadram na janela de contexto para fazer a previsão. Todos os dados fornecidos que estiverem fora da janela de contexto serão ignorados.

Após a coleta dos dados do 13º mês, eles podem ser usados para fazer previsões até o 18º mês:

  • [9-13]:[14-18]

Isso pode continuar no futuro, desde que você tenha bons resultados. É possível treinar o modelo com os novos dados. Por exemplo, se você retreinou o modelo depois de adicionar mais seis meses de dados, os dados de treinamento seriam usados da seguinte forma:

  • [2-6]:[7-11]
  • [3-7]:[8-12]
  • [4-8]:[9-13]
  • [5-9]:[10-14]
  • [6-10]:[11-15]
  • [7-11]:[12-16]
  • [8-12]:[13-17]
  • [9-13]:[14-18]

Você pode usar o modelo para prever os meses 19 a 23:

  • [14-18]:[19-23]

Objetivos de otimização para modelos de previsão

Ao treinar um modelo, a Vertex AI seleciona um objetivo de otimização padrão com base no tipo de modelo e no tipo de dados usado na coluna de destino. Veja na tabela a seguir alguns detalhes sobre os problemas mais adequados para os modelos de previsão:

Objetivo da otimização Valor da API Use este objetivo se você quiser...
REMQ minimize-rmse Minimizar a raiz do erro médio quadrado (REMQ) Captura valores mais extremos com precisão e é menos enviesado ao agregar previsões. Valor padrão.
MAE minimize-mae Minimizar erro médio absoluto (MAE, na sigla em inglês). Ver os valores extremos como outliers, o que impacta menos o modelo.
RMSLE minimize-rmsle Minimizar o erro logarítmico quadrado médio (RMSLE, na sigla em inglês). Penaliza o erro conforme o tamanho relativo e não o valor absoluto. É útil quando valores previstos e reais podem ser muito grandes.
RMSPE minimize-rmspe Minimizar o erro percentual médio quadrado (RMSPE). Captura uma grande variedade de valores com precisão. Semelhante ao REQM, mas relativo à magnitude desejada. Útil quando o intervalo de valores é grande.
WAPE minimize-wape-mae Minimizar a combinação de erro percentual absoluto ponderado (WAPE, na sigla em inglês) e erro médio absoluto (MAE, na sigla em inglês). Útil quando os valores reais são baixos.
Perda quantil minimize-quantile-loss Minimize a perda escalonada de pinball para os quantis definidos a fim de quantificar a indefinição nas estimativas. As previsões de quantil quantificam a incerteza das previsões. Elas medem a probabilidade de uma previsão estar dentro de um intervalo.

Regiões de feriados

Para determinados casos de uso, os dados de previsão podem apresentar comportamento irregular em dias que correspondem a feriados regionais. Se você quiser que seu modelo considere esse efeito, selecione a região ou as regiões geográficas que correspondem aos dados de entrada. Durante o treinamento, a Vertex AI cria recursos categóricos de datas comemorativas de acordo com o modelo com base na data da coluna de tempo e nas regiões geográficas especificadas.

Veja a seguir um trecho de datas e recursos categóricos de fim de ano para os Estados Unidos. Um recurso categórico é atribuído à data principal, um ou mais dias antes do período de festas e um ou mais dias após o período de festas de fim de ano. Por exemplo, a data principal do Dia das Mães nos EUA em 2013 foi em 12 de maio. Os recursos do Dia das Mães são atribuídos à data principal, seis dias antes do feriado e um dia após o feriado.

Data Recurso categórico de fim de ano
2013-05-06MothersDay
2013-05-07MothersDay
2013-05-08MothersDay
2013-05-09MothersDay
2013-05-10MothersDay
2013-05-11MothersDay
2013-05-12MothersDay
2013-05-13MothersDay
2013-05-26US_MemorialDay
2013-05-27US_MemorialDay
2013-05-28US_MemorialDay

Os valores aceitáveis para regiões de férias incluem:

  • GLOBAL: detecta datas comemorativas em todas as regiões do mundo.
  • NA: detecta datas comemorativas na América do Norte.
  • JAPAC: detecta datas comemorativas no Japão e na Ásia-Pacífico.
  • EMEA: detecta datas comemorativas na Europa, no Oriente Médio e na África.
  • LAC: detecta datas comemorativas na América Latina e no Caribe.
  • Códigos de país ISO 3166-1: detecta datas comemorativas para países individuais.

Para ver a lista completa de datas de feriados para cada região geográfica, consulte a tabela holidays_and_events_for_forecasting no BigQuery. É possível abrir essa tabela por meio do console do Google Cloud usando as seguintes etapas:

  1. No console do Google Cloud, na seção "BigQuery", acesse a página BigQuery Studio.

    Acessar o BigQuery Studio

  2. No painel Explorer, abra o projeto bigquery-public-data. Se você não encontrar esse projeto ou quiser saber mais, consulte Abrir um conjunto de dados público.
  3. Abra o conjunto de dados ml_datasets.
  4. Abra a tabela holidays_and_events_for_forecasting.

Veja a seguir um trecho da tabela holidays_and_events_for_forecasting:

Amostra de feriados para previsão