Algoritmo CNN-QR - Amazon Forecast

O Amazon Forecast não está mais disponível para novos clientes. Os clientes existentes do Amazon Forecast podem continuar usando o serviço normalmente. Saiba mais

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Algoritmo CNN-QR

O Amazon Forecast CNN-QR, Rede Neural Convolucional - Regressão Quantílica, é um algoritmo de aprendizado de máquina proprietário para prever séries temporais escalares (unidimensionais) usando redes neurais convolucionais causais (CNNs). Esse algoritmo de aprendizado supervisionado treina um modelo global de uma grande coleção de séries temporais e usa um decodificador quantílico para fazer previsões probabilísticas.

Conceitos básicos do k-NN

Você pode treinar um preditor com o CNN-QR de duas maneiras:

  1. Seleção manual do algoritmo CNN-QR.

  2. Escolhendo o AutoML (o CNN-QR faz parte do AutoML).

Se você não tiver certeza de qual algoritmo usar, recomendamos selecionar AutoML, e o Forecast selecionará CNN-QR se for o algoritmo mais preciso para seus dados. Para ver se o CNN-QR foi selecionado como o modelo mais preciso, use a API DescribePredictor ou escolha o nome do preditor no console.

Aqui estão alguns dos principais casos de uso do CNN-QR:

  • Forecast com conjuntos de dados grandes e complexos - O CNN-QR funciona melhor quando treinado com conjuntos de dados grandes e complexos. A rede neural pode aprender em vários conjuntos de dados, o que é útil quando você tem séries temporais e metadados de itens relacionados.

  • Previsão com séries temporais relacionadas ao histórico - A CNN-QR não exige que séries temporais relacionadas contenham pontos de dados dentro do horizonte de previsão. Essa flexibilidade adicional permite que você inclua uma gama mais ampla de séries temporais relacionadas e metadados de itens, como preço do item, eventos, métricas da web e categorias de produtos.

Como funciona o CNN-QR

O CNN-QR é um modelo sequência-a-sequência (Seq2Seq) para previsão probabilística que testa o quão bem uma predição reconstrói a sequência de decodificação, condicionada à sequência de codificação.

O algoritmo permite diferentes recursos nas sequências de codificação e decodificação, para que você possa usar uma série temporal relacionada no codificador e omiti-la do decodificador (e vice-versa). Por padrão, séries temporais relacionadas com pontos de dados no horizonte de previsão serão incluídas no codificador e no decodificador. Séries temporais relacionadas sem pontos de dados no horizonte de previsão serão incluídas somente no codificador.

O CNN-QR realiza a regressão quantílica com um CNN causal hierárquico servindo como um extrator de recursos que podem ser aprendidos.

Para facilitar os padrões dependentes de tempo, como picos durante fins de semana, a DeepAR+ cria séries temporais de recursos automaticamente com base na granularidade da série temporal. Por exemplo, a DeepAR+ cria duas séries temporais de recursos (dia do mês e dia do ano) em uma série temporal semanal. Ela usa essas séries temporais de recursos derivados junto com a série temporal de recursos personalizada que você fornece durante o treinamento e a inferência. O exemplo a seguir mostra dois recursos de série temporal derivada: zi,t representa a hora do dia, e , o dia da semana.

Imagem: CNN-QR com recursos derivados para frequências de tempo.

A DeepAR+ inclui essa série temporal de recursos automaticamente com base na frequência e no tamanho dos dados de treinamento. A tabela a seguir lista os recursos que podem ser derivados para cada frequência básica de tempo com suporte.

Frequência da série temporal Recursos derivados
Minuto minuto da hora, hora do dia, dia da semana, dia do mês, dia do ano
Hora hora do dia, dia da semana, dia do mês, dia do ano
Dia dia da semana, dia do mês, dia do ano
Semana dia do mês, semana do ano
Mês mês do ano

