Lista dos Cápitulos 6,7,8.

Pacotes necessários

QUESTÃO 1: Simule um modelo MA(1) com n = 60 e θ = 0.5.

set.seed(162534)
simula_1=arima.sim(n=60,list(ma=-.5))

a) Calcule as autocorrelações teóricas no lag1 para este modelo.

# ρ1 = (−θ)\(1 + θ²) = (−0.5)\(1 + 0.5²) = -0.4

b) Calcule a autocorrelação amostral no lag1 e compare com o valor teórico.

auto_amost_1<-acf(simula_1,plot = F)[1]
auto_amost_1
## 
## Autocorrelations of series 'simula_1', by lag
## 
##      1 
## -0.462
Lags Téorico Simulado
1 -0.4 -0.462
COMENTÁRIO

O lag1 simulado está muito próximo do lag1 teórico. Dessa forma, é interessante ver o “plot” do ACF da série simulada para verificar se existe correlações significativas além do lag1, caso existam, a série estaria violando a característica do MA(1), onde há autocorrelação significativa apenas no lag1.

acf(simula_1,lag.max = 20,main="ACF MA(1) (Série Simulada)")

COMENTÁRIO

O lag7 e 8 mostram uma ilegítima autocorrelação significativa. Talvez com mais observações exista uma similaridade com o comportamento de um MA(1).

c) Repita o item (b) com uma nova simulação. Descrever como a precisão da estimativa varia com diferentes amostras selecionadas sob condições idênticas. Basta simular novamente.

set.seed(162937)
simula_2=arima.sim(n=25, list(ma=-0.5))
lag1_simula_2=acf(simula_2,plot = F)[1]
set.seed(112737)
simula_3=arima.sim(n=50, list(ma=-0.5))
lag1_simula_3=acf(simula_3,plot = F)[1]
set.seed(122738)
simula_4=arima.sim(n=100, list(ma=-0.5))
lag1_simula_4=acf(simula_4,plot = F)[1]
set.seed(134596)
simula_5=arima.sim(n=1000, list(ma=-0.5))
lag1_simula_5=acf(simula_5,plot = F)[1]
Nº de observações 25 50 100 1000
Lag 1 (Série Simulada) -0.504 -0.395 -0.107 -0.398
COMENTÁRIO

Com o aumento de observações na série simulada, percebe-se uma aproximação dos lag´s 1 simulados com o lag 1 teórico.

d) Se o software permitir, repita a simulação da série e o cálculo de r1 várias vezes e construa a distribuição amostral de r1.Descreva como a precisão da estimativa varia com diferentes amostras selecionadas sob condições idênticas.Quão bem a variância amostral dada no Anexo 6.2 na página 112, aproxima-se da variação em sua distribuição amostral?

set.seed(18375)
r1=rep(NA,1000)
r5=r1
for (k in 1:1000) {
simula_5=arima.sim(n=60, list(ma=-.5))
;r1[k]=acf(simula_5, lag.max=1, plot=F)$acf[1]
;r5[k]=acf(simula_5, lag.max=5, plot=F)$acf[5]}
x=matrix(r1,nc=1);y=matrix(r5,nc=1)
bd=data.frame(x,y)
attach(bd)
## The following objects are masked _by_ .GlobalEnv:
## 
##     x, y
mean(r1); sd(r1); median(r1)
## [1] -0.3916037
## [1] 0.1004627
## [1] -0.3952299
mean(r5); sd(r5); median(r5)
## [1] -0.01086531
## [1] 0.1376435
## [1] -0.01402151
r1 r5
Média -0.3916037 -0.01086531
Mediana -0.3952299 -0.01402151
desvio padrão 0.1004627 0.1376435
hist(r1)

hist(r5)

Questão 2 : Simule um AR(2) com n = 72, φ1 = 0.7 e φ2 = −0.4

simula_6=arima.sim(n=72, list(ar=c(.7,-.4)))

a) Calcular e plotar a função de autocorrelação teórica para este modelo. Registre defasagens sucientes até que as correlações sejam insignicantes.

