Análise e previsão de séries temporais

Índice:

Análise e previsão de séries temporais
Análise e previsão de séries temporais
Anonim

Por muitos anos, as pessoas previram condições climáticas, eventos econômicos e políticos e resultados esportivos, recentemente esta extensa lista foi reabastecida com criptomoedas. Para prever eventos versáteis, há muitas maneiras de desenvolver previsões. Por exemplo, intuição, opiniões de especialistas, uso de resultados anteriores para comparação com estatísticas tradicionais e previsão de séries temporais é apenas um deles, enquanto o tipo mais moderno e preciso de previsões com uma ampla gama de aplicações.

Método de série temporal

Método de série temporal
Método de série temporal

Um método de série temporal (TS) é um conjunto de dados que coleta informações durante um período de tempo. Existem métodos especiais para extrair este tipo:

  • linear e não linear;
  • paramétrico e não paramétrico;
  • unidimensional e multidimensional.

Tempo de previsãoseries traz consigo um conjunto exclusivo de recursos para enfrentar os desafios de hoje. A modelagem depende do aprendizado para estabelecer a força motriz por trás da mudança de dados. O processo vem de tendências de longo prazo, efeitos sazonais ou flutuações irregulares que são características de TS e não são vistas em outros tipos de análise.

Machine learning é um ramo da ciência da computação onde os algoritmos são compilados a partir de dados e incluem redes neurais artificiais, deep learning, regras de associação, árvores de decisão, aprendizado por reforço e redes bayesianas. Uma variedade de algoritmos oferece opções para resolver problemas, e cada um tem seus próprios requisitos e compensações em termos de entrada de dados, velocidade e precisão dos resultados. Estes, juntamente com a precisão das previsões finais, serão ponderados quando o usuário decidir qual algoritmo funcionará melhor para a situação em estudo.

A previsão de séries temporais toma emprestado do campo da estatística, mas oferece novas abordagens para a modelagem de problemas. O principal problema para aprendizado de máquina e séries temporais é o mesmo: prever novos resultados com base em dados conhecidos anteriormente.

O alvo do modelo preditivo

Objetivo do modelo preditivo
Objetivo do modelo preditivo

TS é um conjunto de pontos de dados coletados em intervalos regulares. Eles são analisados para determinar uma tendência de longo prazo, prever o futuro ou realizar algum outro tipo de análise. Existem 2 coisas que tornam o TS diferente de um problema de regressão normal:

  1. Depende do tempo. entãoa suposição básica de um modelo de regressão linear de que as observações são independentes não se sustenta neste caso.
  2. Juntamente com uma tendência crescente ou decrescente, a maioria dos TSs tem alguma forma de sazonalidade, ou seja, mudanças específicas para um determinado período de tempo.

O objetivo de um modelo de previsão de séries temporais é fornecer uma previsão precisa sobre a demanda. A série temporal tem o tempo (t) como variável independente e a variável dependente de destino. Na maioria dos casos, a previsão é um resultado específico, por exemplo, o preço de venda de uma casa, o resultado esportivo da competição, os resultados das negociações na bolsa de valores. A previsão representa a mediana e a média e inclui um intervalo de confiança que expressa um nível de confiança na faixa de 80-95%. Quando são registrados em intervalos regulares, os processos são chamados de séries temporais e são expressos de duas formas:

  • unidimensional com um índice de tempo que cria uma ordem implícita;
  • um conjunto com duas dimensões: tempo com uma variável independente e outra variável dependente.

Criar recursos é uma das tarefas mais importantes e demoradas no aprendizado de máquina aplicado. No entanto, a previsão de séries temporais não cria recursos, pelo menos não no sentido tradicional. Isso é especialmente verdadeiro quando você deseja prever o resultado vários passos à frente, e não apenas o próximo valor.

Isso não significa que os recursos estejam completamente desabilitados. Eles devem ser usados com cautela pelos seguintes motivos:

  1. Não está claro qual futuro realos valores serão para esses recursos.
  2. Se os objetos forem previsíveis e tiverem alguns padrões, você pode construir um modelo preditivo para cada um deles.

No entanto, esteja ciente de que o uso de valores preditivos como recursos propagará o erro na variável de destino e levará a erros ou previsões tendenciosas.

Componentes da série temporal

Componentes da série temporal
Componentes da série temporal

Tendência existe quando a série aumenta, diminui ou permanece em um nível constante ao longo do tempo, por isso é tomada como uma função. Sazonalidade refere-se a uma propriedade de uma série temporal que exibe padrões periódicos que se repetem em uma frequência constante (m), por exemplo, m=12 significa que o padrão se repete a cada doze meses.

