7 meios para migrar de Machine Learning para previsão de séries temporais

previsão em series temporais

Compartilhe esse post

Share on facebook
Share on linkedin
Share on twitter
Share on email

Introdução A Séries Temporais

O objetivo de um modelo preditivo é estimar o valor de uma variável desconhecida. Uma série temporal tem tempo (t) como uma variável independente (em qualquer unidade que você possa imaginar) e uma variável dependente de destino Captura de tela 2018-05-23 em 9.50.33 AM A saída do modelo é o valor previsto para y no tempo t Captura de tela 2018-05-23 em 9.48.47 AM.

Na maioria dos casos, uma previsão é um valor específico, por exemplo, o tipo de objeto em uma imagem, o valor de uma casa, se um email é spam ou não, etc. No entanto, uma previsão é uma previsão (representando a média ou média ) que inclui um intervalo de confiança que expressa o nível de certeza. Normalmente, os níveis de confiança de 80% e 95% são fornecidos.

Sempre que os dados são registrados em intervalos regulares de tempo, eles são chamados de séries temporais. Você pode pensar nesse tipo de variável de duas maneiras:

  1. Os dados são univariados, mas possuem um índice (tempo) que cria uma ordem implícita; ou
  2. O conjunto de dados tem duas dimensões: o tempo (variável independente) e a própria variável como variável dependente.
    Se você tiver experiência trabalhando em aprendizado de máquina, precisará fazer alguns ajustes ao trabalhar com séries temporais. Abaixo estão sete principais diferenças a ter em mente ao fazer a transição.

Componentes da série temporal

  • Tendência: Existe uma tendência quando uma série aumenta, diminui ou permanece em um nível constante em relação ao tempo. Portanto, o tempo é tomado como um recurso.

previsão de series temporais

previsão de series temporais

previsão de series temporais

  • Sazonalidade : refere-se à propriedade de uma série temporal que exibe padrões periódicos que se repetem em uma frequência constante ( m ). No exemplo a seguir, você pode observar um componente sazonal com m = 12, o que significa que o padrão periódico se repete a cada doze meses. (Geralmente, para lidar com a sazonalidade, os modelos de séries temporais incluem variáveis ​​sazonais como recursos fictícios, usando variáveis ​​binárias m – 1 para evitar a correlação entre os recursos).

previsão de series temporais

  • Ciclos: os ciclos são temporadas que não ocorrem a uma taxa fixa. Por exemplo, nas séries cronológicas abaixo, as armadilhas anuais da Canadian Lynx exibem padrões sazonais e cíclicos. Estes não se repetem em intervalos de tempo regulares e podem ocorrer mesmo se a frequência for 1 ( m = 1).

previsão de series temporais

Preditores da série temporal

  • Variáveis ​​dummy: Similar a como a sazonalidade pode ser adicionada como um recurso binário, outros recursos podem ser adicionados em formato binário ao modelo. Você pode adicionar feriados, eventos especiais, campanhas de marketing, se um valor é outlier ou não, etc. No entanto, você deve lembrar que essas variáveis ​​precisam ter padrões definidos.
  • Número de dias: podem ser facilmente calculados mesmo para os próximos meses / trimestres e podem afetar as previsões, especialmente para dados financeiros. Aqui você pode incluir:
    • Número de dias
    • Número de dias de negociação
    • Número de dias de fim de semana
    • …e assim por diante
  • Valores com atraso: você pode incluir valores defasados ​​da variável como preditores. Alguns modelos como ARIMA, Autoregressão Vetorial (VAR) ou Redes Neurais Autorregressivas (NNAR) funcionam dessa maneira.

Os componentes da série temporal são altamente importantes para analisar a variável de interesse, a fim de entender seu comportamento, os padrões que ela possui e para poder escolher e ajustar um modelo de série temporal apropriado. Preditores de séries temporais, por outro lado, podem ajudar alguns modelos a reconhecer padrões adicionais e melhorar a qualidade das previsões. Os componentes e recursos da série temporal são fundamentais para interpretar o comportamento da série temporal, analisar suas propriedades, identificar possíveis causas e muito mais.

2. Pode haver conjuntos de dados menores.

Você pode estar acostumado a alimentar milhares, milhões ou bilhões de pontos de dados em um modelo de aprendizado de máquina, mas isso nem sempre é o caso das séries temporais. Na verdade, você pode estar trabalhando com séries temporais de tamanho pequeno a médio, dependendo da frequência e do tipo de variável.

À primeira vista, você pode pensar que isso é uma desvantagem. Mas, na realidade, há alguns benefícios em ter séries temporais de tamanho pequeno a médio:

  1. Os conjuntos de dados se encaixam na memória do seu computador.
  2. Em alguns casos, você pode analisar todo o conjunto de dados e não apenas uma amostra.
  3. A duração da série temporal é conveniente para criar gráficos que possam ser analisados ​​graficamente. Este é um ponto muito importante, porque nos baseamos fortemente em análises de plotagem na etapa de análise de séries temporais.

