View a markdown version of this page

Etapa 2: Preparar os dados - Princípios das previsões de séries temporais com o Amazon Forecast

Etapa 2: Preparar os dados

Assim que tiver os dados brutos disponíveis, será necessário lidar com as complicações, como dados ausentes, e certificar-se de preparar os dados para os modelos de previsão que melhor capturam a interpretação pretendida.

Como lidar com os dados ausentes

Uma ocorrência comum em problemas de previsão do mundo real é a presença de valores ausentes nos dados brutos. Um valor ausente em uma série temporal significa que o verdadeiro valor correspondente em cada ponto no tempo com a frequência especificada não está disponível para processamento adicional. Pode haver vários motivos para que os valores sejam marcados como ausentes.

Os valores ausentes podem ocorrer devido a nenhuma transação ou a possíveis erros de medição (por exemplo, porque um serviço que monitorou determinados dados não estava funcionando corretamente ou porque a medição não pôde ocorrer corretamente). O principal exemplo deste último no estudo de caso de varejo é uma situação de falta de estoque na previsão de demanda, o que significa que a demanda não é igual às vendas naquele dia.

Efeitos semelhantes podem ocorrer em cenários de computação em nuvem quando um serviço atinge um limite (por exemplo, instâncias do Amazon EC2 em determinadas Região da AWS estão todas ocupadas). Outro exemplo de valores ausentes ocorre quando um produto ou serviço ainda não foi lançado ou sai de produção.

Os valores ausentes também podem ser inseridos pelos componentes de processamento de recursos, para garantir durações iguais das séries temporais com preenchimento. Se prevalentes o suficiente, os valores ausentes podem afetar significativamente a precisão de um modelo.

Exemplo 1

Preenchimento é o processo de adicionar valores padronizados a entradas ausentes em seu conjunto de dados. Na seguinte figura, as diferentes estratégias para lidar com valores ausentes no Amazon Forecast, preenchimento frontal, médio, de alocação e futuro, são ilustradas para o item 2 em um conjunto de dados de três itens.

O Amazon Forecast oferece suporte ao preenchimento das séries temporais alvo e relacionadas. A data de início global é definida como a data de início mais próxima em relação às datas de início de todos os itens no conjunto de dados. No exemplo abaixo, a data de início global ocorre para o item 1. Da mesma forma, a data de término global é definida como a última data de término das séries temporais em relação a todos os itens, o que ocorre para o item 2.

O preenchimento frontal preenche todos os valores, desde o início da série temporal específica até a data de início global. No momento da publicação deste documento, o Amazon Forecast não ativa nenhum preenchimento frontal e permite que todas as séries temporais comecem em momentos diferentes. O preenchimento médio indica os valores que foram preenchidos no meio das séries temporais (por exemplo, entre as datas de início e término dos itens), e o preenchimento de alocação preenche da última data dessa série temporal até a data de término global.

Para as séries temporais alvo, os métodos de preenchimento médio e de alocação têm uma lógica de preenchimento padrão de zero. O preenchimento futuro (que se aplica somente às séries temporais relacionadas) preenche qualquer valor ausente entre a data de término global dos itens e o horizonte de previsão especificado pelo cliente. Os valores futuros são necessários para usar o conjunto de dados de séries temporais relacionadas com o Prophet e o DeepAR+, e opcionais para o CNN-QR.

Diagrama mostrando estratégias de tratamento de valor ausente no Amazon Forecast

Estratégias de tratamento de valor ausentes no Amazon Forecast

Na figura anterior, a data de início global indica a primeira data de início em relação às datas de início de todos os itens, e a data de término global indica a última data de término em relação às datas de término de todos os itens. O horizonte de previsão é o período durante o qual o Forecast fornece previsões para o valor alvo.