Variáveis fictícias semelhantes à sazonalidade podem ser adicionadas como uma função binária. Você pode, por exemplo, levar em conta feriados, eventos especiais, campanhas de marketing, independentemente de o valor ser estrangeiro ou não. No entanto, você precisa lembrar que essas variáveis devem ter certos padrões. No entanto, o número de dias pode ser facilmente calculado mesmo para períodos futuros e influenciar a previsão de séries temporais, principalmente na área financeira.

Ciclos são estações que não acontecem a uma taxa fixa. Por exemplo, os atributos de reprodução anual do lince do Canadá refletem padrões sazonais e cíclicos. Eles não se repetem em intervalos regulares e podem ocorrer mesmo se a frequência for 1 (m=1).

Valores defasados -valores atrasados de uma variável podem ser incluídos como preditores. Alguns modelos, como ARIMA, Vector Autoregression (VAR) ou Autoregressive Neural Networks (NNAR), funcionam dessa maneira.

Os componentes da variável de interesse são muito importantes para análise e previsão de séries temporais, para entender seu comportamento, padrões e poder selecionar o modelo apropriado.

Atributos do conjunto de dados

Atributos do conjunto de dados
Atributos do conjunto de dados

Você pode estar acostumado a inserir milhares, milhões e bilhões de pontos de dados em modelos de aprendizado de máquina, mas isso não é necessário para séries temporais. De fato, é possível trabalhar com TS pequenos e médios, dependendo da frequência e tipo de variável, e isso não é uma desvantagem do método. Além disso, existem várias vantagens nessa abordagem:

  1. Esses conjuntos de informações corresponderão às capacidades de um computador doméstico.
  2. Em alguns casos, realize análises e previsões de séries temporais usando todo o conjunto de dados, não apenas uma amostra.
  3. TS comprimento é útil para criar gráficos que podem ser analisados. Este é um ponto muito importante porque os programadores contam com gráficos na fase de análise. Isso não significa que eles não funcionem com grandes séries temporais, mas inicialmente eles devem ser capazes de lidar com TS menores.
  4. Qualquer conjunto de dados que contenha um campo relacionado ao tempo pode se beneficiar da análise e previsão de séries temporais. No entanto, se o programador tiver um conjunto maior de dados, o banco de dados (TSDB)pode ser mais apropriado.

Alguns desses conjuntos vêm de eventos registrados com timestamp, logs do sistema e dados financeiros. Como o TSDB funciona nativamente com séries temporais, esta é uma ótima oportunidade para aplicar essa técnica a conjuntos de dados de grande escala.

Aprendizado de máquina

Machine learning (ML) pode superar os métodos tradicionais de previsão de séries temporais. Há uma tonelada de estudos por aí comparando métodos de aprendizado de máquina com métodos estatísticos mais clássicos em dados TS. As redes neurais são uma das tecnologias que vem sendo amplamente pesquisadas e aplicam abordagens TS. Os métodos de aprendizado de máquina lideram os rankings para coleta de dados com base em séries temporais. Esses conjuntos provaram ser eficazes, superando os conjuntos TS puros contra M3 ou Kaggle.

MO tem seus próprios problemas específicos. O desenvolvimento de recursos ou a geração de novos preditores a partir de um conjunto de dados é uma etapa importante para isso e pode ter um enorme impacto no desempenho e ser uma maneira necessária de resolver problemas de tendência e sazonalidade dos dados de TS. Além disso, alguns modelos têm problemas com o quão bem eles se ajustam aos dados e, se não o fizerem, podem perder a tendência principal.

As abordagens de séries temporais e aprendizado de máquina não devem existir isoladas uma da outra. Eles podem ser combinados para fornecer os benefícios de cada abordagem. Os métodos de previsão e a análise de séries temporais são bons para decompor os dados em dados de tendência e dados sazonais.elementos. Essa análise pode ser usada como entrada para um modelo de ML que tem informações de tendência e sazonalidade em seu algoritmo, oferecendo o melhor dos dois mundos.

Compreendendo o enunciado do problema

Por exemplo, considere o TS relacionado à previsão do número de passageiros em um novo serviço ferroviário de alta velocidade. Por exemplo, você tem 2 anos de dados (agosto de 2016 - setembro de 2018) e com esses dados você precisa prever o número de passageiros para os próximos 7 meses, tendo 2 anos de dados (2016-2018) no nível horário com o número de passageiros viajando, sendo necessário estimar o número deles no futuro.

