Prepare dados de séries temporais com o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Prepare dados de série temporal com o Amazon SageMaker Data Wrangler

Os dados de séries temporais estão amplamente presentes em nossas vidas. Os preços das ações, os preços das casas, as informações meteorológicas e os dados de vendas capturados ao longo do tempo são apenas alguns exemplos. À medida que as empresas procuram cada vez mais novas formas de obter insights significativos a partir de dados de séries temporais, a capacidade de visualizar dados e aplicar as transformações desejadas são passos fundamentais. No entanto, os dados de séries temporais possuem características e nuances únicas em comparação com outros tipos de dados tabulares e requerem considerações especiais. Por exemplo, dados tabulares ou transversais padrão são coletados em um momento específico. Em contraste, os dados da série temporal são capturados repetidamente ao longo do tempo, com cada ponto de dados sucessivo dependente dos seus valores passados.

Como a maioria das análises de séries temporais baseia-se nas informações recolhidas através de um conjunto contíguo de observações, os dados em falta e a dispersão inerente podem reduzir a precisão das previsões e introduzir enviesamentos. Além disso, a maioria das abordagens de análise de séries temporais baseia-se no espaçamento igual entre os pontos de dados, em outras palavras, na periodicidade. Portanto, a capacidade de corrigir irregularidades no espaçamento dos dados é um pré-requisito crítico. Finalmente, a análise de séries temporais muitas vezes requer a criação de recursos adicionais que podem ajudar a explicar a relação inerente entre os dados de entrada e as previsões futuras. Todos esses fatores diferenciam projetos de séries temporais de cenários tradicionais de aprendizado de máquina (ML) e exigem uma abordagem distinta para sua análise.

Esta postagem mostra como usar Gerenciador de dados do Amazon SageMaker para aplicar transformações de série temporal e preparar seu conjunto de dados para casos de uso de série temporal.

Casos de uso do Data Wrangler

O Data Wrangler fornece uma solução sem código/low-code para análise de série temporal com recursos para limpar, transformar e preparar dados com mais rapidez. Ele também permite que os cientistas de dados preparem dados de séries temporais de acordo com os requisitos de formato de entrada do seu modelo de previsão. A seguir estão algumas maneiras de usar esses recursos:

  • Análise descritiva– Normalmente, a primeira etapa de qualquer projeto de ciência de dados é compreender os dados. Quando plotamos dados de séries temporais, obtemos uma visão geral de alto nível de seus padrões, como tendência, sazonalidade, ciclos e variações aleatórias. Isso nos ajuda a decidir a metodologia de previsão correta para representar com precisão esses padrões. A plotagem também pode ajudar a identificar valores discrepantes, evitando previsões irrealistas e imprecisas. O Data Wrangler vem com um visualização de decomposição de tendências de sazonalidade para representar componentes de uma série temporal, e um visualização de detecção de valores discrepantes para identificar valores discrepantes.
  • Análise explicativa– Para séries temporais multivariadas, a capacidade de explorar, identificar e modelar a relação entre duas ou mais séries temporais é essencial para obter previsões significativas. O Agrupar por A transformação no Data Wrangler cria várias séries temporais agrupando dados para células especificadas. Além disso, as transformações de série temporal do Data Wrangler, quando aplicável, permitem a especificação de colunas de ID adicionais para agrupar, permitindo análises complexas de série temporal.
  • Preparação de dados e engenharia de recursos– Os dados de séries temporais raramente estão no formato esperado pelos modelos de séries temporais. Muitas vezes requer preparação de dados para converter dados brutos em recursos específicos de séries temporais. Você pode querer validar se os dados da série temporal estão regularmente ou igualmente espaçados antes da análise. Para casos de uso de previsão, você também pode incorporar características adicionais de série temporal, como autocorrelação e propriedades estatísticas. Com o Data Wrangler, você pode criar rapidamente recursos de série temporal, como colunas de atraso para vários períodos de atraso, reamostrar dados para diversas granularidades de tempo e extrair automaticamente propriedades estatísticas de uma série temporal, para citar alguns recursos.