Este é um cenário comum no estudo de varejo que representa zero vendas para dados transacionais de itens disponíveis. Esses valores são tratados como zeros verdadeiros e usados no componente de avaliação de métricas. O Amazon Forecast permite que o usuário identifique os valores que estão realmente ausentes e os codifique como não é um número (NaN) para os algoritmos processarem. A seguir, este artigo examina por que esses dois casos diferem e quando cada um é útil.

No estudo de caso de varejo, a informação de que um varejista vendeu zero unidades de um item disponível difere da informação de que zero unidades de um item indisponível foram vendidas, seja em períodos fora de sua existência (por exemplo, antes do lançamento ou depois da depreciação) ou em períodos de sua existência (por exemplo, parcialmente fora de estoque ou quando não havia dados de vendas registrados para este intervalo de tempo). O preenchimento zero padrão é aplicável no primeiro caso. No último caso, embora o valor alvo correspondente seja normalmente zero, há informações adicionais transmitidas no valor marcado como ausente. A prática recomendada é preservar as informações de que haviam dados ausentes e não descartá-las. Veja o exemplo a seguir de uma ilustração do porquê manter as informações é importante.

O Amazon Forecast oferece suporte à lógica de preenchimento adicional de valor, média, mediana, mínimo e máximo. Para as séries temporais relacionadas (por exemplo, preços ou promoções), não há padrões especificados para métodos de preenchimento médio, de alocação ou futuro, porque a lógica de valores ausentes correta varia de acordo com o tipo de atributo e o caso de uso. A lógica de preenchimento compatível com as séries temporais relacionadas inclui zero, valor, média, mediana, mínimo e máximo.

Para realizar o preenchimento de valor ausente, especifique os tipos de preenchimento a implementar ao chamar a operação CreatePredictor. A lógica de preenchimento é especificada em objetos de FeaturizationMethod. Por exemplo, para codificar um valor que não represente zero vendas de um produto indisponível nas séries temporais alvo, marque um valor como realmente ausente definindo o tipo de preenchimento igual a NaN. Ao contrário do preenchimento zero, os valores codificados com NaN são tratados como realmente ausentes e não são usados no componente de avaliação de métricas.

Diagrama mostrando o efeito do preenchimento zero versus o preenchimento por NaN nas previsões para o mesmo item

O efeito do preenchimento zero versus o preenchimento por NaN nas previsões para o mesmo item

Na figura anterior, no gráfico esquerdo, os valores à esquerda da linha preta vertical são preenchidos com zeros, levando a uma previsão tendenciosa (à direita da linha preta vertical). No gráfico à direita, esses valores são marcados como NaN, levando a previsões apropriadas.

Exemplo 2

A figura anterior ilustra a importância de lidar corretamente com os valores ausentes para um modelo de espaço de estado linear, como ARIMA ou ETS. Ela traça a previsão de demanda de um item que está parcialmente fora de estoque. A região de treinamento é exibida no gráfico à esquerda em verde, o intervalo de previsão no painel à direita em vermelho e o alvo verdadeiro em preto. As previsões de mediana, p10 e p90 são exibidas na linha vermelha e na região sombreada, respectivamente. A parte inferior mostra os itens fora de estoque (80% dos dados) marcados em vermelho. No gráfico à esquerda, as áreas fora de estoque são ignoradas e preenchidas por zero.

Isso faz com que os modelos de previsão suponham que há muitos zeros para prever e, portanto, as previsões são muito baixas. No gráfico à direita, as áreas fora de estoque são tratadas como observações ausentes verdadeiras, e a demanda se torna incerta na região fora de estoque. Com os valores ausentes para os itens fora de estoque devidamente marcados como NaN, não há tendências no intervalo de previsão neste gráfico. O Amazon Forecast preenche essas lacunas nos dados, facilitando o tratamento correto dos dados ausentes, sem precisar modificar explicitamente todos os dados de entrada.

O Amazon Forecast permite que os usuários insiram dados relacionados para ajudar a melhorar a precisão de determinados modelos de previsão compatíveis. Esses dados podem ser de dois tipos: séries temporais relacionadas ou metadados de itens estáticos.