Subconjunto de dados para previsão com séries temporais:

  1. Criando um arquivo de trem e teste para simulação.
  2. Os primeiros 14 meses (agosto de 2016 a outubro de 2017) são usados como dados de treinamento e os próximos 2 meses (novembro de 2017 a dezembro de 2017) são dados de teste.
  3. Agregue o conjunto de dados diariamente.
Agregação do conjunto de dados
Agregação do conjunto de dados

Realize a visualização de dados para ver como eles mudam ao longo de um período de tempo.

Visualização de dados
Visualização de dados

Método de construção da Abordagem Ingênua

A biblioteca usada neste caso para previsão de TS é statsmodels. Ele deve ser instalado antes que qualquer uma dessas abordagens possa ser aplicada. Talvez o statsmodels já esteja instalado no ambiente Python, mas não suporta métodosprevisão, então você precisará cloná-lo do repositório e instalá-lo a partir da fonte.

Sequenciamento
Sequenciamento

Para este exemplo, significa que os preços das viagens com moedas são estáveis desde o início e durante todo o período de tempo. Este método assume que o próximo ponto esperado é igual ao último ponto observado e é chamado de Abordagem Naive.

Método ingênuo
Método ingênuo

Agora calcule o desvio padrão para testar a precisão do modelo no conjunto de dados de teste. A partir do valor RMSE e do gráfico acima, podemos concluir que Naive não é adequado para opções de alta volatilidade, mas é usado para opções estáveis.

Estilo médio simples

Para demonstrar o método, desenha-se um gráfico, assumindo que o eixo Y representa o preço e o eixo X representa o tempo (dias).

Estilo Médio Simples
Estilo Médio Simples

Disso podemos concluir que o preço aumenta e diminui aleatoriamente com uma pequena margem, de modo que o valor médio permanece constante. Nesse caso, você pode prever o preço do próximo período, semelhante à média de todos os dias anteriores.

Esse método de previsão com a média esperada dos pontos observados anteriormente é chamado de método da média simples.

Neste caso, valores previamente conhecidos são tomados, a média é calculada e tomada como o próximo valor. Claro, isso não será exato, mas é bem próximo, e há situações em que esse método funciona melhor.

Meio simplesmétodo
Meio simplesmétodo

Com base nos resultados exibidos no gráfico, este método funciona melhor quando o valor médio de cada período permanece constante. Embora o método ingênuo seja melhor que a média, mas não para todos os conjuntos de dados. Recomenda-se experimentar cada modelo passo a passo e ver se melhora o resultado ou não.

Modelo de média móvel

Modelo de média móvel
Modelo de média móvel

Com base neste gráfico, podemos concluir que os preços aumentaram várias vezes no passado por uma ampla margem, mas agora estão estáveis. Para usar o método de média anterior, você precisa obter a média de todos os dados anteriores. Os preços do período inicial influenciarão fortemente a previsão do próximo período. Portanto, como uma melhoria em relação à média simples, tome a média dos preços apenas para os últimos períodos de tempo.

Esta técnica de previsão é chamada de técnica de média móvel, às vezes chamada de "janela móvel" de tamanho "n". Usando um modelo simples, o próximo valor em TS é previsto para verificar a precisão do método. Claramente Naive supera a média e a média móvel para este conjunto de dados.

Existe uma variante da previsão pelo método de suavização exponencial simples. No método de média móvel, as "n" observações anteriores são igualmente ponderadas. Nesse caso, você pode encontrar situações em que cada um dos passados 'n' afeta a previsão à sua maneira. Essa variação, que pondera de maneira diferente as observações passadas, é chamada de métodomédia móvel ponderada.

Extrapolação de padrões

Uma das propriedades mais importantes necessárias para considerar algoritmos de previsão de séries temporais é a capacidade de extrapolar padrões fora do domínio de dados de treinamento. Muitos algoritmos de ML não têm esse recurso, pois tendem a ser limitados a uma região definida pelos dados de treinamento. Portanto, não são adequados para TS, cujo objetivo é projetar o resultado no futuro.

Outra propriedade importante do algoritmo TS é a possibilidade de obter intervalos de confiança. Embora essa seja a propriedade padrão para modelos TS, a maioria dos modelos de ML não tem esse recurso, pois nem todos são baseados em distribuições estatísticas.

Não pense que apenas métodos estatísticos simples são usados para prever TS. Não é nada disso. Existem muitas abordagens complexas que podem ser muito úteis em casos especiais. Heterocedasticidade Condicional Autoregressiva Generalizada (GARCH), Bayesiana e VAR são apenas algumas delas.