Visão geral da solução

Esta postagem explica como cientistas e analistas de dados podem usar o Data Wrangler para visualizar e preparar dados de série temporal. Usamos o conjunto de dados de criptomoeda bitcoin de download de dados criptográficos com detalhes de negociação de bitcoin para mostrar esses recursos. Limpamos, validamos e transformamos o conjunto de dados bruto com recursos de série temporal e também geramos previsões de preços de volume de bitcoin usando o conjunto de dados transformado como entrada.

A amostra de dados de negociação de bitcoin vai de 1º de janeiro a 19 de novembro de 2021, com 464,116 pontos de dados. Os atributos do conjunto de dados incluem um carimbo de data/hora do registro de preço, o preço de abertura ou primeiro preço pelo qual a moeda foi trocada em um determinado dia, o preço mais alto pelo qual a moeda foi trocada no dia, o último preço pelo qual a moeda foi trocada em do dia, o volume negociado no valor da criptomoeda no dia em BTC e a moeda USD correspondente.

Pré-requisitos

Faça o download do Bitstamp_BTCUSD_2021_minute.csv arquivo de download de dados criptográficos e faça o upload para Serviço de armazenamento simples da Amazon (Amazon S3).

Importar conjunto de dados bitcoin no Data Wrangler

Para iniciar o processo de ingestão no Data Wrangler, conclua as etapas a seguir:

  1. No Estúdio SageMaker console, no Envie o menu, escolha Novo, Em seguida, escolha Fluxo do Data Wrangler.
  2. Renomeie o fluxo conforme desejado.
  3. Escolha Datas de importação, escolha Amazon S3.
  4. Nos envie os Bitstamp_BTCUSD_2021_minute.csv arquivo do seu bucket S3.

Agora você pode visualizar seu conjunto de dados.

  1. No Adicionar ao carrinho painel, escolha Configuração avançada e desmarque Habilitar amostragem.

Este é um conjunto de dados relativamente pequeno, portanto não precisamos de amostragem.

  1. Escolha importação.

Você criou o diagrama de fluxo com sucesso e está pronto para adicionar etapas de transformação.

Prepare dados de séries temporais com o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Adicionar transformações

Para adicionar transformações de dados, escolha o sinal de mais ao lado de Tipos de dados e escolha Editar tipos de dados.

Prepare dados de séries temporais com o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Certifique-se de que o Data Wrangler inferiu automaticamente os tipos de dados corretos para as colunas de dados.

No nosso caso, os tipos de dados inferidos estão corretos. No entanto, suponha que um tipo de dados esteja incorreto. Você pode modificá-los facilmente por meio da IU, conforme mostrado na captura de tela a seguir.

editar e revisar tipos de dados

Vamos iniciar a análise e começar a adicionar transformações.

Limpeza de dados

Primeiro realizamos várias transformações de limpeza de dados.

Coluna de queda

Vamos começar descartando o unix coluna, porque usamos o date coluna como índice.

  1. Escolha Voltar para o fluxo de dados.
  2. Escolha o sinal de mais ao lado de Tipos de dados e escolha Adicionar transformação.
  3. Escolha + Adicionar etapa no TRANSFORMA painel.
  4. Escolha Gerenciar colunas.
  5. Escolha Transformar, escolha Coluna de queda.
  6. Escolha Coluna para soltar, escolha unix.
  7. Escolha visualização.
  8. Escolha Adicionar para salvar a etapa.

Alça faltando

A falta de dados é um problema bem conhecido em conjuntos de dados do mundo real. Portanto, é uma prática recomendada verificar a presença de quaisquer valores nulos ou ausentes e tratá-los adequadamente. Nosso conjunto de dados não contém valores ausentes. Mas se houvesse, usaríamos o Alça faltando transformação de série temporal para corrigi-los. As estratégias comumente usadas para lidar com dados ausentes incluem eliminar linhas com valores ausentes ou preencher os valores ausentes com estimativas razoáveis. Como os dados de séries temporais dependem de uma sequência de pontos de dados ao longo do tempo, o preenchimento de valores ausentes é a abordagem preferida. O processo de preenchimento de valores faltantes é conhecido como imputação. O Alça faltando a transformação de série temporal permite escolher entre várias estratégias de imputação.

  1. Escolha + Adicionar etapa no TRANSFORMA painel.
  2. Escolha o Séries temporais transformar.
  3. Escolha TransformarEscolher Alça faltando.
  4. Escolha Tipo de entrada de série temporal, escolha Ao longo da coluna.
  5. Escolha Método para imputar valores, escolha Preenchimento direto.

