######################################################################## # # Tendencia deterministica ou estocastica? # # y1(t): ruido branco em torno de uma tendencia estocastica, # traduzido aqui como um passeio aleatorico com drift # # y2(t): ruido branco em torno de uma tendencia deterministica # traduzido aqui como uma tendencia linear. # ######################################################################## rm(list=ls()) # Simulando os dados set.seed(23566) n = 200 N = 50 beta = 0.5 y1 = matrix(0,n,N) y2 = matrix(0,n,N) y1[1,] = rnorm(N,beta,1) y2[1,] = rnorm(N,beta,1) for (t in 2:n){ y1[t,] = beta + y1[t-1,] + rnorm(N) y2[t,] = beta*t + rnorm(N) } pdf(file="TD-TS-0.pdf",width=8,height=6) par(mfrow=c(1,1)) ts.plot(y1) for (i in 1:N) lines(y2[,i],col=2) legend("topleft",legend=c("y(t) = 0.5*t + rb","y(t) = 0.5 + y(t-1) + rb"),col=2:1,lty=1) dev.off() set.seed(23566) n = 200 beta = 0.5 y1 = rep(0,n) y2 = rep(0,n) y1[1] = rnorm(1,beta,1) y2[1] = rnorm(1,beta,1) for (t in 2:n){ y1[t] = beta + y1[t-1] + rnorm(1) y2[t] = beta*t + rnorm(1) } pdf(file="TD-TS-1.pdf",width=8,height=6) time = 1:n par(mfrow=c(1,1)) ts.plot(y1,main="",ylim=range(y1,y2),lwd=2,ylab="",xlab="Time") lines(y2,col=2,lwd=2) legend("topleft",legend=c("Y1","Y2"),col=1:2,lwd=2,lty=1) dev.off() # Ajustando tendencias deterministicas para ambas series # e fazendo analise residual pdf(file="TD-TS-2.pdf",width=12,height=6) par(mfrow=c(2,4)) ts.plot(y1,main="Modeling y1 with DT") abline(lm(y1~time)$coef,col=2) ts.plot(lm(y1~time)$res,main="",ylab="Residuals") title("Noise doesn't look white") acf(lm(y1~time)$res,main="FAC+FACP => random walk") pacf(lm(y1~time)$res,main="") ts.plot(y2,main="Modeling y2 with DT") abline(lm(y2~time)$coef,col=2) ts.plot(lm(y2~time)$res,main="",ylab="Residuals") title("Noise looks white") acf(lm(y2~time)$res,main="FAC+FACP => white noise") pacf(lm(y2~time)$res,main="") dev.off() # Ajustando passeio aleatorio com drift para ambas series # e fazendo analise residual pdf(file="TD-TS-3.pdf",width=12,height=6) par(mfrow=c(2,4)) drift=lm(diff(y1)~1)$coef ts.plot(y1[2:n],main="y1 : random walk + drift",ylab="y1") lines(drift+y1[1:(n-1)],col=2) ts.plot(lm(diff(y1)~1)$res,main="",ylab="Residuals") title("Noise looks white") acf(lm(diff(y1)~1)$res,main="FAC+FACP => white noise") pacf(lm(diff(y1)~1)$res,main="") drift=lm(diff(y2)~1)$coef ts.plot(y2[2:n],main="y2 : random walk + drift",ylab="y1") lines(drift+y2[1:(n-1)],col=2) ts.plot(lm(diff(y2)~1)$res,main="",ylab="Residuals") title("Noise doesn't look white") acf(lm(diff(y2)~1)$res,main="FAC+FACP => not white noise") pacf(lm(diff(y2)~1)$res,main="") dev.off()