ACF=ARMAacf(ar=c(.7,-.4),lag.max=10)
acf(ACF,lag.max = 10,main="ACF AR(2) (Teórico)")

COMENTÁRIO

Não houve autocorrelações significativas no ACF teórico.

b) Calcule e plote a amostra ACF para sua série simulada. Quão bem os valores e padrões correspondem ao ACF teórico do item (a)?

acf(simula_6,lag.max = 10,main="ACF AR(2) (série simulada)")

COMENTÁRIO

Não há diferença significativa entre os valores das séries. Porém, o padrão dos ACF’s são diferentes, sendo o ACF teórico a série com menos autocorrelações significativas e convergindo com menos passos que o ACF simulado.

c) Quais são as autocorrelações parciais teóricas para este modelo?

pacf(ACF,lag.max = 10,main="PACF AR(2) (Série Teórica)")

d) Calcule e plot a amostra PACF para sua série simulada. Quão bem os valores e padrões correspondem ao ACF teórico do item c)?

pacf(simula_6,lag.max=10,main="PACF AR(2) (Série Simulada)")

COMENTÁRIO

O padrão tem um comportamento de um modelo AR(2)

Questão 3: Simule um modelo ARMA (1,1) n = 100 com φ = 0.8 e θ = 0.4.

set.seed(193596)
arma_simula_1=arima.sim(n=100, list(ar=.8,ma=-.4))

a) Calcule e plote a função de autocorrelação teórica para este modelo. Registre defasagens suficientes até que as correlações sejam insignificantes.

arma_teorico=ARMAacf(ar=.8,ma=-.4,lag.max=20)
acf(arma_teorico,lag.max = 20,main="ACF ARMA(1,1) (Teórico)")

b) Calcule e plote a amostra ACF para sua série simulada. Quão bem o valores e padrões correspondem ao ACF teórico da parte (a)?

acf(arma_simula_1,lag.max = 20,main="ACF ARMA(1,1) (Simulado)")

COMENTÁRIO

Não há diferença significativa entre os valores das séries. Porém, o padrão dos ACF’s são diferentes, sendo o ACF teórico a série com menos autocorrelações significativas e convergindo com menos passos que o ACF simulado.

c) Calcule e interprete a EACF para esta série. O EACF ajuda você a especificar as ordens corretas para o modelo?

eacf(arma_simula_1)
## AR/MA
##   0 1 2 3 4 5 6 7 8 9 10 11 12 13
## 0 x x x o o o o o o o o  o  o  o 
## 1 x o x o o o o o o o o  o  o  o 
## 2 x x x o o o o o o o o  o  o  o 
## 3 x o o o o o o o o o o  o  o  o 
## 4 o o o o o o o o o o o  o  o  o 
## 5 o o o o o o o o o o o  o  o  o 
## 6 o o o o o o o o o o o  o  o  o 
## 7 x x o o o o o o o o o  o  o  o
COMENTÁRIO

Não ajudou, pois não indica claramente um modelo.

d) Repita as partes (b) e (c) com uma nova simulação usando os mesmos valores de parâmetros e tamanho da amostra.

set.seed(149368)
arma_simula_2=arima.sim(n=100, list(ar=.8,ma=-.4))
acf(arma_simula_2,lag.max = 20,main="ACF ARMA(1,1) (Simulado)")

COMENTÁRIO

Não há diferença significativa entre os valores das séries. Porém, o padrão dos ACF’s são diferentes, sendo o ACF teórico a série com menos autocorrelações significativas e convergindo com menos passos que o ACF simulado.

eacf(arma_simula_2)
## AR/MA
##   0 1 2 3 4 5 6 7 8 9 10 11 12 13
## 0 x x o o o o o o o o o  o  o  o 
## 1 o o o x o o o o o o o  o  o  o 
## 2 o o x x o o o o o o o  o  o  o 
## 3 o x x x o o o o o o o  o  o  o 
## 4 o x o o x o o o o o o  o  o  o 
## 5 x x x o o o o o o o o  o  o  o 
## 6 x x o o o o o o o o o  o  o  o 
## 7 x o o o o o o o o o o  o  o  o
COMENTÁRIO