Isso não significa que você não estará trabalhando com grandes séries temporais, mas também deve estar preparado e ser capaz de lidar com séries temporais menores.

Qualquer conjunto de dados que inclua um campo relacionado ao tempo pode se beneficiar da análise e previsão de séries temporais. No entanto, se você tiver um conjunto de dados maior, um Banco de Dados de Séries Temporais (TSDB) poderá ser mais apropriado. Alguns desses conjuntos de dados vêm de eventos registrados com timestamp, logs de sistemas, dados financeiros, dados obtidos de sensores ( IoT ), etc. Como o TSDB trabalha nativamente com séries temporais, é uma ótima oportunidade para aplicar a técnica de séries temporais em larga escala. conjuntos de dados

3. Uma abordagem algorítmica diferente é necessária.

Uma das propriedades mais importantes que um algoritmo precisa para ser considerado um algoritmo de série temporal é a capacidade de extrapolar padrões fora do domínio de dados de treinamento. Muitos algoritmos de aprendizado de máquina não possuem esse recurso, pois tendem a estar restritos a um domínio definido por dados de treinamento. Portanto, eles não são adequados para séries temporais, pois o objetivo das séries temporais é projetar no futuro.

Outra propriedade importante de um algoritmo de série temporal é a capacidade de derivar intervalos de confiança. Embora essa seja uma propriedade padrão dos modelos de séries temporais, a maioria dos modelos de aprendizado de máquina não possui essa capacidade, pois nem todos são baseados em distribuições estatísticas. Intervalos de confiança podem ser estimados, mas podem não ser tão precisos. Isso será expandido em mais detalhes na Seção 6.

Você pode pensar que apenas modelos estatísticos simples são usados ​​para previsão de séries temporais. Isso não é totalmente verdadeiro. Existem muitos modelos ou abordagens complexas que podem ser muito úteis em alguns casos. Heteroskedasticity condicional autorregressiva generalizada (GARCH), modelos baseados em Bayesian e VAR são apenas alguns. Há também modelos de rede neural que podem ser aplicados a séries temporais que usam preditores defasados ​​e podem manipular recursos, como a  regressão automática de redes neurais (NNAR) . Existem ainda modelos de séries temporais emprestados de deep learning , especificamente na família RNN (Rede Neural Recorrente), como redes LSTM (Long Short-Term Memory) e GRU (Gated Recurrent Unit).

No entanto, todos esses modelos carecem de interpretabilidade , o que é crucial para os líderes de negócios que desejam tomar decisões baseadas em dados. A propriedade desejada do modelo deve estar alinhada com os objetivos de negócios para que o projeto seja bem-sucedido.

Estes são alguns dos algoritmos comuns usados ​​para previsão de séries temporais:

  1. Regressão Linear
  2. Suavização Exponencial
  3. ARIMA
  4. Modelos lineares dinamicos
  5. Modelos de redes neurais

4. As métricas de avaliação e os diagnósticos residuais são usados.

As métricas de avaliação mais comuns para previsão são o RMSE, que você pode ter usado em problemas de regressão; MAPE, como é independente de escala e representa a proporção de erro para valores reais como um percentual; e MASE, que indica o desempenho da previsão em comparação com uma previsão média ingênua.

métricas de eval

Depois que um modelo de previsão é adequado, é importante avaliar o quão bem ele é capaz de capturar padrões. Embora as métricas de avaliação ajudem a determinar a proximidade dos valores ajustados aos reais, eles não avaliam se o modelo se ajusta adequadamente à série temporal. Em vez disso, os resíduos são uma boa maneira de avaliar isso. Como você está tentando capturar os padrões de uma série temporal, você esperaria que os erros se comportassem como ruído branco, pois eles representam o que não pode ser capturado pelo modelo. O ruído branco deve ter as seguintes propriedades:

  1. Os resíduos são não correlacionados ( Acf = 0)
  2. Os resíduos seguem uma distribuição normal, com média zero (sem viés) e variância constanteprevisão em series temporais

Se uma das duas propriedades não estiver presente, isso significa que há espaço para melhorias no modelo.

A propriedade de média zero pode ser facilmente verificada com um teste-T para a média. As propriedades de normalidade e variância constante podem ser verificadas visualmente com um histograma dos resíduos ou com um teste de normalidade univariada apropriado. E a primeira propriedade pode ser verificada de duas maneiras:

  1. Aplique um teste portmanteau para verificar a hipótese de que os resíduos não são correlacionados.
  2. Plote a função de Autocorrelação (ACF) e avalie que pelo menos 95% dos picos estão no intervalo Captura de tela 2018-05-23 em 10.00.17 AM, onde T é o tamanho da série temporal.

A seguir, um exemplo de resíduos que se comportam como ruído branco. Os resíduos têm média zero e variância constante e parecem ser normalmente distribuídos. Todos os picos do ACF estão dentro do intervalo desejado. intervalo

 

5. A resolução correta deve ser escolhida.

