Eu e dois colegas temos um paper de 2012 na CSDA de como fazer isso
usando o INLA. Mas há várias outras alternativas, Bayesianas ou não.
Sugiro iniciar pelo livro sobre isso que inclui código em R e tem o pdf
disponível em:
http://web.maths.unsw.edu.au/~peterdel-moral/dynamics-linear-models.petris_et_al.pdf
On 08/18/2016 11:19 PM, Edimeire Alexandra Pinto via R-br wrote:
oi, gente.
alguém tem ideia de como fazer regressão dinâmica no R? ideia de algum
pacote ou comando?
Enviado do Yahoo Mail no Android
<https://overview.mail.yahoo.com/mobile/?.src=Android>
Em 18:53 Ter, 16 de ago de PM, Edimeire Alexandra Pinto
<[email protected]> escreveu:
OI gente.
Preciso de uma ajudinha. Sei que parece bobo, mas não consigo
estender a janela de previsões sequenciais com largura de , com
largura fixa de tamanho 8.
Criar um modelo com sample de 1:70 e prever 71 até 78, depois
reestimar a equação com sample de 1:72 e previsão de 73:80,
reestimar o modelo de 1:73 e previsão de 74:83 e assim por
adiante até fechar o range em 84, última observação.
Vejamos um data frame já existente no R como nome de Canada que
são séries que vão do primeiro trimestre de 1980 ao último
trimestre de 2004:
require("dynlm")
library("vars")
data("Canada")
summary(Canada)
class(Canada)
colnames(Canada)
suponha que eu defina que minha amostra para estimar o modelo com
sequencia em j que vai até 10, assim teríamos um modelo estimado
de 01/1980 a 3/1996, depois outros modelos estimado de 01/1980 a
4/1996, depois mais outro modelo estimado de 01/1980 a 1/1997,
assim por adiante até 4/1998, ou seja, para em 4/1998. No R seria
mais ou menos assim:
eq<-list()
for(j in 1:10){
eq(i)<-
dynlm(e~L(e,1)+prod+rw+u,data=window(Canada,start=c(1980,1),end=c(1996,2),freq=4,extend=j))
o problema é que a previsão tem de ser sequencial tanto no start
quanto no end e com tamanho de fixo de 8, e também com uma janela
que vai indo sequencialmente em j de 1 a 18. Por exemplo, a
previsão teria de ser assim: a primeira de 04/1996 a 4/1998
(observe que o primeiro modelo termina em 3/1996, conforme falei
antes), depois 01/1997 a 2/1999 (observe que o primeiro modelo
termina em 1/1997, conforme falei antes), depois faria outra
previsão de 2/1997 a 4/1999 e assim por adiante até chegar na
última observação que é 04/2000. Note que aumentamos sempre de 8+j
em que j vai de 1 a 18.
No R, não consigo desenvolver, pois seria algo mais ou menos assim:
## sei que está errado, mas é só para ter ideia
for( i in 1:18){
predict(eq(i),
newdata=window(Canada,start=c(1996,4+i),end=c(1998,4+i+8),freq=4,extend=i)
## 8 é o tamanho fixo da janela de previsão
Se tiver ficado confuso, desculpe-me, mas quis apenas mostrar que
quero um previsão dinâmica e não estática, tendo e, vista que a
equação que sempre estimada à medida que o tamanho da amostra vai
variando.
Qualquer dica é válida!
Obrigada, gente.
_______________________________________________
R-br mailing list
[email protected]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo
m�nimo reproduz�vel.
_______________________________________________
R-br mailing list
[email protected]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo
m�nimo reproduz�vel.