A Preenchimento direto O método substitui os valores ausentes pelos valores não ausentes que precedem os valores ausentes.

lidar com transformação de série temporal ausente

Preenchimento reverso, Valor constante, Valor mais comum e Interpolar são outras estratégias de imputação disponíveis no Data Wrangler. As técnicas de interpolação dependem de valores vizinhos para preencher os valores ausentes. Os dados de séries temporais geralmente apresentam correlação entre valores vizinhos, tornando a interpolação uma estratégia de preenchimento eficaz. Para obter detalhes adicionais sobre as funções que você pode usar para aplicar interpolação, consulte pandas.DataFrame.interpolate.

Validar carimbo de data/hora

Na análise de série temporal, a coluna de carimbo de data/hora atua como a coluna de índice, em torno da qual gira a análise. Portanto, é essencial garantir que a coluna de carimbo de data/hora não contenha valores de carimbo de data/hora inválidos ou formatados incorretamente. Porque estamos usando o date coluna como coluna de carimbo de data/hora e índice, vamos confirmar se seus valores estão formatados corretamente.

  1. Escolha + Adicionar etapa no TRANSFORMA painel.
  2. Escolha o Séries temporais transformar.
  3. Escolha Transformar, escolher Validar carimbos de data/hora.

A Validar carimbos de data/hora transform permite verificar se a coluna de carimbo de data/hora em seu conjunto de dados não possui valores com carimbo de data/hora incorreto ou valores ausentes.

  1. Escolha Coluna de carimbo de data/hora, escolha dados.
  2. Escolha Política menu suspenso, escolha Indicar.

A Indicar A opção de política cria uma coluna booleana que indica se o valor na coluna de carimbo de data/hora é um formato de data/hora válido. Outras opções para Política incluem:

  • erro – Lança um erro se a coluna timestamp estiver ausente ou for inválida
  • Cair – Descarta a linha se a coluna timestamp estiver ausente ou for inválida
  1. Escolha visualização.

Uma nova coluna booleana chamada date_is_valid foi criado, com true valores que indicam o formato correto e entradas não nulas. Nosso conjunto de dados não contém valores de carimbo de data/hora inválidos no date coluna. Mas se isso acontecesse, você poderia usar a nova coluna booleana para identificar e corrigir esses valores.

Validar transformação de série temporal de carimbo de data/hora

  1. Escolha Adicionar para salvar esta etapa.

Visualização de série temporal

Depois de limpar e validar o conjunto de dados, podemos visualizar melhor os dados para compreender seus diferentes componentes.

Redimensionamento

Como estamos interessados ​​em previsões diárias, vamos transformar a frequência dos dados para diária.

A Redimensionamento a transformação altera a frequência das observações da série temporal para uma granularidade especificada e vem com opções de aumento e redução da resolução. A aplicação do aumento da resolução aumenta a frequência das observações (por exemplo, de diária para horária), enquanto a redução da resolução diminui a frequência das observações (por exemplo, de horária para diária).

Como nosso conjunto de dados tem granularidade mínima, vamos usar a opção de redução da resolução.

  1. Escolha + Adicionar etapa.
  2. Escolha o Séries temporais transformar.
  3. Escolha Transformar, escolha Redimensionamento.
  4. Escolha Timestamp, escolha dados.
  5. Escolha Unidade de frequência, escolha Dia do calendário.
  6. Escolha Quantidade de frequência, insira 1.
  7. Escolha Método para agregar valores numéricos, escolha significar.
  8. Escolha visualização.