Não ajudou, pois não indica claramente um modelo.

e) Repita as partes (b) e (c) com uma nova simulação usando os mesmos valores de parâmetros, mas com tamanho de amostra n = 48.

set.seed(15946)
arma_simula_3=arima.sim(n=48, list(ar=.8,ma=-.4))
acf(arma_simula_2,lag.max = 20,main="ACF ARMA(1,1) (Simulado)")

COMENTÁRIO

Não há diferença significativa entre os valores das séries. Porém, o padrão dos ACF’s são diferentes, sendo o ACF teórico a série com menos autocorrelações significativas e convergindo com menos passos que o ACF simulado.

eacf(arma_simula_3)
## AR/MA
##   0 1 2 3 4 5 6 7 8 9 10 11 12 13
## 0 x x o o o o x x x o o  o  o  o 
## 1 o o o o o o o o o o o  o  o  o 
## 2 x o o o o o o o o o o  o  o  o 
## 3 x o o o o o o o o o o  o  o  o 
## 4 o o x o o o o o o o o  o  o  o 
## 5 x o o o o o o o o o o  o  o  o 
## 6 x o o o o o o o o o o  o  o  o 
## 7 x o o o o o o o o o o  o  o  o
COMENTÁRIO

Não ajudou, pois não indica claramente um modelo.

f) Repita as partes (b) e (c) com uma nova simulação usando os mesmos valores de parâmetros, mas com tamanho de amostra n = 200.

set.seed(17956)
arma_simula_4=arima.sim(n=200, list(ar=.8,ma=-.4))
acf(arma_simula_4,lag.max = 20,main="ACF ARMA(1,1) (Simulado)")

COMENTÁRIO

Não há diferença significativa entre os valores das séries. Porém, o padrão dos ACF’s são diferentes, sendo o ACF teórico a série com menos autocorrelações significativas e convergindo com menos passos que o ACF simulado.

eacf(arma_simula_4)
## AR/MA
##   0 1 2 3 4 5 6 7 8 9 10 11 12 13
## 0 x x x x x x x x o o o  o  x  x 
## 1 x o o o o x x x o o o  o  o  o 
## 2 x x o o o o o x o o o  o  o  o 
## 3 x x o o o o o x o o o  o  o  o 
## 4 x x o o o o o x o o o  o  o  o 
## 5 x x o o o o o o o o o  o  o  o 
## 6 x x o x o o o o o o o  o  o  o 
## 7 x x o o o o x o o o o  o  o  o
COMENTÁRIO

Não ajudou, pois não indica claramente um modelo.

Questão 4: O arquivo de dados denominado robot contém uma série temporal obtida de um robô industrial. O robôfoi submetido a uma sequência de manobras e a distância de um ponto final desejado foi registrada em polegadas. O processo foi repetido 324 vezes para formar a série temporal.

a) Exibe o gráfico da série temporal dos dados. Com base nessas informações, esses dados parecem vir de um processo estacionário ou não-estacionário?

data("robot")

b) Calcule e plote a amostra ACF e PACF para esses dados. Com base nessas informações adicionais, esses dados parecem vir de um dispositivo xo ou não processo estacionário?

plot(robot)

COMENTÁRIO

Aparenta existir uma não estationáridade.

acf(robot,lag.max = 20,main="ACF robot")

COMENTÁRIO

Realmente parece ser não-estacionário pelo padrão do ACF.

c) Calcule e interprete a amostra EACF.

eacf(robot)
## AR/MA
##   0 1 2 3 4 5 6 7 8 9 10 11 12 13
## 0 x x x x x x x x x o x  x  x  x 
## 1 x o o o o o o o o o o  o  o  o 
## 2 x x o o o o o o o o o  o  o  o 
## 3 x x o o o o o o o o o  o  o  o 
## 4 x x x x o o o o o o o  o  x  o 
## 5 x x x o o o o o o o o  o  x  o 
## 6 x o o o o x o o o o o  o  o  o 
## 7 x o o x o x x o o o o  o  o  o
COMENTÁRIO

Pelo EACF, teríamos um modelo ARMA(1,1), que seria estacionário.

