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.
Tópicos
Conceitos básicos do k-NN
Você pode treinar um preditor com o CNN-QR de duas maneiras:
-
Seleção manual do algoritmo CNN-QR.
-
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.
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.
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 |
|
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 Se o valor de |
use_related_data |
|
Determina quais tipos de dados de séries temporais relacionados devem ser incluídos no modelo. Escolha uma das quatro opções:
|
use_item_metadata |
|
Determina se o modelo inclui metadados do item. Escolha uma destas opções:
|
epochs |
|
O número máximo de passagens completas pelos dados de treinamento. Conjuntos de dados menores exigem mais épocas. Para valores grandes de |
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:
-
Ao escolher o AutoML, o HPO será executado automaticamente para o CNN-QR.
-
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