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.
d1 <- ts_soi
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.
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.
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 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.
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.
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.
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
A série do Southern Oscillation Index (SOI) é estacionária, sem tendência determinística e sem sazonalidade significativa.
O modelo ARIMA(2,0,2) ajustou-se bem, capturando a dinâmica da série com resíduos que se comportam como ruído branco.