d) Use a melhor abordagem ARMA de subconjuntos para especificar um modelo para esses dados. Compare esses resultados com o que você descobriu nas partes (a), (b) e (c).

arima(robot)
## 
## Call:
## arima(x = robot)
## 
## Coefficients:
##       intercept
##          0.0015
## s.e.     0.0002
## 
## sigma^2 estimated as 7.162e-06:  log likelihood = 1459.43,  aic = -2916.85
COMENTÁRIO

A função arima nos sugere um modelo ARIMA(0,1,2), ou seja, um IMA(1,2). Bem, de acordo com as partes a),b) e d) temos um modelo não estacionário, apenas pelo EACF indica um modelo ARMA(1,1)(estacionário).

Questão 5: Simule uma série MA(1) com θ = −0, 6 e n = 36.

set.seed(189746)
MA_simula_1=arima.sim(n=36, list(ma=.6))

a) Encontre a estimativa do método dos momentos de θ.

estima_MM_MA_1=function(x){r=acf(x,plot=F)$acf[1]; if (abs(r)<0.5)
return((-1+sqrt(1-4*r^2))/(2*r)) else return(NA)}
estima_MM_MA_1(MA_simula_1)
## [1] -0.4519557

b) Encontre a estimativa dos mínimos quadrados condicionais de θ e compare com o item a).

arima(MA_simula_1,order=c(0,0,1),method='CSS')
## 
## Call:
## arima(x = MA_simula_1, order = c(0, 0, 1), method = "CSS")
## 
## Coefficients:
##          ma1  intercept
##       0.7032     0.1263
## s.e.  0.1341     0.2504
## 
## sigma^2 estimated as 0.817:  part log likelihood = -47.44
COMENTÁRIO

Houve uma diferença grande entre as estimações.

c) Encontre a estimativa máxima verossimilhança de θ e compare com os itens a) e (b).

arima(MA_simula_1,order=c(0,0,1),method='ML')
## 
## Call:
## arima(x = MA_simula_1, order = c(0, 0, 1), method = "ML")
## 
## Coefficients:
##          ma1  intercept
##       0.6769     0.1418
## s.e.  0.1348     0.2495
## 
## sigma^2 estimated as 0.8135:  log likelihood = -47.67,  aic = 99.35
COMENTÁRIO

A melhor estimativa entre os três métodos foi a de máxima verossimilhança, pela menor variância.

d) Repita os itens a), b) e c) com uma nova série simulada usando o mesmos parâmetros e mesmo tamanho de amostra. Compare seus resultados com os resultados da primeira simulação.

set.seed(13956)
MA1_simula_2=arima.sim(n=36, list(ma=.6))
arima(MA1_simula_2,order=c(0,0,1),method='CSS')
## 
## Call:
## arima(x = MA1_simula_2, order = c(0, 0, 1), method = "CSS")
## 
## Coefficients:
##          ma1  intercept
##       0.5202     0.0351
## s.e.  0.1459     0.2246
## 
## sigma^2 estimated as 0.8089:  part log likelihood = -47.27
arima(MA1_simula_2,order=c(0,0,1),method='ML')
## 
## Call:
## arima(x = MA1_simula_2, order = c(0, 0, 1), method = "ML")
## 
## Coefficients:
##          ma1  intercept
##       0.5077     0.0380
## s.e.  0.1502     0.2239
## 
## sigma^2 estimated as 0.8088:  log likelihood = -47.41,  aic = 98.82
COMENTÁRIO

Novamente, o melhor método para estimar um MA(1) foi o de máxima verossimilhança.

Questão 6: Simule uma série AR (2) com φ1 = 0, 6, φ2 = 0, 3 e n = 60.

set.seed(14796)
AR2_simula_1=arima.sim(n=60, list(ar=c(.6,.3)))

a) Encontre as estimativas do método de momentos de φ1 e φ2.

ar(AR2_simula_1,method='yw')
## 
## Call:
## ar(x = AR2_simula_1, method = "yw")
## 
## Coefficients:
##      1  
## 0.7567  
## 
## Order selected 1  sigma^2 estimated as  1.128

