Introdução

O presente relatório tem como objetivo realizar uma análise detalhada da série temporal do Southern Oscillation Index (SOI). Este índice é amplamente utilizado na climatologia para medir as flutuações da pressão atmosférica entre o Taiti e Darwin, estando associado aos fenômenos El Niño e La Niña, que impactam diretamente os padrões climáticos globais.

A análise envolve etapas de exploração da série, verificação de estacionaridade, testes de tendência e sazonalidade, ajuste de um modelo ARIMA, diagnóstico dos resíduos e elaboração de previsões.

Carregamento dos Dados

d1 <- ts_soi

Análise Exploratória

Inicialmente, é feita uma análise visual da série, além da verificação das funções de autocorrelação simples (FAC) e parcial (FACP), bem como estatísticas descritivas.

autoplot(d1) + 
  labs(title = "Southern Oscillation Index", x = "Tempo", y = "Valor") + 
  theme_minimal()

A inspeção visual não indica uma tendência clara de crescimento ou decaimento ao longo do tempo. Além disso, não há evidências visuais de sazonalidade forte, embora haja oscilações características de séries atmosféricas.

Observa-se, tanto na FAC quanto na FACP, a presença de autocorrelação significativa nos primeiros defasagens, típico de séries temporais que possuem memória curta ou moderada.

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## -6.0000 -0.7000  0.3000  0.2519  1.3000  4.8000

A decomposição clássica reforça a ausência de componentes sazonais regulares e de tendência de longo prazo.

Testes de Tendência

São realizados diversos testes não paramétricos para verificar a presença de tendência determinística na série.

##                  Teste            H0 p_valor     Conclusao
## 1           Cox Stuart NAO tendencia  0.3101 NAO tendencia
## 2 Cox and Stuart Trend NAO tendencia  0.7392 NAO tendencia
## 3   Mann-Kendall Trend NAO tendencia  0.6388 NAO tendencia
## 4         Mann-Kendall NAO tendencia  0.6388 NAO tendencia
## 5           KPSS Trend NAO tendencia  0.0217     Tendencia

Os resultados dos testes são consistentes e indicam ausência de tendência determinística significativa na série, corroborando a inspeção visual realizada anteriormente.

Testes de Raiz Unitária

A verificação de estacionaridade é fundamental para a escolha do modelo adequado. São aplicados os testes ADF (Augmented Dickey-Fuller), PP (Phillips-Perron) e KPSS.

##        Teste            H0 p_valor     Conclusao
## 1        ADF     Tendencia    0.01 NAO tendencia
## 2         PP     Tendencia    0.01 NAO tendencia
## 3 KPSS Level NAO tendencia    0.10 NAO tendencia

Os testes ADF e PP rejeitam a hipótese nula de presença de raiz unitária, enquanto o teste KPSS não rejeita a hipótese de estacionaridade. Portanto, conclui-se que a série é estacionária em nível, sem necessidade de diferenciação.

Teste de Sazonalidade

##             Teste          H0 p_valor   Conclusao
## 1 Kruskall-Wallis NAO Sazonal  0.8234 NAO Sazonal
## 2        Friedman NAO Sazonal  0.2455 NAO Sazonal

Os testes de sazonalidade confirmam que a série não apresenta sazonalidade estatisticamente significativa, reforçando a escolha de modelos não sazonais.

Modelagem ARIMA

Dada a estacionaridade da série e a ausência de sazonalidade, é ajustado um modelo ARIMA não sazonal. O auto.arima() sugere o modelo ARIMA(2,0,2) como o mais adequado.