nota

Os metadados e dados relacionados são chamados de recursos em machine learning e de covariáveis nas estatísticas.

As séries temporais relacionadas são séries temporais que têm alguma correlação com o valor alvo e devem fornecer alguma força estatística para prever o valor-alvo, pois fornecem uma explicação em termos intuitivos [consulte Amazon Forecast: predicting time-series at scale (Amazon Forecast: previsão de séries temporais em escala) para obter exemplos]. Ao contrário das séries temporais alvo, as relacionadas são valores conhecidos no passado que podem impactar a série temporal alvo e podem ter valores conhecidos no futuro.

No Amazon Forecast, você pode adicionar dois tipos de séries temporais relacionadas: séries temporais históricas e séries temporais prospectivas. As séries temporais relacionadas históricas contêm pontos de dados até o horizonte de previsão e não contêm nenhum ponto de dados dentro do horizonte de previsão no futuro. As séries temporais relacionadas prospectivas contêm pontos de dados até e dentro do horizonte de previsão.

Diagrama mostrando diferentes abordagens em relação ao uso de séries temporais relacionadas com o Amazon Forecast

Diferentes abordagens em relação ao uso de séries temporais relacionadas com o Amazon Forecast

Exemplo 3

A seguinte figura mostra um exemplo de como as séries temporais relacionadas podem ser usadas para prever a demanda futura de um livro popular. A linha azul representa a demanda na série temporal alvo. O preço é exibido como a linha verde. A linha vertical representa a data de início da previsão, e as previsões nos dois quantis são exibidas à direita da linha vertical.

Este exemplo usa uma série temporal relacionada prospectiva que se alinha com a série temporal alvo na granularidade da previsão e é conhecida todas (ou na maioria das) vezes no futuro na faixa da data de início da previsão até a data de início da previsão incrementada pelo horizonte de previsão (data de término da previsão).

A seguinte figura também mostra que o preço é um recurso adequado para usar, já que você pode ver as correlações entre uma queda no preço e um aumento nas vendas do produto. As séries temporais relacionadas podem ser fornecidas ao Amazon Forecast por meio de um arquivo CSV separado, contendo a SKU do item, o carimbo de data e hora e os valores das séries temporais relacionadas (nesse caso, preço).

O Amazon Forecast oferece suporte aos métodos de agregação, como média e soma para as séries temporais alvo, mas não para as relacionadas. Por exemplo, não faz muito sentido somar um preço diário a um preço semanal e, da mesma forma, para promoções diárias.

O Amazon Forecast pode incorporar automaticamente as informações meteorológicas e de feriados em um modelo, ao incluir conjuntos de dados com integrados caracterizados (consulte SupplementaryFeature). As informações meteorológicas e de feriados podem afetar significativamente a demanda do varejo.

Diagrama mostrando as vendas de um item específico

As vendas de um item específico (em azul, da esquerda para a linha vermelha vertical)

Os metadados do item, também conhecidos como variáveis categóricas, são outros recursos úteis que podem ser inseridos no Amazon Forecast [consulte Amazon Forecast: predicting time-series at scale (Amazon Forecast: previsão de séries temporais em escala) para obter exemplos]. A principal diferença entre variáveis categóricas e séries temporais relacionadas é que as variáveis categóricas são estáticas, elas não mudam com o tempo. Os exemplos comuns de varejo incluem as cores dos itens, categorias de livros e indicadores binários sobre uma TV ser inteligente ou não. Essas informações podem ser coletadas por algoritmos de aprendizado profundo em semelhanças de aprendizado entre unidades de manutenção de estoque (SKUs), supondo que as SKUs semelhantes tenham vendas semelhantes. Como esses metadados não dependem de tempo, cada linha no arquivo CSV de metadados do item consiste apenas na SKU do item e no rótulo ou descrição da categoria correspondente.