b) Encontre as estimativas de mínimos quadrados condicionais de φ1 e φ2 e compare-as com o item a).

arima(AR2_simula_1,order=c(2,0,0),method='CSS')
## 
## Call:
## arima(x = AR2_simula_1, order = c(2, 0, 0), method = "CSS")
## 
## Coefficients:
##          ar1     ar2  intercept
##       0.6919  0.1091     1.4412
## s.e.  0.1297  0.1299     0.6803
## 
## sigma^2 estimated as 1.056:  part log likelihood = -86.76
COMENTÁRIO

A melhor estimação foi a dos mínimos quadrados condicionais, pela menor variância.

c) Encontre as estimativas de máxima verossimilhança de φ1 e φ2 e compare-as com os itens a) e b).

arima(AR2_simula_1,order=c(2,0,0),method='ML')
## 
## Call:
## arima(x = AR2_simula_1, order = c(2, 0, 0), method = "ML")
## 
## Coefficients:
##          ar1     ar2  intercept
##       0.6849  0.1052     1.2532
## s.e.  0.1288  0.1293     0.5866
## 
## sigma^2 estimated as 1.035:  log likelihood = -86.62,  aic = 179.24
COMENTÁRIO

O método da máxima verossimilhança ter uma variância menor.

d) Repita os itens a), b) e c) com uma nova série simulada usando o mesmos parâmetros e o mesmo tamanho de amostra. Compare estes resultados com os resultados da a primeira simulação.

set.seed(19966)
AR2_simula_2=arima.sim(n=60, list(ar=c(.6,.3)))
ar(AR2_simula_2,method='yw')
## 
## Call:
## ar(x = AR2_simula_2, method = "yw")
## 
## Coefficients:
##      1       2  
## 0.6265  0.1979  
## 
## Order selected 2  sigma^2 estimated as  1.284
arima(AR2_simula_2,order=c(2,0,0),method='CSS')
## 
## Call:
## arima(x = AR2_simula_2, order = c(2, 0, 0), method = "CSS")
## 
## Coefficients:
##          ar1     ar2  intercept
##       0.5845  0.2336    -2.3808
## s.e.  0.1255  0.1222     0.7573
## 
## sigma^2 estimated as 1.057:  part log likelihood = -86.8
arima(AR2_simula_2,order=c(2,0,0),method='ML')
## 
## Call:
## arima(x = AR2_simula_2, order = c(2, 0, 0), method = "ML")
## 
## Coefficients:
##          ar1     ar2  intercept
##       0.6272  0.2336    -1.6662
## s.e.  0.1244  0.1266     0.8697
## 
## sigma^2 estimated as 1.087:  log likelihood = -88.24,  aic = 182.48
COMENTÁRIO

O método de mínimos quadrados condicionais ofereceu boas estiamtivas com uma variância muito baixa também.

Questão 7: O arquivo de dados denominado robot contém uma série temporal obtida de um robô industrial. O robô foi submetido a uma sequência de manobras e a distância de um ponto final desejado foi registrada em polegadas. Isto foi repetido 324 vezes para formar a série temporal.

data("robot")

a) Estime os parâmetros de um modelo AR (1) para esses dados.

arima(robot,order=c(1,0,0),method='ML')
## 
## Call:
## arima(x = robot, order = c(1, 0, 0), method = "ML")
## 
## Coefficients:
##          ar1  intercept
##       0.3076     0.0015
## s.e.  0.0528     0.0002
## 
## sigma^2 estimated as 6.482e-06:  log likelihood = 1475.54,  aic = -2947.08

b) Estime os parâmetros de um modelo IMA (1,1) para esses dados.

arima(robot,order=c(0,1,1),method='ML')
## 
## Call:
## arima(x = robot, order = c(0, 1, 1), method = "ML")
## 
## Coefficients:
##           ma1
##       -0.8713
## s.e.   0.0389
## 
## sigma^2 estimated as 6.069e-06:  log likelihood = 1480.95,  aic = -2959.9

c) Compare os resultados das partes (a) e (b) em termos de AIC.