A frequência do nosso conjunto de dados mudou de por minuto para diariamente.

Prepare dados de séries temporais com o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

  1. Escolha Adicionar para salvar esta etapa.

Decomposição de tendências sazonais

Após a reamostragem, podemos visualizar a série transformada e seus componentes STL (decomposição sazonal e de tendência usando LOESS) associados usando o Decomposição de tendências sazonais visualização. Isto divide as séries temporais originais em tendências distintas, sazonalidade e componentes residuais, dando-nos uma boa compreensão de como cada padrão se comporta. Também podemos usar as informações ao modelar problemas de previsão.

O Data Wrangler usa LOESS, um método estatístico robusto e versátil para modelar tendências e componentes sazonais. Sua implementação subjacente usa regressão polinomial para estimar relações não lineares presentes nos componentes da série temporal (sazonalidade, tendência e residual).

  1. Escolha Voltar para o fluxo de dados.
  2. Escolha o sinal de mais ao lado do Passos on Fluxo de dados.
  3. Escolha Adicionar análise.
  4. No Criar análise painel, para Tipo de análise, escolher Séries temporais.
  5. Escolha Visualização, escolha Decomposição de tendências sazonais.
  6. Escolha Nome da análise, Insira o nome.
  7. Escolha Coluna de carimbo de data/hora, escolha dados.
  8. Escolha Coluna de valor, escolha Volume USD.
  9. Escolha visualização.

A análise permite visualizar a série temporal de entrada e decompor sazonalidade, tendência e resíduo.

Prepare dados de séries temporais com o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

  1. Escolha Salvar para salvar a análise.

Com o visualização de decomposição de tendência sazonal, podemos gerar quatro padrões, conforme mostrado na captura de tela anterior:

  • Óptimo estado. Original – A série temporal original reamostrada para granularidade diária.
  • Trend – A tendência polinomial com padrão de tendência geral negativa para o ano de 2021, indicando uma diminuição Volume USD valor.
  • Épocas – A sazonalidade multiplicativa representada pelos diferentes padrões de oscilação. Vemos uma diminuição na variação sazonal, caracterizada pela diminuição da amplitude das oscilações.
  • Residual – O ruído residual ou aleatório restante. A série residual é a série resultante após a remoção dos componentes de tendência e sazonais. Olhando mais de perto, observamos picos entre janeiro e março, e entre abril e junho, sugerindo espaço para modelar esses eventos específicos utilizando dados históricos.

Essas visualizações fornecem pistas valiosas para cientistas e analistas de dados sobre os padrões existentes e podem ajudá-lo a escolher uma estratégia de modelagem. No entanto, é sempre uma boa prática validar o resultado da decomposição STL com as informações coletadas por meio de análise descritiva e conhecimento de domínio.

Resumindo, observamos uma tendência descendente consistente com a visualização da série original, o que aumenta a nossa confiança na incorporação da informação transmitida pela visualização de tendências na tomada de decisões a jusante. Em contraste, a visualização da sazonalidade ajuda a informar a presença da sazonalidade e a necessidade da sua remoção através da aplicação de técnicas como a diferenciação, mas não fornece o nível desejado de visão detalhada sobre os vários padrões sazonais presentes, exigindo assim uma análise mais profunda.

Engenharia de recursos

Depois de compreendermos os padrões presentes em nosso conjunto de dados, podemos começar a projetar novos recursos que visam aumentar a precisão dos modelos de previsão.

Apresentar data e hora

Vamos iniciar o processo de engenharia de recursos com recursos de data/hora mais simples. Os recursos de data/hora são criados a partir do timestamp coluna e fornece um caminho ideal para os cientistas de dados iniciarem o processo de engenharia de recursos. Começamos com o Apresentar data e hora transformação de série temporal para adicionar recursos de mês, dia do mês, dia do ano, semana do ano e trimestre ao nosso conjunto de dados. Como fornecemos os componentes de data/hora como recursos separados, permitimos que algoritmos de ML detectem sinais e padrões para melhorar a precisão da previsão.

  1. Escolha + Adicionar etapa.
  2. Escolha o Séries temporais transformar.
  3. Escolha Transformar, escolher Apresentar data e hora.
  4. Escolha Coluna de entrada, escolha dados.
  5. Escolha Coluna de Saída, entrar date (esta etapa é opcional).
  6. Escolha Modo de saída, escolha Ordinal.
  7. Escolha Formato de saída, escolha colunas.
  8. Para extrair recursos de data/hora, selecione Mês, Dia, Semana do ano, Dia do ano e Trimestre.
  9. Escolha visualização.