Durante o treinamento, cada série temporal no conjunto de dados de treinamento consiste em um par de janelas adjacentes de contexto e previsão com comprimentos fixos predefinidos. Isso é mostrado na figura abaixo, onde a janela de contexto é representada em verde e a janela de previsão é representada em azul.

Você pode usar um modelo treinado em um determinado conjunto de treinamento para gerar previsões para o futuro da série temporal nesse conjunto de treinamento e para outras séries temporais. O conjunto de dados de treinamento consiste em uma série temporal alvo, que pode estar associada a uma lista de séries temporais relacionadas e metadados de itens.

O exemplo a seguir mostra como isso funciona para um elemento de um conjunto de dados de treinamento indexado por i. O conjunto de dados de treinamento consiste em uma série temporal de destino, zi,t, e duas séries temporais de recursos associadas, xi,1,t e xi,2,t. A primeira série temporal relacionada,xi,1,t, é uma série temporal prospectiva, e a segunda,xi,2,t, é uma série temporal histórica.

Imagem: CNN-QR com séries temporais históricas e relacionadas ao futuro

O CNN-QR aprende sobre a série temporal alvo e as séries temporais relacionadas xi,1,t exi,2,t, para gerar previsões na janela de previsão, representada pela linha laranja. zi,t

Usando dados relacionados com CNN-QR

O CNNQR oferece suporte a conjuntos de dados de séries temporais históricos e prospectivos. Se você fornecer um conjunto de dados de séries temporais relacionado ao futuro, qualquer valor ausente será preenchido usando o método future fill. Para obter mais informações sobre séries temporais relacionadas, consulte Usar conjuntos de dados de séries temporais relacionadas.

Você também pode usar conjuntos de dados de metadados de itens com o CNN-QR. Esses são conjuntos de dados com informações estáticas sobre os itens em sua série temporal alvo. Os metadados do item são especialmente úteis para cenários de previsão a frio em que há pouco ou nenhum dado histórico. Para obter mais informações sobre os metadados do item, consulte Metadados do item.

Hiperparâmetros de k-NN

O Amazon Forecast otimiza os modelos CNN-QR em hiperparâmetros selecionados. Ao selecionar manualmente o CNN-QR, você tem a opção de passar parâmetros de treinamento para esses hiperparâmetros. A tabela a seguir lista os hiperparâmetros do algoritmo RCF do .

Nome do parâmetro Valores Descrição
context_length
Valores válidos

Inteiros positivos

Intervalo válido

1 a 500

Valores típicos

2 * ForecastHorizon a 12 * ForecastHorizon

HPO ajustável

Sim

O número de pontos no tempo em que o modelo lê antes de fazer a previsão. Normalmente, o CNN-QR tem valores maiores context_length do que o DeepAr+ porque o CNN-QR não usa atrasos para analisar dados históricos adicionais.

Se o valor de context_length estiver fora de um intervalo predefinido, o CNN-QR definirá automaticamente o padrão context_length para um valor apropriado.

use_related_data
Valores válidos

ALL

NONE

HISTORICAL

FORWARD_LOOKING

Valor padrão

ALL

HPO ajustável

Sim

Determina quais tipos de dados de séries temporais relacionados devem ser incluídos no modelo.

Escolha uma das quatro opções:

  • ALL: inclua todas as séries temporais relacionadas fornecidas.

  • NONE: exclua todas as séries temporais relacionadas fornecidas.

  • HISTORICAL: inclua somente séries temporais relacionadas que não se estendam até o horizonte de previsão.

  • FORWARD_LOOKING: inclua somente séries temporais relacionadas que se estendam até o horizonte de previsão.

HISTORICALinclui todas as séries temporais relacionadas ao histórico e FORWARD_LOOKING inclui todas as séries temporais relacionadas com perspectivas futuras. Você não pode escolher um subconjunto HISTORICAL ou uma série temporal FORWARD_LOOKING relacionada.