Modelos AIC
Arima(1,0,0) -2947.08
Arima(0,1,1) -2959.9

De acordo com o AIC, o modelo que melhor se ajusta aos dados seria o ARIMA(0,1,1), ou seja, um IMA(1,1).

Questão 8: Simule um modelo AR (2) com n = 48, φ1 = 1, 5 e φ2 = −0, 75.

set.seed(17596)
AR2_simula_3=arima.sim(n=48, list(ar=c(1.5,-0.75)))

a) Construa o modelo AR (2) corretamente especificado e observe o gráfico de série temporal dos resíduos. O gráfico suporta a especificação AR (2)?

modelo_AR2=arima(AR2_simula_3,order = c(2,0,0),method = "ML")
y=modelo_AR2$residuals
plot(y,type="o")

COMENTÁRIO

Pode-se observar que não há pontos fora do limite, parece suportar o modelo AR(2).

b) Mostrar um gráfico quantil-quantil normal dos resíduos padronizados. O gráfico suporta a especificação AR(2)?

qqnorm(y)

shapiro.test(y)
## 
##  Shapiro-Wilk normality test
## 
## data:  y
## W = 0.97568, p-value = 0.4141
COMENTÁRIO

De acordo com o qq-plot e o teste de Shapiro, não rejeitamos normalidade dos resíduos, ou seja, os dados suportam a especificação AR(2).

c) Mostre a ACF e PACF dos resíduos. Os gráficos suportam a especificação AR (2)?

plot.1=acf(y,lag.max = 20,main="ACF Resíduos")

plot.2=pacf(y,lag.max = 20,main="PACF Resíduos")

COMENTÁRIO

Há um comportamento do modelo AR(2), tanto no ACF e no PACF.

d) Calcule teste estatístico de Ljung-Box para K = 12. Esta estatística suporta a especificação AR (2)?

Box.test (y, lag = 12, type = "Ljung")
## 
##  Box-Ljung test
## 
## data:  y
## X-squared = 10.774, df = 12, p-value = 0.5484
COMENTÁRIO

Pelo teste de Ljung-Box, não rejeitamos a independência dos resíduos, confirmando que a especificação AR(2) está adequada.

Questão 9: O arquivo de dados chamado deere3 contém 57 valores consecutivos de uma máquina-ferramenta complexa na Deere & Co. Os valores fornecidos são desvios de um valor alvo em unidades de dez milionésimos de uma polegada.O processo emprega um mecanismo de controle que redefine alguns dos parâmetros da máquina operatriz, dependendoda magnitude de desvio do alvo do último item produzido. Diagnostique o ajuste de um modelo AR (1) para esses dados em termos dos testes discutidos neste capítulo.

data("deere3")
Modelo_AR1=arima(deere3,order = c(1,0,0),method = "ML")
plot(deere3,ylab="",xlab="Tempo",type="o")

plot(rstandard(Modelo_AR1),xlab="Time",ylab="Resíduos Padronizados",type='o')
abline(h=0)

hist(rstandard(Modelo_AR1),xlab="Resíduos Padronizados",main="",prob=T)

qqnorm(rstandard(Modelo_AR1),main="")

shapiro.test(rstandard(Modelo_AR1))
## 
##  Shapiro-Wilk normality test
## 
## data:  rstandard(Modelo_AR1)
## W = 0.98261, p-value = 0.5827
runs(rstandard(Modelo_AR1))
## $pvalue
## [1] 0.771
## 
## $observed.runs
## [1] 31
## 
## $expected.runs
## [1] 29.42105
## 
## $n1
## [1] 27
## 
## $n2
## [1] 30
## 
## $k
## [1] 0
Box.test (rstandard(Modelo_AR1), lag = 12, type = "Ljung")
## 
##  Box-Ljung test
## 
## data:  rstandard(Modelo_AR1)
## X-squared = 6.9579, df = 12, p-value = 0.8604
COMENTÁRIO

O modelo AR(1) parece estar bem especificado, tendo em vista a normalidade, a aleatoriedade e independência dos erros.

Questão 10: O quadro 6.31 na página 139 sugere a especificação de um modelo AR (1) ou possivelmente um modelo AR (4) para a diferença dos logaritmos da série de preços do petróleo(oil.price).

