Como fazer previsões para uma série temporal?


9

Não estou familiarizado com a análise de dados de séries temporais. No entanto, tenho o que considero uma tarefa simples de previsão a ser abordada.

Eu tenho cerca de cinco anos de dados de um processo de geração comum. Cada ano representa uma função monotonicamente crescente com um componente não linear. Eu tenho contagens para cada semana ao longo de um ciclo de 40 semanas para cada ano. O processo começa, a função começa em zero, aumenta rapidamente na primeira metade da função, diminuindo a velocidade na segunda metade antes de nivelar nas últimas cinco semanas. O processo é consistente ao longo dos anos, com pequenas diferenças na taxa de mudança e no volume entre os segmentos de ano para ano.

y1={0,Nt1,Nt2,...Nt39,Nt40}

y5={0,Nt1,Nt2,...Nt39,Nt40}

Onde igual à contagem no tempo x.Ntx

O objetivo é pegar em (ou melhor, de a , ou a inclinação até esse ponto) e prever o em . Por exemplo, se for 5000, qual é o valor esperado de para esse ano. Então, a pergunta é: como você modelaria esses dados? É fácil o suficiente para resumir e visualizar. Mas eu gostaria de um modelo para facilitar previsões e incorporar uma medida de erro.t x t 0 t x N t 40 N t 10 N t 40Ntxt0txNt40Nt10Nt40


2
Tem certeza de que deseja se limitar tão severamente? Se esse problema tiver alguma aplicação prática, quando você souber a contagem no tempo x, também saberá todas as contagens anteriores. Por que não usá-los para ajudar na previsão?
whuber

De fato. Você está correto. Obrigado por apontar isso.
Brett

Respostas:


6

Provavelmente, a abordagem mais simples é, como Andy W sugeriu, usar um modelo sazonal univariado de séries temporais. Se você usar R, tente um auto.arima()ou a ets()partir do pacote de previsão .

Qualquer um deve funcionar bem, mas um método geral de série temporal não usa todas as informações fornecidas. Em particular, parece que você conhece o formato da curva a cada ano; portanto, é melhor usar essas informações modelando os dados de cada ano de acordo. A seguir, uma sugestão que tenta incorporar essas informações.

Parece que algum tipo de curva sigmoidal fará o truque. por exemplo, uma logística deslocada: para o ano semana onde , e são parâmetros a serem estimados. é o máximo assintótico, controla a taxa de aumento e é o ponto médio quando . (Outro parâmetro será necessário para permitir a assimetria que você descreve, segundo a qual a taxa de aumento até o tempo é mais rápida do que após

ft,j=rteat(jbt)1+eat(jbt)
tjatbtrtrtatbtft,j=rt/2btbt. A maneira mais simples de fazer isso é permitir que valores diferentes antes e depois do tempo .)atbt

Os parâmetros podem ser estimados usando mínimos quadrados para cada ano. Os parâmetros de cada série temporal do formulário: , e . Eles podem ser previstos usando métodos padrão de séries temporais, embora com você provavelmente não possa fazer muito além de usar a média de cada série para produzir previsões. Então, para o ano 6, uma estimativa do valor na semana é simplesmente onde as previsões de , e são usadas.b 1 , ... , b n r 1 , ... , r n n=5j f (6,j) um 6 b 6 R 6a1,,anb1,,bnr1,,rnn=5jf^(6,j)a6b6r6

Quando os dados começarem a ser observados para o ano 6, você desejará atualizar esta estimativa. À medida que cada nova observação for obtida, estime a curva sigmoidal para os dados do ano 6 (você precisará de pelo menos três observações para começar, pois existem três parâmetros). Em seguida, faça uma média ponderada das previsões obtidas usando os dados até o ano 5 e a previsão obtida usando apenas os dados do ano 6, onde os pesos são iguais a e respectivamente . Isso é muito ad hoc, e tenho certeza de que pode ser mais objetivo colocando-o no contexto de um modelo estocástico maior. No entanto, provavelmente funcionará bem para seus propósitos.( t - 4 ) / 36(40t)/36(t4)/36


4

O que você está perguntando é essencialmente o que a modelagem ARIMA da Box Jenkins faz (seus ciclos anuais seriam chamados de componentes sazonais). Além de procurar materiais por conta própria, sugiro

Análise Aplicada de Séries Temporais para as Ciências Sociais 1980 por R McCleary; RA Hay; EE Meidinger; D McDowall

Embora eu possa pensar em razões razoáveis ​​pelas quais você deseja prever mais adiante (e, portanto, avaliar o erro ao fazê-lo), na maioria das vezes é muito difícil. Se você tiver componentes sazonais muito fortes, será mais viável. Caso contrário, suas estimativas provavelmente atingirão um equilíbrio em relativamente poucos períodos futuros.

Se você planeja usar o R ​​para se adequar aos seus modelos, provavelmente deve visitar o site de Rob Hyndman (espero que ele lhe dê conselhos melhores do que eu!)


-2

você tem 5 anos de dados e 40 observações por ano. Por que você não os publica na Web e nos permite responder a isso no ponto zero em vez de filosofar a 800 km de altura. Estou ansioso para os números. Vimos dados como esse, por exemplo, o número de clientes que negociam seu tempo compartilhando a semana semanalmente. A série a cada ano começa em zero e acumula até um valor limite.


11
-1 Isso parece mais um anúncio pessoal do que uma resposta útil.
whuber

@ whuber: Não intencional. Apenas uma reflexão sobre um "problema difícil" semelhante ao qual me deparei.
IrishStat

Isso faria um comentário interessante, então. Os comentários são boas maneiras de injetar parte dessa experiência valiosa que estamos felizes em compartilhar conosco. As respostas devem ser reservadas para respostas reais à pergunta: elas serão votadas, arquivadas, tornadas pesquisáveis ​​etc., e, portanto, precisam ser mais diretamente relevantes, de valor permanente, e poder suportar melhor as críticas. (É claro que isso é uma idealização, mas é por isso que lutamos. :-)
whuber

@ whuber: Você ensina! Eu aprendo ! Vou reservar comentários para a "área de comentários". Para reiterar, não havia absolutamente nenhuma intenção de promover qualquer coisa ou software específico / consultoria, apenas uma disposição bem-intencionada de compartilhar experiências com outras pessoas da aldeia. Tenho certeza de que o OP achou meus comentários úteis. O que você diz, Brett?
IrishStat
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.