use_item_metadata
Valores válidos

ALL

NONE

Valor padrão

ALL

HPO ajustável

Sim

Determina se o modelo inclui metadados do item.

Escolha uma destas opções:

  • ALL: inclua todos os metadados do item fornecidos.

  • NONE: exclua todos os metadados do item fornecidos.

use_item_metadatainclui todos os metadados do item fornecidos ou nenhum. Você pode escolher um subconjunto de metadados do item.

epochs
Valores válidos

Inteiros positivos

Valores típicos

10 a 1000

Valor padrão

100

HPO ajustável

Não

O número máximo de passagens completas pelos dados de treinamento. Conjuntos de dados menores exigem mais épocas.

Para valores grandes de ForecastHorizon econtext_length, considere períodos decrescentes para melhorar o tempo de treinamento.

Otimização de hiperparâmetros

A otimização de hiperparâmetros (HPO), ou ajuste, é a tarefa de escolher hiperparâmetros ideais para um determinado objetivo de aprendizagem. Com o Forecast, você pode automatizar esse processo de duas maneiras:

  1. Ao escolher o AutoML, o HPO será executado automaticamente para o CNN-QR.

  2. Seleção manual de CNN-QR e configuração. PerformHPO = TRUE

Séries temporais adicionais e metadados de itens relacionados nem sempre melhoram a precisão do seu modelo CNN-QR. Quando você executa o AutoML ou ativa o HPO, o CNN-QR testa a precisão do seu modelo com e sem a série temporal relacionada e os metadados do item fornecidos e seleciona o modelo com a maior precisão.

O Amazon Forecast otimiza automaticamente os três hiperparâmetros a seguir durante o HPO e fornece os valores finais treinados:

  • context_length - determina até onde a rede pode ver no passado. O processo de HPO define automaticamente um valor context_length que maximiza a precisão do modelo, levando em consideração o tempo de treinamento.

  • use_related_data - determina quais formas de dados de séries temporais relacionadas devem ser incluídas em seu modelo. O processo de HPO verifica automaticamente se os dados relacionados à série temporal melhoram o modelo e seleciona a configuração ideal.

  • use_item_metadata - determina se os metadados do item devem ser incluídos em seu modelo. O processo de HPO verifica automaticamente se os metadados do item melhoram o modelo e escolhe a configuração ideal.

nota

Se use_related_data estiver definido como NONE ou HISTORICAL quando o recurso Holiday suplementar for selecionado, isso significa que incluir dados de feriados não melhora a precisão do modelo.

Você pode definir a configuração de HPO para o context_length hiperparâmetro se você definir PerformHPO = TRUE durante a seleção manual. No entanto, você não pode alterar nenhum aspecto da configuração do HPO se escolher o AutoML. Para obter mais informações sobre a configuração do HPO, consulte a API IntergerParameterRange.

Dicas e melhores práticas

Evite valores grandes para ForecastHorizon - Usar valores acima de 100 para o ForecastHorizon aumentará o tempo de treinamento e poderá reduzir a precisão do modelo. Para prever mais adiante no futuro, considere a agregação para uma frequência mais alta. Por exemplo, use 5min em vez de 1min.

As CNNs permitem um comprimento de contexto maior - Com o CNN-QR, você pode definir um tamanho context_length um pouco maior do que o do DeepAr+, pois as CNNs geralmente são mais eficientes do que as RNNs.

Engenharia de recursos de dados relacionados - Experimente diferentes combinações de séries temporais relacionadas e metadados de itens ao treinar seu modelo e avalie se as informações adicionais melhoram a precisão. Diferentes combinações e transformações de séries temporais relacionadas e metadados de itens fornecerão resultados diferentes.

O CNN-QR não prevê no quantil médio — quando você configura ForecastTypes com mean a API CreateForecast, as previsões serão geradas no quantil médio (ou). 0.5 P50