Há também modelos de rede neural que podem ser aplicados a séries temporais que usam preditores de atraso e podem lidar com recursos como autoregressão de rede neural (NNAR). Existem até modelos de séries temporais emprestados de aprendizado complexo, particularmente na família de redes neurais recorrentes, como redes LSTM e GRU.

Métricas de Estimativa e Diagnósticos Residuais

As métricas de previsão mais comuns sãorms significa, que muitas pessoas usam ao resolver problemas de regressão:

  • MAPE porque é independente de escala e representa a razão entre o erro e os valores reais em porcentagem;
  • MASE, que mostra o desempenho da previsão em comparação com a previsão média ingênua.

Uma vez que um método de previsão tenha sido adaptado, é importante avaliar quão bem ele é capaz de capturar os modelos. Embora as métricas de avaliação ajudem a determinar quão próximos os valores estão dos valores reais, elas não avaliam se o modelo se ajusta ao TS. As sobras são uma boa maneira de avaliar isso. Como o programador está tentando aplicar padrões TS, ele pode esperar que os erros se comportem como "ruído branco", pois representam algo que não pode ser capturado pelo modelo.

"Ruído branco" deve ter as seguintes propriedades:

  1. Resíduos não correlacionados (Acf=0)
  2. Os resíduos seguem uma distribuição normal com média zero (não viesada) e variância constante.
  3. Se uma das duas propriedades estiver f altando, há espaço para melhorias no modelo.
  4. A propriedade de média zero pode ser facilmente testada usando o teste T.
  5. As propriedades de normalidade e variância constante são controladas visualmente usando um histograma de resíduos ou um teste de normalidade univariado apropriado.

modelo ARIMA

ARIMA - AutoRegressive Integrated Moving-Average model, é um dos métodos mais populares usados na previsão de TS, principalmentepor meio da autocorrelação de dados para criar modelos de alta qualidade.

Ao avaliar os coeficientes ARIMA, a principal suposição é que os dados são estacionários. Isso significa que a tendência e a sazonalidade não podem afetar a variação. A qualidade do modelo pode ser avaliada comparando o gráfico de tempo dos valores reais com os valores previstos. Se ambas as curvas estiverem próximas, então pode-se supor que o modelo se ajusta ao caso analisado. Deve divulgar quaisquer tendências e sazonalidade, se houver.

A análise dos resíduos deve então mostrar se o modelo se ajusta: os resíduos aleatórios significam que é preciso. Ajustar ARIMA com parâmetros (0, 1, 1) dará os mesmos resultados que suavização exponencial, e usar parâmetros (0, 2, 2) fornecerá resultados de suavização exponencial dupla.

Algoritmos de série temporal no SQL Server
Algoritmos de série temporal no SQL Server

Você pode acessar as configurações ARIMA no Excel:

  1. Iniciar Excel.
  2. Encontre XL MINER na barra de ferramentas.
  3. Na faixa de opções, selecione ARIMA no menu suspenso.

Resumo dos recursos do modelo ARIMA:

  1. ARIMA - Média Móvel Integrada Autoregressiva.
  2. Modelo de previsão usado na análise de séries temporais.
  3. Sintaxe do parâmetro ARIMA: ARIMA (p, d, q) onde p=número de termos autorregressivos, d=número de diferenças sazonais e q=número de termos de média móvel.

Algoritmos no SQL Server

Realizar a previsão cruzada é uma dascaracterísticas de séries temporais na previsão de tarefas financeiras. Se duas séries relacionadas forem usadas, o modelo resultante pode ser usado para prever os resultados de uma série com base no comportamento das outras.

SQL Server 2008 tem novos recursos poderosos de séries temporais para aprender e usar. A ferramenta tem dados TS de fácil acesso, uma interface fácil de usar para simular e reproduzir funções de algoritmo e uma janela de explicação com um link para consultas DMX do lado do servidor para que você possa entender o que está acontecendo dentro.

As séries temporais de mercado são uma área ampla na qual modelos e algoritmos de aprendizado profundo podem ser aplicados. Bancos, corretoras e fundos agora estão experimentando a implementação de análises e previsões para índices, taxas de câmbio, futuros, preços de criptomoedas, ações governamentais e muito mais.

Na previsão de séries temporais, a rede neural encontra padrões previsíveis estudando as estruturas e tendências dos mercados e aconselha os traders. Essas redes também podem ajudar a detectar anomalias como picos inesperados, quedas, mudanças de tendência e mudanças de nível. Muitos modelos de inteligência artificial são usados para previsões financeiras.

Recomendado: