O AutoGluon-TimeSeries é a mais recente adição ao AutoGluon, que ajuda você a criar facilmente modelos poderosos de previsão de séries temporais com apenas três linhas de código.
A previsão de séries temporais é uma tarefa comum em uma ampla gama de indústrias, bem como em domínios científicos. Ter acesso a previsões confiáveis de oferta, demanda ou capacidade é crucial para o planejamento dos negócios. No entanto, a previsão de séries temporais é um problema difícil, especialmente quando milhares de séries temporais potencialmente relacionadas estão disponíveis, como vendas em um grande catálogo no comércio eletrônico ou capacidade em centenas de sites operacionais.
Métodos de previsão estatísticos ou baseados em julgamentos simples geralmente já são linhas de base fortes que são difíceis de melhorar com novos métodos de aprendizado de máquina (ML). Além disso, as aplicações de avanços recentes em ML para previsão são variadas, com poucos métodos como DeepAR [1] ou Temporal Fusion Transformers [2] surgindo como escolhas populares. No entanto, esses métodos são difíceis de treinar, ajustar e implantar na produção, exigindo conhecimento especializado de ML e análise de séries temporais.
O AutoML é um tópico em rápido crescimento no ML, com foco na automação de tarefas comuns em pipelines de ML, incluindo pré-processamento de recursos, seleção de modelo, ajuste de modelo, combinação e implantação. AutoGluon-TimeSeries é a mais recente adição ao AutoGlúon, uma das principais soluções de AutoML de software livre e baseia-se na poderosa estrutura do AutoGluon para AutoML em tarefas de previsão. O AutoGluon-TimeSeries foi projetado para criar sistemas de previsão poderosos com apenas três linhas de código, aliviando os desafios de pré-processamento de recursos, seleção de modelo, ajuste de modelo e facilidade de implantação.
Com uma simples chamada para AutoGluon-TimeSeries TimeSeriesPredictor
, o AutoGluon segue uma ordem intuitiva de prioridade no ajuste de modelos: começando com linhas de base simples e ingênuas e passando para poderosas redes neurais globais e métodos avançados baseados em árvore, tudo dentro do orçamento de tempo especificado pelo usuário. Quando séries temporais relacionadas (covariáveis com variação de tempo ou variáveis exógenas) ou metadados de itens (recursos estáticos) estão disponíveis, o AutoGluon-TimeSeries os considera na previsão. A biblioteca também explora a otimização bayesiana para ajuste de hiperparâmetros, chegando à melhor configuração de modelo por meio do ajuste de modelos complexos. Por fim, o AutoGluon-TimeSeries combina o melhor dos métodos estatísticos e baseados em ML em um conjunto de modelos otimizado para o problema em questão.
Nesta postagem, mostramos a facilidade de uso do AutoGluon-TimeSeries na construção rápida de um poderoso previsor.
Introdução ao AutoGluon-TimeSeries
Para começar, você precisa instalar o AutoGluon, que é facilmente feito com pip em um shell UNIX:
AutoGluon-TimeSeries apresenta o TimeSeriesDataFrame
para trabalhar com conjuntos de dados que incluem várias séries temporais relacionadas (às vezes chamadas de conjunto de dados de painel). Esses quadros de dados podem ser criados a partir dos chamados quadros de dados de formato longo, que possuem IDs de séries temporais e timestamps organizados em linhas. O seguinte é um exemplo de dados, retirado da competição M4 [3]. Aqui o item_id
A coluna especifica o identificador exclusivo de uma única série temporal, como a ID do produto para dados de vendas diárias de vários produtos. o target
coluna é o valor de interesse que o AutoGluon-TimeSeries aprenderá a prever. weekend
é uma covariável variável no tempo extra que produzimos para marcar se a observação foi no fim de semana ou não.
Podemos facilmente produzir um novo TimeSeriesDataFrame
deste conjunto de dados usando o from_data_frame
construtor. Veja o seguinte código Python:
Alguns dados de séries temporais têm recursos que não variam no tempo (recursos estáticos ou metadados de itens) que podem ser usados no treinamento de um modelo de previsão. Por exemplo, o conjunto de dados M4 apresenta uma variável de categoria para cada série temporal. Estes podem ser adicionados ao TimeSeriesDataFrame
definindo o static_features
variável com um novo quadro de dados.
Use o seguinte código:
Treinar um TimeSeriesPredictor
Finalmente, podemos chamar o TimeSeriesPredictor
para ajustar uma ampla gama de modelos de previsão para construir um sistema de previsão preciso. Veja o seguinte código:
Aqui, especificamos que o TimeSeriesPredictor
deve produzir modelos para prever os próximos sete períodos de tempo e julgar os melhores modelos usando o erro escalar absoluto médio (MAS SE). Além disso, indicamos que a covariável variável no tempo weekend
está disponível no conjunto de dados. Agora podemos ajustar o objeto preditor no TimeSeriesDataFrame
produzido anteriormente:
Além de fornecer os dados de treinamento, pedimos ao preditor para usar “medium_quality”
predefinições. O AutoGluon-TimeSeries vem com várias predefinições para selecionar subconjuntos de modelos a serem considerados e quanto tempo gastar para ajustá-los, gerenciando a compensação entre velocidade de treinamento e precisão. Além das predefinições, usuários mais experientes podem usar um hyperparameters
argumento para especificar com precisão modelos de componentes e quais hiperparâmetros definir neles. Também especificamos um limite de tempo de 1,800 segundos, após o qual o preditor para de treinar.
Sob o capô, o AutoGluon-TimeSeries treina o máximo de modelos possível dentro do período de tempo especificado, começando com linhas de base ingênuas, mas poderosas, e trabalhando em direção a previsões mais complexas com base em árvores aprimoradas e modelos de rede neural. chamando predictor.leaderboard()
, podemos ver uma lista de todos os modelos treinados e as pontuações de precisão e os tempos de treinamento de cada um. Observe que cada modelo AutoGluon-TimeSeries relata seus erros em um formato “quanto maior, melhor”, o que significa que a maioria das medidas de erro de previsão são multiplicadas por -1 quando relatadas. Veja o seguinte exemplo:
Previsão com um TimeSeriesPredictor
Finalmente, podemos usar o preditor para prever todas as séries temporais em um TimeSeriesDataFrame
, 7 dias no futuro. Observe que, como usamos covariáveis variáveis no tempo que se supõe serem conhecidas no futuro, elas também devem ser especificadas no momento da previsão. Veja o seguinte código:
Por padrão, o AutoGluon-TimeSeries fornece previsões de ponto e previsões probabilísticas (quantil) do valor de destino. As previsões probabilísticas são essenciais em muitas tarefas de planejamento e podem ser usadas para calcular intervalos com flexibilidade, permitindo tarefas posteriores, como planejamento de estoque e capacidade.
O seguinte é um gráfico de previsão de amostra demonstrando previsões pontuais e intervalos de previsão.
Conclusão
O AutoGluon-TimeSeries oferece aos analistas e cientistas de dados uma maneira rápida e fácil de criar modelos de previsão poderosos. Além de alguns dos recursos comumente usados da biblioteca apresentados nesta postagem, o AutoGluon-TimeSeries apresenta um conjunto de maneiras de configurar previsões para usuários avançados. Os preditores também são fáceis de treinar, implantar e atender em escala com Amazon Sage Maker, usando o aprendizado profundo do AutoGluon containers.
Para obter mais detalhes sobre como usar o AutoGluon, exemplos, tutoriais, bem como outras tarefas que o AutoGluon aborda, como aprendizado em dados tabulares ou multimodais, visite AutoGlúon. Para começar a usar o AutoGluon-TimeSeries, confira nosso tutorial de início rápido ou o nosso tutorial detalhado para uma visão mais profunda de todos os recursos que a biblioteca oferece. Siga o AutoGluon em Twitter, e nos estrelar GitHub para ser informado sobre as últimas atualizações.
Para previsão em escala com computação e fluxos de trabalho dedicados, suporte de nível empresarial, explicabilidade de previsão e muito mais, confira também Previsão da Amazônia.
Referências
[1] Salinas, David, Valentin Flunkert, Jan Gasthaus e Tim Januschowski. “DeepAR: Previsão probabilística com redes recorrentes autorregressivas.” Jornal Internacional de Previsão 36 (3): 2020-1181.
[2] Lim, Bryan, Sercan O Arik, Nicolas Loeff e Tomas Pfister. “Temporal Fusion Transformers para previsão de séries temporais multihorizontes interpretáveis.” Jornal Internacional de Previsão 37.4 (2021): 1748-1764.
[3] Makridakis, Spyros, Evangelos Spiliotis e Vassilios Assimakopoulos. “A Competição M4: 100,000 séries temporais e 61 métodos de previsão.” Jornal Internacional de Previsão 36.1 (2020): 54-74.
Sobre os autores
Caner turcomano é um cientista aplicado na Amazon Web Services, onde trabalha em problemas na interseção de aprendizado de máquina e previsão, além de desenvolver o AutoGluon-TimeSeries. Antes de ingressar na AWS, ele trabalhou no setor de consultoria de gerenciamento como cientista de dados, atendendo os setores de serviços financeiros e telecomunicações em projetos em todo o mundo. Os interesses pessoais de pesquisa de Caner abrangem uma variedade de tópicos, incluindo previsão, inferência causal e AutoML.
Oleksandr Shchur é um cientista aplicado na Amazon Web Services, onde trabalha na previsão de séries temporais no AutoGluon-TimeSeries. Antes de ingressar na AWS, ele concluiu o doutorado em Machine Learning na Universidade Técnica de Munique, Alemanha, fazendo pesquisas sobre modelos probabilísticos para dados de eventos. Seus interesses de pesquisa incluem aprendizado de máquina para dados temporais e modelagem generativa.
Nick Erickson é um Cientista Aplicado Sênior na Amazon Web Services. Ele obteve seu mestrado em Ciência da Computação e Engenharia pela Universidade de Minnesota Twin Cities. Ele é coautor e desenvolvedor principal da estrutura AutoML de software livre AutoGluon. Começando como um kit de ferramentas de ML de competição pessoal em 2018, Nick expandiu continuamente os recursos do AutoGluon e ingressou na Amazon AI em 2019 para abrir o código do projeto e trabalhar em tempo integral no avanço do estado da arte no AutoML.
- AI
- arte ai
- gerador de arte ai
- ai robô
- inteligência artificial
- certificação de inteligência artificial
- inteligência artificial em bancos
- robô de inteligência artificial
- robôs de inteligência artificial
- software de inteligência artificial
- Aprendizado de máquina da AWS
- blockchain
- conferência blockchain ai
- Coingenius
- inteligência artificial conversacional
- conferência de criptografia ai
- dall's
- deep learning
- glúon
- google ai
- Intermediário (200)
- aprendizado de máquina
- platão
- platão ai
- Inteligência de Dados Platão
- Jogo de Platão
- PlatãoData
- jogo de platô
- escala ai
- sintaxe
- zefirnet