Parâmetros de preparação para modelos de previsão

Esta página fornece informações detalhadas sobre os parâmetros usados na preparação do modelo de previsão. Para saber como preparar um modelo de previsão, consulte os artigos Prepare um modelo de previsão e Prepare um modelo com o fluxo de trabalho tabular para previsões.

Métodos de preparação de modelos

Escolha entre os seguintes métodos para preparar o seu modelo:

Codificador denso de séries cronológicas (TiDE): modelo de codificador-descodificador denso otimizado baseado em DNN. Excelente qualidade do modelo com preparação e inferência rápidas, especialmente para contextos e horizontes longos. Saiba mais.

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

AutoML (L2L): uma boa escolha para uma vasta gama de exemplos de utilização. Saiba mais.

Seq2Seq+: uma boa escolha para experimentação. É provável que o algoritmo convirja mais rapidamente do que o AutoML, porque a sua arquitetura é mais simples e usa um espaço de pesquisa mais pequeno. As nossas experiências mostram que o Seq2Seq+ tem um bom desempenho com um pequeno orçamento de tempo e em conjuntos de dados com um tamanho inferior a 1 GB.

Tipo de funcionalidade e disponibilidade na previsão

Todas as colunas usadas para formar um modelo de previsão têm de ter um tipo: atributo ou covariável. As covariáveis são ainda designadas como disponíveis ou indisponíveis no momento da previsão.

Tipo de série Disponível na hora prevista Descrição Exemplos Campos da API
Atributo Disponível Um atributo é uma caraterística estática que não se altera com o tempo. Cor do artigo, descrição do produto. time_series_attribute_columns
Covariável Disponível

Uma variável exógena que se espera que mude ao longo do tempo. Uma covariável disponível no momento da previsão é um indicador principal.

Tem de fornecer dados de inferência para esta coluna para cada ponto no horizonte de previsão.

Feriados, promoções ou eventos planeados. available_at_forecast_columns
Covariável Não disponível Uma covariável não disponível no momento da previsão. Não tem de fornecer valores para estas funcionalidades quando cria uma previsão. Tempo real. unavailable_at_forecast_columns

Saiba mais acerca da relação entre a disponibilidade de funcionalidades e o horizonte de previsão, o período de contexto e o período de previsão.

Horizonte de previsão, período de contexto e período de previsão

As funcionalidades de previsão são atributos estáticos ou covariáveis variáveis no tempo. Consulte o tipo de funcionalidade e a disponibilidade na previsão.

Quando prepara um modelo de previsão, tem de especificar que dados de preparação de covariáveis são os mais importantes para captar. Isto é expresso sob a forma de uma janela de previsão, que é uma série de linhas compostas pelo seguinte:

  • O contexto ou os dados do histórico, até ao momento da inferência.
  • O horizonte ou as linhas usadas para a inferência.

Em conjunto, as linhas na janela definem uma instância de série cronológica que serve como entrada do modelo: é o que o Vertex AI usa para preparação, avaliação e inferência. A linha usada para gerar a janela é a primeira linha do horizonte e identifica exclusivamente a janela na série cronológica.

O horizonte de previsão determina até que ponto o modelo prevê o valor-alvo para cada linha de dados de inferência.

O período de contexto define o intervalo de tempo passado que o modelo analisa durante a preparação (e para as previsões). Por outras palavras, para cada ponto de dados de preparação, o período de contexto determina o intervalo de tempo em que 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 Janela de contexto = 14 e Horizonte de previsão = 7, cada exemplo de janela terá 14 + 7 = 21 linhas.

Disponibilidade na previsão

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

Quando lida com covariáveis que estão disponíveis no momento da previsão, o Vertex AI considera os valores das covariáveis da janela de contexto e do horizonte de previsão para preparação, avaliação e inferência. Quando lida com covariáveis indisponíveis no momento da previsão, o Vertex AI considera os valores das covariáveis da janela de contexto, mas exclui explicitamente os valores das covariáveis do horizonte de previsão.

Estratégias de janela deslizante

A Vertex AI gera janelas de previsão a partir dos dados de entrada através de uma estratégia de janela móvel. A estratégia predefinida é Count.

  • Contagem. O número de janelas geradas pela Vertex AI não pode exceder um máximo fornecido pelo utilizador. Se o número de linhas no conjunto de dados de entrada for inferior ao número máximo de janelas, todas as linhas são usadas para gerar uma janela. Caso contrário, a Vertex AI realiza uma amostragem aleatória para selecionar as linhas. O valor predefinido 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.
  • Stride. A Vertex AI usa uma de cada X linhas de entrada para gerar uma janela, até um máximo de 100 000 000 janelas. Esta opção é útil para inferências sazonais ou periódicas. Por exemplo, pode limitar a previsão a um único dia da semana definindo o valor do intervalo como 7. O valor pode estar entre 1 e 1000.
  • Coluna. Pode adicionar uma coluna aos dados de entrada em que os valores são True ou False. O 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 inferior a 100,000,000. São preferíveis os valores booleanos, mas também são aceites valores de string. Os valores das strings não são sensíveis a maiúsculas e minúsculas.

