Monitor: Leandro Valter
leandro.vvalter@gmail.com
Professor: Silvio fernando
profsilviofernando@gmail.com
Universidade Estadual da Paraíba
Centro de Ciência e Tecnologia
Departamento de Estatística

library(TSA)

5)

O arquivo wages dispõe dos valores mensais das médias dos salários médios por hora (em dólares) para os trabalhadores nos EUA no período de Julho de 1981 até Junho de 1987.

  1. Interprete o gráfico dos dados.
data(wages)
plot(wages,ylab='Média mensal dos salários',type='o')

O gráfico mostra uma tendência crescente da série,ou seja, a cada mês a média cresce alterando o nível da série

  1. Use o MMQ para ajustar a tendência da série. Interprete a saída no R. Salve os resíduos padronizados para uma análise futura.
horas.modelolm<-lm(wages~time(wages));horas.modelolm
## 
## Call:
## lm(formula = wages ~ time(wages))
## 
## Coefficients:
## (Intercept)  time(wages)  
##   -549.0061       0.2811
summary(horas.modelolm)
## 
## Call:
## lm(formula = wages ~ time(wages))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.23828 -0.04981  0.01942  0.05845  0.13136 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -5.490e+02  1.115e+01  -49.24   <2e-16 ***
## time(wages)  2.811e-01  5.618e-03   50.03   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.08257 on 70 degrees of freedom
## Multiple R-squared:  0.9728, Adjusted R-squared:  0.9724 
## F-statistic:  2503 on 1 and 70 DF,  p-value: < 2.2e-16
y=rstudent(horas.modelolm)

O ajuste parece explicar bem os dados, tem-se um coeficiente de determinação (\(R^{2}\)) de 97%

  1. Construa e interprete o gráfico da série dos resíduos padronizados do item anterior.
plot(y, x=as.vector(time(wages)),type='l',ylab='Resíduos Padronizados')
abline(h =c(-2,2),col="red")
points(y, x=as.vector(time(wages)),pch=as.vector(season(wages)))

Os resíduos são muito suaves para parecerem aleatórios.

  1. Use o MMQ para ajustar a tendência quadrática para a série wages. Interprete a saída da regressão. Salve os resíduos padronizados para análise futura.
horas.modelolm2=lm(wages~time(wages)+I(time(wages)^2))
summary(horas.modelolm2)
## 
## Call:
## lm(formula = wages ~ time(wages) + I(time(wages)^2))
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.148318 -0.041440  0.001563  0.050089  0.139839 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      -8.495e+04  1.019e+04  -8.336 4.87e-12 ***
## time(wages)       8.534e+01  1.027e+01   8.309 5.44e-12 ***
## I(time(wages)^2) -2.143e-02  2.588e-03  -8.282 6.10e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.05889 on 69 degrees of freedom
## Multiple R-squared:  0.9864, Adjusted R-squared:  0.986 
## F-statistic:  2494 on 2 and 69 DF,  p-value: < 2.2e-16
y=rstudent(horas.modelolm2)

O modelo com o ajuste quadrático da tendência parece explicar melhor os dados, tem-se um coeficiente de determinação (\(R^{2}\)) de 98,6%

  1. Construa e interprete o gráfico dos resíduos padronizados do item d).
plot(y,x=as.vector(time(wages)),ylab='Resíduos Padronizados',type='o')

Os resíduos ainda são muito suaves para parecerem aleatórios.

11)

Esboce as funções de autocorrelação para os modelos MA(2) com os seguintes parâmetros:

CUIDADO COM OS MODELOS MA! OS PARÂMENTROS TEM O SINAL TROCADO NA HORA DE PASSAR PARA O R!!

  1. \(\theta_1\) = 0.5,\(\theta_2\) = 0.4
ACF=ARMAacf(ma=list(-.5,-.4),lag.max = 10)
plot(y=ACF[-1],x=1:10,xlab='Lag',ylab='ACF',type='h'); abline(h=0)

13)

Calcule e esboce as funções de autocorrelação para cada um dos modelos AR(1) abaixo.

  1. \(\phi_1\) = 0.7
ACF=ARMAacf(ar=.7,lag.max=10)
plot(y=ACF[-1],x=1:10,xlab='Lag',ylab='ACF',type='h'); abline(h=0)

  1. \(\phi_1\) = -0.7
ACF=ARMAacf(ar=-0.7,lag.max=10)
plot(y=ACF[-1],x=1:10,xlab='Lag',ylab='ACF',type='h',ylim=c(-1,1)); abline(h=0)

17)

Esboce as funções de autocorrelação para os modelos ARMA abaixo.

  1. ARMA(1,1); \(\phi_1\) =0.7, \(\theta_1\) =0.4

23)

Modelos ARIMA não estacionários podem ser simulados através de modelos ARMA estacionários através de ‘integrações’. Use o R para simular uma variedade de IMA(1,1); IMA(1,2) com uma variedade de parâmetros. Perceba se há tendência estocástica nas séries simuladas.

  • \(IMA(1,1)\)
ima1.1=arima.sim(model=list(order=c(0,1,1),ma=0.5),n=100)
plot(ima1.1,type='o',ylab='')

- \(IMA(1,2)\)

ima1.2=arima.sim(model=list(order=c(0,1,2),ma=c(0.5,-0.8)),n=100)
plot(ima1.2,type='o',ylab='')

24)

Repita o exercício anterior com os modelos ARI(1,1) e ARI(2,2).

CUIDADO COM OS MODELOS AR! OS PARÂMENTROS NÃO PODEM SOMAR 1

ari1.1=arima.sim(model=list(order=c(1,1,0),ar=0.5),n=100)
plot(ari1.1,type='o',ylab='')

ari2.2=arima.sim(model=list(order=c(2,2,0),ar=c(0.5,0.4)),n=100)
plot(ari2.2,type='o',ylab='')

25)

Carregue o arquivo winnebago e resolva os itens abaixo:

  1. Interprete o gráfico da série dos dados.
data(winnebago)
plot(winnebago,type='o',ylab='Vendas mensais')

O “plot” mostra uma tendência crescente ao logo do tempo e parece que a variância não é constante ao longo do tempo.

  1. Use a transformação logarítmica e interprete o gráfico. Compare com o item anterior.

AS TRASFORMAÇÕES VÃO SER ÚTEIS PARA SUAVIZAR A VARIAÇÃO DOS DADOS. CUIDADO COM O TRANSFORMAÇÃO, POIS DEPENDENDO DO TIPO DE DADO A TRANSFORMAÇÃO PODE SER INADEQUADA!!

plot(log(winnebago),type='o',ylab='Log(Vendas mensais)')

Com a transformação logarítmica a série parece suavizar a variância ao longo do tempo.

  1. Calcule as mudanças fracionais relativas,(Yt􀀀Yt􀀀1)=Yt􀀀1, e compare as diferenças dos logaritmos, rlog(Yt) =log(Yt) 􀀀 log(Yt􀀀1). Como ambos se comportam com relação a pequenos e grandes valores?

A DIFERENÇA NA SÉRIE SERVE PARA DEIXAR A SÉRIE EM UM COMPORTAMENTO ESTACIONÁRIO. NO MÁXIMO USE ATÉ A 2ª DIFERENÇA!!

plot(x=diff(log(winnebago)),xlab='Diferença dos Logs')

Após a 1ª diferença a série parece apresentar um comportamento estacionário.