Lidar com valores ausentes - 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á.

Lidar com valores ausentes

Um problema comum nos dados de previsão de séries temporais é a presença de valores ausentes. Seus dados podem conter valores ausentes por vários motivos, incluindo falhas de medição, problemas de formatação, erros humanos ou falta de informações para registro. Por exemplo, se você estiver prevendo a demanda de produtos para uma loja de varejo e um item estiver esgotado ou indisponível, não haverá dados de vendas para registrar enquanto esse item estiver esgotado. Se prevalentes o suficiente, os valores ausentes podem afetar significativamente a precisão de um modelo.

O Amazon Forecast fornece uma série de métodos de preenchimento para lidar com valores ausentes nos conjuntos de dados de séries temporais de destino e relacionadas. Preenchimento é o processo de adicionar valores padronizados a entradas ausentes em seu conjunto de dados.

O Forecast é compatível com os seguintes métodos de preenchimento:

  • Preenchimento intermediário: preenche todos os valores ausentes entre a data de início e a data de término do item de um conjunto de dados.

  • Preenchimento retroativo: preenche todos os valores ausentes entre o último ponto de dados registrado e a data de término global de um conjunto de dados.

  • Preenchimento futuro (somente séries temporais relacionadas): preenche quaisquer valores ausentes entre a data de término global e o final do horizonte de previsão.

A imagem a seguir fornece uma representação visual de diferentes métodos de preenchimento.

Timeline showing three items with varying durations and fill methods between global start and end dates.

Escolher a lógica de preenchimento

Ao escolher uma lógica de preenchimento, você deve considerar como a lógica será interpretada por seu modelo. Por exemplo, em um cenário de varejo, registrar 0 vendas de um item disponível é diferente de registrar 0 vendas de um item indisponível, pois esse último não implica em uma falta de interesse do cliente no item. Por isso, o preenchimento 0 na série temporal de destino pode fazer com que o preditor seja subtendencioso em suas previsões, enquanto o preenchimento NaN pode ignorar ocorrências reais de 0 itens disponíveis que estão sendo vendidos e fazer com que o preditor seja excessivamente tendencioso.

Os gráficos de séries temporais a seguir ilustram como a escolha do valor de preenchimento incorreto pode afetar significativamente a precisão do seu modelo. Os gráficos A e B representam a demanda parcial de um item out-of-stock, com as linhas pretas representando dados reais de vendas. Os valores ausentes em A1 são preenchidos com 0, o que resulta em previsões relativamente subtendenciosas (representadas pelas linhas pontilhadas) em A2. Da mesma forma, os valores ausentes em B1 são preenchidos com NaN, o que resulta em previsões mais exatas em B2.

Time-series graphs comparing item demand predictions with different filling values for missing data.

Para obter uma lista de lógicas de preenchimento compatíveis, consulte a seção a seguir.

Lógica de preenchimento de séries temporais de destino e de séries temporais relacionadas

Você pode executar o preenchimento em séries temporais de destino e conjuntos de dados de séries temporais relacionadas. Cada tipo de conjunto de dados tem diferentes diretrizes e restrições de preenchimento.

Diretrizes de preenchimento
Tipo de conjunto de dados Preencher por padrão? Métodos de preenchimento compatíveis Lógica de preenchimento padrão Lógica de preenchimento aceita
Séries cronológicas de destino Sim Preenchimento intermediário e retroativo 0
  • zero – preenchimento de 0.

  • value – um número inteiro ou flutuante.

  • nan – não um número.

  • mean – o valor médio da série de dados.

  • median – o valor mediano da série de dados.

  • min: o valor mínimo da série de dados.

  • max – o valor máximo da série de dados.

Séries temporais relacionadas Não Preenchimento intermediário, retroativo e futuro Sem padrão
  • zero – preenchimento de 0.

  • value – um valor inteiro ou float.

  • mean – o valor médio da série de dados.

  • median – o valor mediano da série de dados.

  • min: o valor mínimo da série de dados.

  • max – o valor máximo da série de dados.

Importante

Para os conjuntos de dados de séries temporais de destino e relacionadas, mean, median, min, e max são calculados com base em uma janela contínua das 64 entradas de dados mais recentes antes dos valores ausentes.

Sintaxe de valor ausente

Para realizar o preenchimento de valores ausentes, especifique os tipos de preenchimento a serem implementados ao chamar a CreatePredictoroperação. A lógica de preenchimento é especificada nos FeaturizationMethodobjetos.

O trecho a seguir demonstra um objeto FeaturizationMethod formatado corretamente para um atributo de série temporal de destino e um atributo de série temporal relacionada (target_value e price respectivamente).

Para definir um método de preenchimento para um valor específico, defina o parâmetro de preenchimento para value e defina o valor em um parâmetro _value correspondente. Conforme mostrado abaixo, o preenchimento retroativo da série temporal relacionada é definido como um valor de 2 da seguinte maneira: "backfill": "value" e "backfill_value":"2".

[ { "AttributeName": "target_value", "FeaturizationPipeline": [ { "FeaturizationMethodName": "filling", "FeaturizationMethodParameters": { "aggregation": "sum", "middlefill": "zero", "backfill": "zero" } } ] }, { "AttributeName": "price", "FeaturizationPipeline": [ { "FeaturizationMethodName": "filling", "FeaturizationMethodParameters": { "middlefill": "median", "backfill": "value", "backfill_value": "2", "futurefill": "max" } } ] } ]