mod_arima <- auto.arima(d1, seasonal = FALSE)
summary(mod_arima)
## Series: d1 
## ARIMA(2,0,2) with non-zero mean 
## 
## Coefficients:
##          ar1      ar2      ma1     ma2    mean
##       1.7659  -0.7986  -1.3563  0.4694  0.2523
## s.e.  0.0802   0.0690   0.0825  0.0471  0.1334
## 
## sigma^2 = 1.307:  log likelihood = -1347.42
## AIC=2706.84   AICc=2706.94   BIC=2735.45
## 
## Training set error measures:
##                        ME     RMSE       MAE MPE MAPE      MASE         ACF1
## Training set -0.003925277 1.140134 0.9026806 NaN  Inf 0.5311709 -0.003503726
lmtest::coeftest(mod_arima)
## 
## z test of coefficients:
## 
##            Estimate Std. Error  z value Pr(>|z|)    
## ar1        1.765912   0.080185  22.0228  < 2e-16 ***
## ar2       -0.798643   0.069040 -11.5679  < 2e-16 ***
## ma1       -1.356279   0.082506 -16.4386  < 2e-16 ***
## ma2        0.469384   0.047086   9.9687  < 2e-16 ***
## intercept  0.252265   0.133438   1.8905  0.05869 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

O modelo ARIMA(2,0,2) ajustado apresenta coeficientes altamente significativos, indicando forte dependência temporal de curto prazo. A estrutura do modelo, composta por dois termos autorregressivos e dois termos de média móvel, consegue capturar a dinâmica da série de forma eficiente. As métricas de erro são baixas, e os resíduos comportam-se como ruído branco, validando a adequação do modelo.

Diagnóstico dos Resíduos

Após o ajuste do modelo, é fundamental avaliar se os resíduos comportam-se como ruído branco, isto é, se são independentes, homocedásticos e normalmente distribuídos.

checkresiduals(mod_arima)

## 
##  Ljung-Box test
## 
## data:  Residuals from ARIMA(2,0,2) with non-zero mean
## Q* = 22.102, df = 20, p-value = 0.335
## 
## Model df: 4.   Total lags used: 24
res_mod <- residuals(mod_arima)

ggtsdisplay(res_mod)

A análise dos resíduos demonstra que eles se comportam como ruído branco, com média próxima de zero, variância constante e ausência de autocorrelação significativa. Tanto a função de autocorrelação (ACF) quanto a autocorrelação parcial (PACF) dos resíduos indicam que não há dependências temporais remanescentes.

Box.test(res_mod, lag = 15, type = "Ljung")
## 
##  Box-Ljung test
## 
## data:  res_mod
## X-squared = 7.4799, df = 15, p-value = 0.9429

O teste de Ljung-Box não rejeita a hipótese nula de ausência de autocorrelação, corroborando o bom ajuste do modelo.

nortest::ad.test(res_mod)
## 
##  Anderson-Darling normality test
## 
## data:  res_mod
## A = 0.48482, p-value = 0.2268

O teste de Anderson-Darling não detecta desvio severo da normalidade.

raiz_unit(res_mod)
##        Teste            H0 p_valor     Conclusao
## 1        ADF     Tendencia    0.01 NAO tendencia
## 2         PP     Tendencia    0.01 NAO tendencia
## 3 KPSS Level NAO tendencia    0.10 NAO tendencia

O teste de raiz unitária aplicado aos resíduos confirma que eles são estacionários.

ggqqplot(res_mod)

O QQ-Plot dos resíduos reforça a suposição de normalidade, com pequenos desvios nas caudas, aceitáveis para dados ambientais.

Previsão com ARIMA(2,0,2)

A seguir, são apresentadas as previsões para os próximos 5 períodos, bem como os intervalos de confiança.

forecast_arima <- forecast(mod_arima, h = 5)

autoplot(forecast_arima) + 
  autolayer(forecast_arima$fitted, series = "Ajustado", color = "blue") +
  labs(title = "Previsão ARIMA(2,0,2)", x = "Tempo", y = "Valores") + 
  theme_minimal()

forecast_arima
##          Point Forecast     Lo 80     Hi 80     Lo 95    Hi 95
## Jun 2023     -0.5722720 -2.037634 0.8930903 -2.813350 1.668806
## Jul 2023     -0.6802427 -2.263783 0.9032978 -3.102059 1.741573
## Aug 2023     -0.7359510 -2.421518 0.9496161 -3.313804 1.841901
## Sep 2023     -0.7480970 -2.518193 1.0219988 -3.455225 1.959031
## Oct 2023     -0.7250546 -2.562570 1.1124608 -3.535292 2.085183

Conclusões