Ao gerar menos janelas do que as 100,000,000 predefinidas, pode reduzir o tempo necessário para o pré-processamento e a avaliação do modelo. Além disso, a redução da amostragem de janelas dá-lhe mais controlo sobre a distribuição de janelas vistas durante a preparação. Se for usado corretamente, isto pode levar a resultados melhorados e mais consistentes.

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

Suponhamos que tem dados recolhidos mensalmente, com uma janela de contexto de 5 meses e um horizonte de previsão de 5 meses. A preparação 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 a preparação, 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 que fornecer fora da janela de contexto são ignorados.

Após a recolha de dados para o 13.º mês, estes podem ser usados para fazer previsões até ao 18.º mês:

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

Isto pode continuar no futuro, desde que esteja a obter bons resultados. Eventualmente, pode voltar a preparar o modelo com os novos dados. Por exemplo, se voltar a preparar o modelo após adicionar mais 6 meses de dados, os dados de preparação 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]

Em seguida, pode usar o modelo para prever os meses 19 a 23:

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

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

Quando prepara um modelo, o Vertex AI seleciona um objetivo de otimização predefinido com base no tipo de modelo e no tipo de dados usado para a coluna de destino. A tabela seguinte fornece alguns detalhes sobre os problemas para os quais os modelos de previsão são mais adequados:

Objetivo de otimização Valor da API Use este objetivo se quiser…
RMSE minimize-rmse Minimizar o erro quadrático médio (RMSE). Captura valores mais extremos com precisão e é menos tendencioso ao agregar inferências. Valor predefinido.
MAE minimize-mae Minimizar o erro absoluto médio (MAE). Considera os valores extremos como valores atípicos com menor impacto no modelo.
RMSLE minimize-rmsle Minimizar o erro de registo quadrático médio (RMSLE). Penaliza o erro no tamanho relativo em vez do valor absoluto. Útil quando os valores previstos e reais podem ser elevados.
RMSPE minimize-rmspe Minimizar o erro percentual quadrático médio (RMSPE). Captura com precisão um grande intervalo de valores. Semelhante ao RMSE, mas relativo à magnitude do alvo. Útil quando o intervalo de valores é grande.
WAPE minimize-wape-mae Minimizar a combinação do erro percentual absoluto ponderado (WAPE) e do erro absoluto médio (MAE). Útil quando os valores reais são baixos.
Perda de quantil minimize-quantile-loss Minimizar a perda de pinball dimensionada dos quantis definidos para quantificar a incerteza nas estimativas. As inferências de quantil quantificam a incerteza das inferências. Medem a probabilidade de uma inferência estar dentro de um intervalo.

Regiões de férias

Para determinados exemplos de utilização, os dados de previsão podem apresentar um comportamento irregular nos dias que correspondem a feriados regionais. Se quiser que o seu modelo tenha em conta este efeito, selecione a região ou as regiões geográficas que correspondem aos seus dados de entrada. Durante a preparação, o Vertex AI cria caraterísticas categóricas de feriados no modelo com base na data da coluna de tempo e nas regiões geográficas especificadas.

Segue-se um excerto de datas e funcionalidades categóricas de feriados para os Estados Unidos. Tenha em atenção que uma funcionalidade categórica é atribuída à data principal, a um ou mais dias antes do feriado e a um ou mais dias após o feriado. Por exemplo, a data principal do Dia da Mãe nos EUA em 2013 foi a 12 de maio. As funcionalidades do Dia da Mãe são atribuídas à data principal, seis dias antes da data festiva e um dia após a data festiva.

Data Funcionalidade categorial de feriados
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 o seguinte:

  • GLOBAL: deteta feriados para todas as regiões do mundo.
  • NA: deteta feriados na América do Norte.
  • JAPAC: deteta feriados no Japão e na região Ásia-Pacífico.
  • EMEA: Deteta feriados na Europa, no Médio Oriente e em África.
  • LAC: deteta feriados na América Latina e no Caribe.
  • Códigos de países ISO 3166-1: deteta feriados 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. Pode abrir esta tabela através da Google Cloud consola seguindo estes passos:

  1. Na Google Cloud consola, na secção BigQuery, aceda à página BigQuery Studio.

    Aceda ao BigQuery Studio

  2. No painel Explorador, abra o projeto bigquery-public-data. Se não conseguir encontrar este projeto ou quiser saber mais, consulte o artigo Abra um conjunto de dados público.
  3. Abra o conjunto de dados ml_datasets.
  4. Abra a tabela holidays_and_events_for_forecasting.

Segue-se um excerto da tabela holidays_and_events_for_forecasting:

exemplo de feriados para previsão