Esteja você alocando recursos de forma mais eficiente para o tráfego da Web, prevendo a demanda de pacientes para necessidades de pessoal ou antecipando as vendas de produtos de uma empresa, a previsão é uma ferramenta essencial em muitas empresas. Um caso de uso específico, conhecido como previsão de partida a frio, cria previsões para uma série temporal com poucos ou nenhum dado histórico existente, como um novo produto que acabou de entrar no mercado no setor de varejo. Os métodos tradicionais de previsão de séries temporais, como a média móvel integrada autorregressiva (ARIMA) ou a suavização exponencial (ES), dependem muito das séries temporais históricas de cada produto individual e, portanto, não são eficazes para a previsão de partida a frio.
Neste post, demonstramos como construir um mecanismo de previsão de partida a frio usando AutoGluon AutoML para previsão de séries temporais, um pacote Python de código aberto para automatizar o aprendizado de máquina (ML) em dados de imagem, texto, tabulares e séries temporais. O AutoGluon fornece um pipeline de aprendizado de máquina automatizado (AutoML) de ponta a ponta para desenvolvedores de ML iniciantes a experientes, tornando-o a solução totalmente automatizada mais precisa e fácil de usar. Usamos o gratuito Laboratório de estúdio do Amazon SageMaker serviço para esta demonstração.
Introdução à série temporal AutoGluon
AutoGlúon é uma biblioteca de código aberto líder para AutoML para texto, imagem e dados tabulares, permitindo que você produza modelos altamente precisos a partir de dados brutos com apenas uma linha de código. Recentemente, a equipe tem trabalhado para estender esses recursos para dados de séries temporais e desenvolveu um módulo de previsão automatizado que está disponível publicamente em GitHub. O autogluon.forecasting
O módulo processa automaticamente dados brutos de séries temporais no formato apropriado e, em seguida, treina e ajusta vários modelos de aprendizado profundo de última geração para produzir previsões precisas. Neste post, mostramos como usar autogluon.forecasting
e aplicá-lo a tarefas de previsão de partida a frio.
Visão geral da solução
Como o AutoGluon é um pacote Python de código aberto, você pode implementar esta solução localmente no seu laptop ou no Amazon SageMaker Studio Lab. Percorremos os seguintes passos:
- Configure o AutoGluon para o Amazon SageMaker Studio Lab.
- Prepare o conjunto de dados.
- Defina os parâmetros de treinamento usando o AutoGluon.
- Treine um mecanismo de previsão de partida a frio para previsão de séries temporais.
- Visualize as previsões de previsão de partida a frio.
A principal suposição da previsão de partida a frio é que itens com características semelhantes devem ter trajetórias de séries temporais semelhantes, o que permite que a previsão de partida a frio faça previsões em itens sem dados históricos, conforme ilustrado na figura a seguir.
Em nosso passo a passo, usamos um conjunto de dados sintético baseado no consumo de eletricidade, que consiste na série temporal horária de 370 itens, cada um com um item_id
de 0 a 369. Dentro desse conjunto de dados sintético, cada item_id
também está associado a um recurso estático (um recurso que não muda com o tempo). Nós treinamos um DeepAR modelo usando AutoGluon para aprender o comportamento típico de itens semelhantes e transferir esse comportamento para fazer previsões sobre novos itens (item_id
370–373) que não possuem dados históricos de séries temporais. Embora estejamos demonstrando a abordagem de previsão de partida a frio com apenas um recurso estático, na prática, ter recursos estáticos informativos e de alta qualidade é a chave para uma boa previsão de partida a frio.
O diagrama a seguir fornece uma visão geral de alto nível de nossa solução. O código-fonte aberto está disponível no GitHub repo.
Pré-requisitos
Para este passo a passo, você deve ter os seguintes pré-requisitos:
- An Conta do Amazon SageMaker Studio Lab
- GitHub acesso à conta
Faça login na sua conta do Amazon SageMaker Studio Lab e configure o ambiente usando o terminal:
Essas instruções também devem funcionar em seu laptop se você não tiver acesso ao Amazon SageMaker Studio Lab (recomendamos instalar o Anaconda em seu laptop primeiro).
Quando você tiver o ambiente virtual totalmente configurado, inicie o notebook AutoGluon-cold-start-demo.ipynb
e selecione o ambiente personalizado .conda-autogluon:Python
núcleo.
Preparar a série temporal de destino e o conjunto de metadados do item
Faça download dos seguintes conjuntos de dados para sua instância de notebook se eles não estiverem incluídos e salve-os no diretório data/
. Você pode encontrar esses conjuntos de dados em nosso GitHub repo:
- Teste.csv.gz
- coldStartTargetData.csv
- itemMetaData.csv
Execute o snippet a seguir para carregar o conjunto de dados de série temporal de destino no kernel:
A série temporal AutoGluon requer que os recursos estáticos sejam representados em formato numérico. Isso pode ser alcançado através da aplicação de LabelEncoder()
em nosso recurso estático type
, onde codificamos A=0, B=1, C=2, D=3 (veja o código a seguir). Por padrão, o AutoGluon infere que o recurso estático seja ordinal ou categórico. Você também pode substituir isso convertendo a coluna de recurso estático para o tipo de dados objeto/string para recursos categóricos ou tipo de dados inteiro/flutuante para recursos ordinais.
Configurar e iniciar o treinamento do modelo AutoGluon
Precisamos especificar save_path = ‘autogluon-coldstart-demo’
como o nome da pasta do artefato do modelo (consulte o código a seguir). Também definimos nosso eval_metric
as erro percentual médio absolutoou ‘MAPE’
para breve, onde definimos prediction_length
como 24 horas. Se não for especificado, o AutoGluon por padrão produz previsões probabilísticas e as pontua por meio do perda quantílica ponderada. Nós apenas olhamos para o Modelo DeepAR em nossa demonstração, porque sabemos que o algoritmo DeepAR permite a previsão de partida a frio por design. Definimos um dos hiperparâmetros do DeepAR arbitrariamente e passamos esse hiperparâmetro para o ForecastingPredictor().fit()
chamar. Isso permite que o AutoGluon veja apenas o modelo especificado. Para obter uma lista completa de hiperparâmetros ajustáveis, consulte pacote gluonts.model.deepar.
O treinamento leva de 30 a 45 minutos. Você pode obter o resumo do modelo chamando a seguinte função:
Previsão no item de inicialização a frio
Agora estamos prontos para gerar previsões para o item de partida a frio. Recomendamos ter pelo menos cinco linhas para cada item_id
. Portanto, para o item_id
que tem menos de cinco observações, preenchemos com NaNs. Em nossa demonstração, ambos item_id
370 e 372 têm observação zero, um problema de partida a frio puro, enquanto os outros dois têm cinco valores alvo.
Carregue o conjunto de dados de série temporal de destino de inicialização a frio com o seguinte código:
Alimentamos a série temporal de destino de inicialização a frio em nosso modelo AutoGluon, juntamente com o conjunto de metadados do item para a inicialização a frio item_id
:
Visualize as previsões
Podemos criar uma função de plotagem para gerar uma visualização da previsão de partida a frio, conforme mostrado no gráfico a seguir.
limpar
Para otimizar o uso de recursos, considere interromper o tempo de execução no Amazon SageMaker Studio Lab depois de explorar totalmente o notebook.
Conclusão
Nesta postagem, mostramos como criar um mecanismo de previsão de partida a frio usando AutoGluon AutoML para dados de séries temporais no Amazon SageMaker Studio Lab. Para aqueles que estão se perguntando a diferença entre Previsão da Amazônia e AutoGluon (série temporal), o Amazon Forecast é um serviço totalmente gerenciado e com suporte que usa machine learning (ML) para gerar previsões altamente precisas sem exigir nenhuma experiência anterior em ML. Enquanto o AutoGluon é um projeto de código aberto que é apoiado pela comunidade com as mais recentes contribuições de pesquisa. Percorremos um exemplo de ponta a ponta para demonstrar do que o AutoGluon para séries temporais é capaz e fornecemos um conjunto de dados e um caso de uso.
O AutoGluon para dados de séries temporais é um pacote Python de código aberto e esperamos que esta postagem, juntamente com nosso exemplo de código, forneça uma solução direta para enfrentar problemas desafiadores de previsão de partida a frio. Você pode acessar todo o exemplo em nosso GitHub repo. Experimente e diga-nos o que achou!
Sobre os autores
Ivan Cui é cientista de dados da AWS Professional Services, onde ajuda os clientes a criar e implantar soluções usando aprendizado de máquina na AWS. Ele trabalhou com clientes em diversos setores, incluindo software, finanças, farmacêutico e saúde. Em seu tempo livre, ele gosta de ler, passar o tempo com sua família e maximizar seu portfólio de ações.
Jonas Müller é Cientista Aplicado Sênior no grupo de Pesquisa e Educação em IA da AWS, onde desenvolve novos algoritmos para melhorar o aprendizado profundo e desenvolver o aprendizado de máquina automatizado. Antes de ingressar na AWS para democratizar o ML, ele concluiu seu doutorado no MIT Computer Science and Artificial Intelligence Lab. Em seu tempo livre, ele gosta de explorar montanhas e atividades ao ar livre.
Wenming Ye é gerente de produtos de pesquisa na AWS AI. Ele é apaixonado por ajudar pesquisadores e clientes corporativos a escalar rapidamente suas inovações por meio de tecnologia de aprendizado de máquina de código aberto e de última geração. Wenming tem experiência diversificada em P&D da Microsoft Research, da equipe de engenharia SQL e de startups de sucesso.
- Coinsmart. A melhor troca de Bitcoin e criptografia da Europa.
- Platoblockchain. Inteligência Metaverso Web3. Conhecimento Ampliado. ACESSO LIVRE.
- CryptoHawk. Radar Altcoin. Teste grátis.
- Fonte: https://aws.amazon.com/blogs/machine-learning/build-a-cold-start-time-series-forecasting-engine-using-autogluon/
- "
- 100
- 9
- Sobre
- absoluto
- Acesso
- Conta
- preciso
- alcançado
- em
- AI
- ai pesquisa
- algoritmo
- algoritmos
- Permitindo
- Apesar
- Amazon
- Aplicando
- abordagem
- artificial
- inteligência artificial
- Automatizado
- disponível
- média
- AWS
- construir
- Constrói
- negócios
- chamada
- Pode obter
- capacidades
- CD
- alterar
- Finalizar compra
- código
- Coluna
- comunidade
- Empresa
- Ciência da Computação
- consumo
- Clientes
- dados,
- cientista de dados
- Demanda
- implantar
- Design
- desenvolver
- desenvolvido
- desenvolvedores
- Não faz
- Educação
- Eficaz
- eletricidade
- Engenharia
- entrou
- Empreendimento
- Meio Ambiente
- essencial
- exemplo
- vasta experiência
- experiente
- estender
- família
- Característica
- Funcionalidades
- Figura
- financiar
- Primeiro nome
- seguinte
- formato
- Gratuito
- cheio
- função
- futuro
- gerar
- Git
- Bom estado, com sinais de uso
- Grupo
- ter
- saúde
- ajuda
- altamente
- histórico
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTTPS
- imagem
- executar
- melhorar
- incluído
- Incluindo
- Individual
- indústrias
- indústria
- integrado
- Inteligência
- IT
- Chave
- conhecido
- laptop
- mais recente
- lançamento
- principal
- APRENDER
- aprendizagem
- Biblioteca
- Line
- Lista
- pequeno
- carregar
- máquina
- aprendizado de máquina
- Fazendo
- Gerente
- mercado
- Meta
- Microsoft
- MIT
- ML
- modelo
- modelos
- a maioria
- em movimento
- produto novo
- caderno
- código-fonte aberto
- Outros
- ao ar livre
- percentagem
- Farmacêutica
- pasta
- Previsões
- Problema
- problemas
- processos
- produzir
- Produto
- Produtos
- profissional
- projeto
- fornece
- R & D
- Cru
- Leitura
- recomendar
- pesquisa
- recurso
- Recursos
- varejo
- vendas
- Escala
- dimensionamento
- Ciência
- Cientista
- Série
- serviço
- Serviços
- conjunto
- Baixo
- semelhante
- Software
- Soluções
- Passar
- começo
- Startups
- estoque
- estudo
- bem sucedido
- Suportado
- Target
- tarefas
- Profissionais
- Equipar
- terminal
- Através da
- tempo
- juntos
- tradicional
- tráfego
- Training
- trens
- us
- usar
- Virtual
- visualização
- web
- O Quê
- QUEM
- dentro
- sem
- Atividades:
- trabalhou
- trabalhar
- zero