data("oil.price")
arima(oil.price)
## 
## Call:
## arima(x = oil.price)
## 
## Coefficients:
##       intercept
##         24.0864
## s.e.     0.6795
## 
## sigma^2 estimated as 111.3:  log likelihood = -909.75,  aic = 1821.51

a) Estime ambos os modelos usando a máxima verossimilhança e compare os resultados usando os testes diagnósticos considerados no capítulo 8.

Modelo_oil_AR1=arima(diff(log(oil.price)),order = c(1,0,0),method = "ML")
Modelo_oil.AR4=arima(diff(log(oil.price)),order = c(4,0,0),method = "ML")

Para o AR(1)

plot(rstandard(Modelo_oil_AR1),xlab="Tempo",ylab="Resíduos Padronizados",type='o')
abline(h=0)

hist(rstandard(Modelo_oil_AR1),xlab="Resíduos Padronizados",main="")

qqnorm(rstandard(Modelo_oil_AR1),main="")

shapiro.test(rstandard(Modelo_oil_AR1))
## 
##  Shapiro-Wilk normality test
## 
## data:  rstandard(Modelo_oil_AR1)
## W = 0.96683, p-value = 2.221e-05
runs(rstandard(Modelo_oil_AR1))
## $pvalue
## [1] 0.542
## 
## $observed.runs
## [1] 126
## 
## $expected.runs
## [1] 120.7917
## 
## $n1
## [1] 115
## 
## $n2
## [1] 125
## 
## $k
## [1] 0
tsdiag(Modelo_oil_AR1,gof=15,omit.initial=F)

Para o AR(4)

plot(rstandard(Modelo_oil.AR4),xlab="Tempo",ylab="Resíduos Padronizados",type='o')
abline(h=0)

hist(rstandard(Modelo_oil.AR4),xlab="Resíduos Padronizados",main="")

qqnorm(rstandard(Modelo_oil.AR4),main="")

shapiro.test(rstandard(Modelo_oil.AR4))
## 
##  Shapiro-Wilk normality test
## 
## data:  rstandard(Modelo_oil.AR4)
## W = 0.96983, p-value = 5.597e-05
runs(rstandard(Modelo_oil.AR4))
## $pvalue
## [1] 0.746
## 
## $observed.runs
## [1] 124
## 
## $expected.runs
## [1] 120.9917
## 
## $n1
## [1] 119
## 
## $n2
## [1] 121
## 
## $k
## [1] 0
tsdiag(Modelo_oil.AR4,gof=15,omit.initial=F)

b) O quadro 6.32 na página 140 especificou um modelo MA (1) para a diferença dos logs. Estime este modelo por máxima verossimilhança e execute os testes de diagnósticos considerados no capítulo 8.

Modelo_oil.ma1=arima(diff(log(oil.price)),order = c(0,0,1),method = "ML")
plot(rstandard(Modelo_oil.ma1),xlab="Tempo",ylab="Resíduos Padronizados",type='o')
abline(h=0)

hist(rstandard(Modelo_oil.ma1),xlab="Resíduos Padronizados",main="")

qqnorm(rstandard(Modelo_oil.ma1),main="")

shapiro.test(rstandard(Modelo_oil.ma1))
## 
##  Shapiro-Wilk normality test
## 
## data:  rstandard(Modelo_oil.ma1)
## W = 0.96883, p-value = 4.095e-05
runs(rstandard(Modelo_oil.ma1))
## $pvalue
## [1] 0.267
## 
## $observed.runs
## [1] 130
## 
## $expected.runs
## [1] 120.925
## 
## $n1
## [1] 117
## 
## $n2
## [1] 123
## 
## $k
## [1] 0
tsdiag(Modelo_oil.ma1,gof=15,omit.initial=F)

c) Qual dos três modelos AR (1), AR (4) ou MA (1) você preferiria, dados os resultados dos itens a) e b)?

COMENTÁRIO

O AR(4), parece ser melhor que os outros, porém também não está adequado pois viola o pressuposto da normalidade.