Bom dia Edimeire

O pacote dynlm pode ser uma opção.
Att

Elisa


Em 18 de agosto de 2016 18:19, Edimeire Alexandra Pinto via R-br <r-br@listas.c3sl.ufpr.br> escreveu:
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

Em 18:53 Ter, 16 de ago de PM, Edimeire Alexandra Pinto
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
R-br@listas.c3sl.ufpr.br
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.