Ao trabalhar com séries temporais, você deve ter uma compreensão clara do objetivo de sua análise. Suponha que o objetivo do negócio seja prever em um nível anual. Existem duas maneiras técnicas para você abordar isso:

  • Use os totais anuais e ajuste um modelo para prever o número necessário de anos.
  • No caso de você ter os valores disponíveis no nível trimestral ou mensal, crie um modelo de série temporal para prever os meses ou trimestres necessários e agregue para encontrar o total por ano.

Apontar para o nível mais granular possível. Ao usar agregados, o modelo está aprendendo padrões em um nível macro. Isso não é uma má escolha, mas pode haver alguns padrões no nível granular aos quais o modelo não está prestando atenção. Como no nosso exemplo, usar dados mensais ou trimestrais pode render melhores resultados do que uma previsão anual.

Há outro benefício de fazer isso também. Você pode pensar que, após adicionar as previsões, o erro pode se propagar para o total. No entanto, é o caso oposto. Se o modelo que você construiu é imparcial, a média dos residuais será zero ou próxima de zero e, portanto, a soma dos residuais será próxima de zero:

Captura de tela 2018-05-22 em 1.58.51 PM

Portanto, nós temos:

Captura de tela 2018-05-22 em 1.59.24 PM

Isso significa que, se os resíduos se comportarem como ruído branco, você poderá obter um erro muito baixo no total agregado.

Lembre-se também de que trabalhar em um nível que é muito granular pode apresentar dados ruidosos que são difíceis de modelar. No nosso exemplo, onde previmos em um nível anual, usar o nível trimestral, mensal ou até semanal pode ser apropriado. Mas um nível diário, horário ou inferior pode ser muito granular e barulhento para o problema. Portanto, tente trabalhar em um nível apropriado de resolução.

 

6. Forneça intervalos de confiança além das previsões.

Como dito anteriormente, as previsões são previsões que sempre incluem intervalos de confiança, geralmente 80% e 95% . Alternativamente, você pode escolher usar o  desvio padrão dos resíduos como o desvio padrão da amostra, permitindo que os intervalos de confiança  sejam calculados usando uma distribuição apropriada, como a normal ou exponencial.

Para alguns modelos, por exemplo, redes neurais, que não são baseadas em distribuições de probabilidade, você pode executar simulações das previsões e calcular intervalos de confiança a partir da distribuição das simulações.

7. Alguns modelos terão alta precisão ou alto erro.

Em comparação com outros modelos, o desempenho da previsão de séries temporais pode ser diferente. Lembre-se de que você está assumindo que padrões passados ​​são indicadores do que pode ocorrer no futuro e, portanto, eles são replicados ou projetados. Isso significa que, se os padrões continuarem como estão, suas previsões serão altamente precisas.

No entanto, se os padrões mudam, gradual ou abruptamente, as previsões podem divergir muito dos resultados reais. Há uma chance de que eventos de “cisne negro” ou “cisne cinza” possam ocorrer. De acordo com a Investopedia:

  • Cisne negro: um evento ou ocorrência que se desvia além do que é normalmente esperado de uma situação e é extremamente difícil de prever.
  • Cisne cinza:  Um evento que pode ser antecipado até certo ponto, mas é considerado improvável de ocorrer e pode ter um impacto considerável se ocorrer.

Isso ocorre freqüentemente em séries temporais econômicas.Quando isso ocorre, é preferível avaliar primeiro o impacto e, se necessário, atualizar as previsões usando dados recentes após o evento ter passado.

Conclusão 

Espero que este guia ajude você a ter uma transição mais fácil e menos dolorosa do aprendizado de máquina para a previsão de séries temporais. Como você deve ter observado, há muitos conceitos que se sobrepõem, enquanto outros são completamente diferentes ou precisam ser adaptados.

 

Quer aprender sobre series temporais? Conheça nossos cursos e tenha a formação completa no assunto!

 

Referências

Dunning, T., & Friedman, E. (2015). Bancos de Dados de Séries Temporais (1ª ed.). Califórnia: O’Reilly Media. Obtido em  http://shop.oreilly.com/product/0636920035435.do

Hyndman, R. e Athanasopoulos, G. (2017). Previsão: Princípios e Prática (2ª ed.). Obtido de https://www.otexts.org/fpp2/

Hyndman, R., & Khandakar, Y. (2008). Previsão automática de séries temporais: o pacote de previsão para {R}. Journal of Statistical Software, 26 (3), 1-22. Obtido de http://www.jstatsoft.org/article/view/v027i03

Inscreva-se

Seja atualizado e aprenda com os melhores

Mais para explorar

100 perguntas htm eng

Master the data science interview 100 MOST COMMON QUESTIONS AND ANSWERS ASKED IN INTERVIEWS – A COMPLETE GUIDE TO BOOST YOUR CAREER Yes, I want!

100 perguntas htm

domine a entrevista de ciencia de dados 100 perguntas e respostas mais frequentes feitas em entrevistas – um guia completo para impulsionar sua carreira Eu