O conjunto de dados agora contém novas colunas denominadas date_month, date_day, date_week_of_year, date_day_of_year e date_quarter. As informações recuperadas desses novos recursos podem ajudar os cientistas de dados a obter insights adicionais dos dados e sobre a relação entre recursos de entrada e recursos de saída.

caracterizar transformação de série temporal de data e hora

  1. Escolha Adicionar para salvar esta etapa.

Codificar categórico

Os recursos de data/hora não estão limitados a valores inteiros. Você também pode optar por considerar determinados recursos de data/hora extraídos como variáveis ​​categóricas e representá-los como recursos codificados one-hot, com cada coluna contendo valores binários. O recém-criado date_quarter coluna contém valores entre 0-3 e pode ser codificada one-hot usando quatro colunas binárias. Vamos criar quatro novos recursos binários, cada um representando o trimestre correspondente do ano.

  1. Escolha + Adicionar etapa.
  2. Escolha o Codificar categórico transformar.
  3. Escolha Transformar, escolha Codificação one-hot.
  4. Escolha Coluna de entrada, escolha data_trimestre.
  5. Escolha Estilo de saída, escolha colunas.
  6. Escolha visualização.
  7. Escolha Adicionar para adicionar a etapa.

Prepare dados de séries temporais com o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Recurso de atraso

A seguir, vamos criar recursos de atraso para a coluna de destino Volume USD. Os recursos de atraso na análise de série temporal são valores em carimbos de data/hora anteriores considerados úteis para inferir valores futuros. Eles também ajudam a identificar a autocorrelação (também conhecida como correlação serial) padrões na série residual, quantificando a relação da observação com observações em etapas de tempo anteriores. A autocorrelação é semelhante à correlação regular, mas entre os valores de uma série e seus valores anteriores. Constitui a base para os modelos de previsão autoregressivos da série ARIMA.

Com o organizador de dados Recurso de atraso transformar, você pode criar facilmente recursos de atraso com intervalos de n períodos. Além disso, muitas vezes queremos criar vários recursos de atraso em atrasos diferentes e deixar o modelo decidir os recursos mais significativos. Para tal cenário, o Recursos de atraso transform ajuda a criar várias colunas de atraso em um tamanho de janela especificado.

  1. Escolha Voltar para o fluxo de dados.
  2. Escolha o sinal de mais ao lado do Passos on Fluxo de dados.
  3. Escolha + Adicionar etapa.
  4. Escolha Séries temporais transformar.
  5. Escolha Transformar, escolha Recursos de atraso.
  6. Escolha Gere recursos de atraso para esta coluna, escolha Volume USD.
  7. Escolha Coluna de carimbo de data/hora, escolha dados.
  8. Escolha Lag, entrar 7.
  9. Como estamos interessados ​​em observar os sete valores de atraso anteriores, vamos selecionar Incluir toda a janela de atraso.
  10. Para criar uma nova coluna para cada valor de atraso, selecione Achate a saída.
  11. Escolha visualização.

Sete novas colunas são adicionadas, com o sufixo lag_number palavra-chave para a coluna de destino Volume USD.

Transformação de série temporal de recurso de atraso

  1. Escolha Adicionar para salvar a etapa.

Recursos de janela rolante

Também podemos calcular resumos estatísticos significativos em uma gama de valores e incluí-los como recursos de entrada. Vamos extrair recursos comuns de séries temporais estatísticas.

Data Wrangler implementa recursos automáticos de extração de recursos de série temporal usando código aberto fresco pacote. Com as transformações de extração de recursos de série temporal, você pode automatizar o processo de extração de recursos. Isso elimina o tempo e o esforço gastos na implementação manual de bibliotecas de processamento de sinais. Para esta postagem, extraímos recursos usando o Recursos de janela rolante transformar. Este método calcula propriedades estatísticas em um conjunto de observações definido pelo tamanho da janela.

  1. Escolha + Adicionar etapa.
  2. Escolha o Séries temporais transformar.
  3. Escolha Transformar, escolha Recursos de janela rolante.
  4. Escolha Gere recursos de janela contínua para esta coluna, escolha Volume USD.
  5. Escolha Coluna de carimbo de data/hora, escolha dados.
  6. Escolha Tamanho da janela, entrar 7.

Especificando um tamanho de janela de 7 calcula recursos combinando o valor no carimbo de data/hora atual e os valores dos sete carimbos de data/hora anteriores.

  1. Selecionar Aplainar para criar uma nova coluna para cada recurso computado.
  2. Escolha sua estratégia como Subconjunto mínimo.

Esta estratégia extrai oito características que são úteis em análises posteriores. Outras estratégias incluem Subconjunto Eficiente, Subconjunto personalizado e Todos os recursos. Para obter uma lista completa de recursos disponíveis para extração, consulte Visão geral dos recursos extraídos.

  1. Escolha visualização.

Podemos ver oito novas colunas com tamanho de janela especificado de 7 em seu nome, anexado ao nosso conjunto de dados.

  1. Escolha Adicionar para salvar a etapa.

Prepare dados de séries temporais com o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Exportar o conjunto de dados

Transformamos o conjunto de dados da série temporal e estamos prontos para usar o conjunto de dados transformado como entrada para um algoritmo de previsão. A última etapa é exportar o conjunto de dados transformado para o Amazon S3. No Data Wrangler, você pode escolher Etapa de exportação para gerar automaticamente um notebook Jupyter com código de processamento do Amazon SageMaker para processar e exportar o conjunto de dados transformado para um bucket S3. No entanto, como nosso conjunto de dados contém pouco mais de 300 registros, vamos aproveitar a vantagem Exportar dados opção no Adicionar transformação view para exportar o conjunto de dados transformado diretamente para o Amazon S3 a partir do Data Wrangler.

  1. Escolha Exportar dados.

Prepare dados de séries temporais com o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

  1. Escolha Localização S3, escolha Navegador e escolha seu bucket do S3.
  2. Escolha Exportar dados.

Prepare dados de séries temporais com o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Agora que transformamos com sucesso o conjunto de dados Bitcoin, podemos usar Previsão da Amazônia para gerar previsões de bitcoin.

limpar

Se você concluiu esse caso de uso, limpe os recursos criados para evitar incorrer em cobranças adicionais. Para o Data Wrangler, você pode encerrar a instância subjacente quando terminar. Referir-se Desligar o Data Wrangler documentação para obter detalhes. Alternativamente, você pode continuar a Parte 2 desta série para usar este conjunto de dados para previsão.

Resumo

Esta postagem demonstrou como utilizar o Data Wrangler para simplificar e acelerar a análise de série temporal usando seus recursos integrados de série temporal. Exploramos como os cientistas de dados podem limpar, formatar, validar e transformar dados de séries temporais de maneira fácil e interativa no formato desejado, para análises significativas. Também exploramos como você pode enriquecer sua análise de série temporal adicionando um conjunto abrangente de recursos estatísticos usando o Data Wrangler. Para saber mais sobre transformações de série temporal no Data Wrangler, consulte Transformar dados.


Sobre o autor

Prepare dados de séries temporais com o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Banheiros Roop é Arquiteto de Soluções na AWS com foco em IA/ML. Ele é apaixonado por ajudar os clientes a inovar e alcançar seus objetivos de negócios usando Inteligência Artificial e Machine Learning. Em seu tempo livre, Roop gosta de ler e fazer caminhadas.

Prepare dados de séries temporais com o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Nikita Ivkin é um cientista aplicado, Amazon SageMaker Data Wrangler.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS