Neural Networks with LSTM and GRU in Modeling Active Fires in the Amazon
Ramon Tavares

Pointwise and uniform bounds for functions of the Laplacian on non-compact symmetric spaces
    [
    September 9, 2024
===========================================================================================

§ ABSTRACT 
This study presents a comprehensive methodology for modeling and forecasting the historical time series of fire spots detected by the AQUA_M-T satellite in the Amazon, Brazil. The approach utilizes a mixed Recurrent Neural Network (RNN) model, combining Long Short-Term Memory (LSTM) and Gated Recurrent Unit (GRU) architectures to predict monthly accumulations of daily detected fire spots. A summary of the data revealed a consistent seasonality over time, with annual maximum and minimum fire spot values tending to repeat at the same periods each year. The primary objective is to verify whether the forecasts capture this inherent seasonality through rigorous statistical analysis. The methodology involved careful data preparation, model configuration, and training using cross-validation with two seeds, ensuring that the data generalizes well to the test and validation sets, and confirming the convergence of the model parameters. The results indicate that the mixed LSTM and GRU model offers improved accuracy in forecasting 12 months ahead, demonstrating its effectiveness in capturing complex temporal patterns and modeling the observed time series. This research significantly contributes to the application of deep learning techniques in environmental monitoring, specifically in fire spot forecasting. In addition to improving forecast accuracy, the proposed approach highlights the potential for adaptation to other time series forecasting challenges, opening new avenues for research and development in machine learning and natural phenomenon prediction.

Keywords: Time Series Forecasting, Recurrent Neural Networks, Deep Learning.











§ INTRODUÇÃO

Séries temporais são amplamente utilizadas em diversas áreas, como economia, climatologia, e monitoramento ambiental, e contam com grandes referências como Box e Jenkins (1976) <cit.>, Hamilton (1994) <cit.>, e Brockwell e Davis (2002) <cit.>. De maneira geral, uma série temporal pode ser definida como um conjunto de informações fixadas no tempo e/ou no espaço de forma padronizada ou não. Quando tratamos de séries temporais de dados quantitativos discretos, onde o tempo é o principal fator de interesse, podemos entender essa série como um conjunto de observações que representam quantidades específicas, registradas ao longo do tempo. No contexto deste trabalho, focamos na série temporal dos focos ativos detectados pelo satélite AQUA_M-T na Amazônia, Brasil. Os focos ativos são detectados com base em anomalias de temperatura em pixels observados pelo satélite. Quando a temperatura de um pixel atinge níveis significativamente elevados, como, por exemplo, acima de 47°C — valor que, segundo o Sistema Estadual de Informações Ambientais e Recursos Hídricos (SEIA, 2024) <cit.>, caracteriza um foco de calor — o satélite registra a ocorrência de um foco ativo. Por exemplo, se mil focos ativos foram detectados em um determinado mês, isso significa que mil metros quadrados na região amazônica apresentaram temperaturas acima de 47°C. Esses dados, disponibilizados mensalmente pelo Instituto Nacional de Pesquisas Espaciais (INPE), oferecem uma visão histórica importante, embora seja sabido que os satélites como o AQUA_M-T possuem limitações em termos de precisão, devido à sua idade e tecnologia. Entretanto, mesmo com essas limitações, os dados são valiosos para a identificação de padrões sazonais e anomalias ao longo dos anos. Futuramente, espera-se que esses dados sejam atualizados com a entrada em operação de novos satélites, o que permitirá um monitoramento ainda mais preciso. Neste trabalho, utilizamos modelos de Redes Neurais Recorrentes (RNNs), especificamente as arquiteturas Long Short-Term Memory (LSTM) propostas por Schmidhuber (1997) <cit.> e Gated Recurrent Unit (GRU) propostas por Chung et al. (2014) <cit.>, para modelar e prever a quantidade de focos ativos na Amazônia. A LSTM é conhecida por sua capacidade de lidar com problemas de retenção de longo prazo, enquanto a GRU simplifica a estrutura da LSTM, aumentando a eficiência do modelo. A combinação dessas duas arquiteturas em um modelo misto oferece a robustez necessária para capturar os padrões complexos presentes na série temporal analisada. O lado positivo das redes neurais é a capacidade de um modelo bem treinado aprender padrões independentemente da escala dos dados. No caso dos focos ativos, a série temporal varia de um mínimo de 70 focos registrados em abril de 1999 a um máximo de 73.141 focos em setembro de 2007. Esse intervalo expressivo demonstra a importância de desenvolver uma arquitetura robusta e bem configurada para garantir que o modelo consiga aprender essas variações e realizar previsões com menores erros em comparação aos valores reais observados. Neste artigo, além de explorar a aplicação das RNNs, LSTM e GRU, você encontrará uma visão detalhada de como foi estruturado e treinado o modelo, quantos neurônios e épocas de treinamento foram utilizados, e como as previsões foram realizadas. Discutiremos a fundamentação teórica por trás das redes neurais recorrentes, analisaremos os dados históricos, identificando a sazonalidade dos focos ativos na Amazônia, e apresentaremos os resultados das previsões geradas pelo modelo treinado. Por fim, serão discutidas as implicações dessas previsões e as conclusões deste estudo. Dito isso, seguimos adiante com este estudo, detalhando cada etapa do processo de modelagem, treinamento, validação e previsão, para demonstrar a eficácia das redes neurais recorrentes na análise de séries temporais ambientais.





§ REFERENCIAL TEÓRICO


De acordo com Graves et al. (2013) <cit.>, as Redes Neurais Recorrentes Recurrent Neural Networks (RNNs) são modelos poderosos para dados sequenciais. Elas são capazes de lidar com problemas de rotulagem de sequências onde o alinhamento entre entrada e saída é desconhecido. Esses modelos são construídos para aprender dependências temporais em dados sequenciais e mantêm uma memória interna para processar informações anteriores.



 §.§ Unidade RNN

Dada uma sequência de entrada (x_t, x_t+1, x_t+2, …, x_t+n), uma Rede Neural Recorrente padrão computa a sequência de vetores ocultos (h_t-1, h_t, h_t+1, h_t+2, …, h_t+n) e a sequência de vetores de saída (y_t, y_t+1, y_t+2, …, y_t+n). 


    𝐡_t = A(𝐖_hh⊙𝐡_t-1 + 𝐖_xh⊙𝐱_t + 𝐛_h),


    𝐲_t = (𝐖_yi⊙𝐡_t + 𝐛_y),


em que W é a matriz de pesos e b é o viés, e o operador ⊙ representa a multiplicação elemento a elemento; o estado de saída y_t gerado no tempo t é determinado pela informação de entrada x_t e pelo estado oculto anterior h_t-1 no tempo t-1. 

A Equação (<ref>) mostra como o estado oculto atual h_t é calculado usando uma função de ativação (A), pesos (W_hh) e viés (b_h) correspondentes. Esse modelo de unidade de Redes Neurais Recorrentes é fundamental para compreender a propagação de informações ao longo do tempo em uma Rede Neural Recorrente. A estrutura interna da unidade RNN é exibida na Figura <ref>.





 §.§ Unidade LSTM


No artigo Speech Recognition with Deep Recurrent Neural Networks Graves et al. (2013) <cit.>, os autores enfatizam que a arquitetura das Redes de Memória de Longo e Curto Prazo (Long Short-Term Memory, LSTM) é particularmente eficaz para tarefas que requerem o processamento de sequências temporais longas. As LSTMs se destacam pela capacidade de superar as limitações das Redes Neurais Recorrentes (RNNs) tradicionais, permitindo que informações relevantes sejam retidas por períodos mais prolongados. Isso é primordial para lidar com dependências temporais extensas. Enquanto as RNNs funcionam em sequências temporais mantendo uma memória interna, as LSTMs aprimoram essa capacidade ao utilizar gates portões para controlar o fluxo de informações. Esses portões facilitam uma retenção mais eficaz das informações a longo prazo, comparado às RNNs tradicionais, que enfrentam dificuldades em manter dependências temporais mais longas. Dessa forma, as LSTMs demonstram uma capacidade superior de generalização e previsão quando confrontadas com dados de entrada que se estendem por longos períodos de tempo.


A arquitetura Long Short-Term Memory (LSTM), conforme descrito por Greff et al. (2017) <cit.>, é projetada para lidar com as limitações das Redes Neurais Recorrentes tradicionais em tarefas de aprendizado de sequências temporais. O bloco LSTM é composto por três componentes principais, como ilustrado na Figura <ref>:


    
  * Portão de Entrada: Este portão regula a quantidade de nova informação que será incorporada na célula de memória. Ele determina quais informações devem ser adicionadas ao estado da célula.
    
  * Portão de Esquecimento: Este portão decide quais informações presentes na célula de memória devem ser descartadas. Ele ajuda a manter a relevância dos dados ao longo do tempo, removendo informações que não são mais necessárias.
    
  * Portão de Saída: Este portão controla a quantidade de informação da célula de memória que será utilizada na saída do bloco LSTM. Ele decide quais informações da célula de memória serão passadas para a próxima etapa na sequência.


Esses portões são responsáveis por regular o fluxo de informações dentro do bloco LSTM, permitindo a retenção e atualização eficaz de dados relevantes por longos períodos. A estrutura interna do LSTM permite que o modelo capture dependências temporais extensas e mantenha a precisão em tarefas que envolvem sequências longas e complexas.

Seja 𝐱_t o vetor de entrada no tempo t, N o número de unidades LSTM na camada e M o número de entradas (aqui N × M representa a dimensão da matriz de pesos). Então, obtemos os seguintes pesos para uma camada LSTM:



  * Pesos de entrada: 𝐖_z, 𝐖_i, 𝐖_f, 𝐖_o ∈ℝ^N× M;

  * Pesos recorrentes: 𝐑_z, 𝐑_i, 𝐑_f, 𝐑_o ∈ℝ^N× N;

  * Pesos de viés: 𝐛_z, 𝐛_i, 𝐛_f, 𝐛_o ∈ℝ^N.


Então, de acordo com Greff et al. (2017) <cit.>, as fórmulas vetoriais para uma passagem direta em uma camada LSTM podem ser escritas como:


    𝐳̅_t = 𝐖_z 𝐱_t + 𝐑_z 𝐲_t-1 + 𝐛_z,


    𝐳_t = g(𝐳̅_t)   entrada do bloco;


    𝐢̅_t = 𝐖_i 𝐱_t + 𝐑_i 𝐲_t-1 + 𝐛_i,


    𝐢_t = σ(𝐢̅_t)   porta de entrada;


    𝐟̅_t = 𝐖_f 𝐱_t + 𝐑_f 𝐲_t-1 + 𝐛_f,


    𝐟_t = σ(𝐟̅_t)   porta de esquecimento;


    𝐜_t = 𝐳_t ⊙𝐢_t + 𝐜_t-1⊙𝐟_t   célula;


    𝐨̅_t = 𝐖_o 𝐱_t + 𝐑_o 𝐲_t-1 + 𝐛_o,


    𝐨_t = σ(𝐨̅_t)   porta de saída;


    𝐲_t = h(𝐜_t) ⊙𝐨_t   saída do bloco.


Em que σ, g e h são funções de ativação não lineares ponto a ponto. A função sigmoide (σ(x) = 1/1+e^-x) é usada como função de ativação da porta, e a tangente hiperbólica (g(x) = h(x) = tanh(x)) é comumente usada como função de ativação de entrada e saída do bloco. A multiplicação ponto a ponto de dois vetores é denotada por ⊙.





 §.§ Unidade Recorrente com Portas GRU


As Unidades Recorrentes com Portas Gated Recurrent Units (GRU), introduzidas por Chung et al. (2014) <cit.>, são uma variação das LSTM. Enquanto as LSTM possuem três portões e uma célula de memória, as GRU simplificam essa estrutura ao fundir os portões de entrada e esquecimento em um único portão de atualização. Essa simplificação tem como objetivo tornar o treinamento mais eficiente e reduzir o número de parâmetros, mantendo um desempenho comparável às LSTM.

As fórmulas vetoriais para uma passagem direta em uma camada GRU foram encontradas no artigo de Cheng et al. (2024) <cit.> de uma forma mais simplista que são:


    𝐳̅_t = 𝐖_z 𝐱_t + 𝐑_z 𝐲_t-1 + 𝐛_z,


    𝐳_t = σ(𝐳̅_t)   portão de atualização;


    𝐫̅_t = 𝐖_r 𝐱_t + 𝐑_r 𝐲_t-1 + 𝐛_r,


    𝐫_t = σ(𝐫̅_t)   portão de reset;


    𝐡̃_t = 𝐖_h 𝐱_t + 𝐑_h (𝐫_t ⊙𝐲_t-1) + 𝐛_h,


    𝐡_t = 𝐳_t ⊙𝐲_t-1 + (1 - 𝐳_t) ⊙𝐡̃_t   estado oculto,


em que W são matrizes de pesos; b são vetores de viés; σ é a função de ativação sigmoide e o ⊙ denota a multiplicação ponto a ponto.

A figura <ref> mostra um esquema das Unidades Recorrentes com Portas (GRU) e a arquitetura típica dessa rede.





 §.§ Funções de Ativação



As funções de ativação são componentes fundamentais em redes neurais, responsáveis por introduzir não-linearidades nas saídas das camadas, o que permite às redes neurais aprender e modelar relações complexas nos dados. Essas funções não possuem parâmetros ajustáveis e são fixas, usadas especificamente para introduzir não-linearidade nas redes neurais conforme Goodfellow, Bengio e Courville (2016) <cit.>. A Figura <ref> ilustra a transformação linear e a ativação linear em uma camada densa final de uma rede neural.






 §.§ Entendendo o Funcionamento das Camadas Densas em Redes Neurais Recorrentes


Os neurônios em redes neurais recorrentes (RNNs) são unidades fundamentais que processam informações ao longo do tempo. Eles são responsáveis por realizar operações matemáticas nos dados de entrada e nos estados ocultos anteriores (previsão do bloco anterior) para gerar saídas e atualizar seus próprios estados. Uma camada densa é uma camada comumente usada em redes neurais, em que cada neurônio na camada está totalmente conectado a todos os neurônios na camada anterior. Os cálculos realizados em uma camada densa envolvem multiplicação de matriz entre a entrada dos dados e os pesos (parâmetros) da camada, seguida por uma função de ativação. Aqui estão os cálculos para uma camada densa: Seja 𝐱 a matriz de entrada de dimensão (m × n), em que m é o número de amostras e n é o número de características. Seja 𝐖 a matriz de pesos da camada densa de dimensão (n × p), com p sendo o número de neurônios na camada densa. Além disso, seja 𝐛 o vetor de viés da camada densa de dimensão (p × n). 
A saída da camada densa 𝐙 é calculada da seguinte forma:

    𝐙 = 𝐱𝐖 + 𝐛,

aqui, 𝐱𝐖 representa a multiplicação de matriz entre a entrada e os pesos da camada densa, e 𝐛 é o viés adicionado para produzir a saída final. 
É importante notar que após essa operação, geralmente é aplicada uma função de ativação aos elementos de 𝐙 para introduzir não linearidade na camada densa conforme Goodfellow, Bengio e Courville (2016) <cit.>.




 §.§ Algoritmo de Otimização Adam: Uma Visão Geral



O algoritmo Adam, desenvolvido por Kingma e Ba (2014) <cit.>, utiliza médias móveis exponenciais dos gradientes para atualizar os parâmetros, acelerando a convergência e evitando que o modelo fique preso em mínimos locais. O Adam incorpora estimativas de primeira e segunda ordens com correções de viés para melhorar a eficácia da otimização.
As configurações padrão para os problemas de aprendizado de máquina testados são α = 0.001, β_1 = 0.9, β_2 = 0.999 e ϵ = 10^-8. Todas as operações em vetores são realizadas elemento a elemento (matricialmente). Com β_t^1 e β_t^2 denotados como β_1 e β_2 elevados à potência t.




  §.§.§ Descrição dos Parâmetros


De acordo com Kingma e Ba (2014) <cit.>, o algoritmo Adam é considerado uma técnica avançadda de otimização que calcula taxas de aprendizado adaptativas para cada parâmetro. Ele combina características dos métodos Adagrad e RMSprop, mantendo médias móveis exponenciais dos gradientes e dos gradientes ao quadrado para ajustar as taxas de aprendizado.

“m_t e v_t são estimativas do primeiro momento (a média) e do segundo momento (a variância não centralizada) dos gradientes, respectivamente, daí o nome do método. Como m_t e v_t são inicializados como vetores de zeros, os autores do Adam observam que eles são tendenciosos para zero, especialmente durante os passos iniciais, e especialmente quando as taxas de decaimento são pequenas [...]," Ruder (2016) <cit.>.
Eles contrabalançam esses vieses calculando estimativas corrigidas de viés para o primeiro e segundo momentos:


    m_t = β_1 m_t-1 + (1 - β_1) g_t



    v_t = β_2 v_t-1 + (1 - β_2) g_t^2


Aqui, m_t representa a estimativa da média dos gradientes e v_t a estimativa da variância não centralizada. Para corrigir o viés de inicialização dessas estimativas, são calculadas as correções de viés:


    m̂_t = m_t/1 - β_1^t



    v̂_t = v_t/1 - β_2^t


Com essas estimativas corrigidas, a atualização dos parâmetros é dada por:


    θ_t+1 = θ_t - η/√(v̂_t) + ϵm̂_t


Reiterando o que foi afirmado no início desta seção, os valores padrão sugeridos para os hiperparâmetros são β_1 = 0.9, β_2 = 0.999, e ϵ = 10^-8. O otimizador Adam é conhecido por sua eficácia em uma ampla gama de problemas de aprendizado de máquina, proporcionando uma atualização eficiente e eficaz dos parâmetros durante o treinamento de redes neurais.



§ METODOLOGIA



Nesta seção, descrevemos o procedimento adotado para modelar e prever séries temporais utilizando redes neurais recorrentes. Utilizamos dados de contagem dos focos ativos detectados pelo satélite AQUA_M-T no bioma da Amazônia, abrangendo uma série histórica registrada desde junho de 1998 até 31 de agosto de 2024. Esses dados estão disponíveis no site do INPE (2024) <cit.>. O processo metodológico para modelar e prever essa série temporal segue práticas estabelecidas na literatura de séries temporais e aprendizado de máquina. Inicialmente, dividimos os dados em conjuntos de treino e teste para avaliar a performance do modelo, aplicando técnicas como validação cruzada para assegurar a robustez do modelo, conforme descrito por Kingma e Ba (2014) <cit.>. Após garantir que o modelo apresentava uma boa capacidade de generalização, optamos por treinar o modelo final utilizando 100% dos dados disponíveis. Essa abordagem visa maximizar a precisão das previsões, especialmente em cenários de passos à frente da última observação treinada, como indicado por Géron (2017) <cit.>. No contexto de deep learning, onde ajustes finos (fine-tuning) são comuns, o uso do conjunto completo de dados após validação é uma prática justificada para aprimorar o desempenho, conforme discutido por Goodfellow, Bengio e Courville (2016) <cit.>. Dessa forma, utilizamos o modelo treinado com 100% dos dados para realizar previsões de n passos à frente, garantindo que as previsões fossem baseadas na maior quantidade de informações possível.





 §.§ Preparação dos Dados


Na preparação dos dados, adotamos uma abordagem de treino, validação e teste adaptada para séries temporais contínuas. Para garantir a eficácia da avaliação do modelo, seguimos o processo de divisão dos dados de frente para trás. Primeiramente, removemos os últimos 12 lags (meses) da série para o conjunto de teste, considerando a série completa menos esses 12 lags. Em seguida, removemos 24 lags adicionais para o conjunto de validação, o que deixou a série completa menos 36 lags para o treinamento. Embora tenhamos seguido a abordagem de divisão de dados, utilizamos validação cruzada com duas sementes para avaliar a performance do modelo. Conforme descrito por Géron (2017) <cit.>, a validação cruzada é essencial para garantir que o modelo generalize bem para novos dados. Foram utilizadas duas sementes distintas para criar dois modelos diferentes, o que permitiu avaliar a robustez e a estabilidade do modelo. A divisão final dos dados foi a seguinte:

  
  * Conjunto de Treino: Junho de 1998 até agosto de 2021;
  
  * Conjunto de Validação: Setembro de 2021 até agosto de 2023;
  
  * Conjunto de Teste: Setembro de 2023 até agosto de 2024.

Essa abordagem, combinada com o uso de sementes fixas, garantiu a replicabilidade dos resultados e confirmou a consistência das generalizações para os conjuntos de treino, validação e teste.




 §.§ Configuração dos Modelos

Foi utilizado a combinação dos modelos de redes neurais recorrentes LSTM+GRU essa arquitetura consiste em:


  
  * Camada de Entrada: Recebe os dados da série temporal em janelas fixadas previamente, que na nossa arquitetura escolhemos tamanho de 12 para que a partir de 12 meses se tenha a primeira previsão no 13° ponto.
  
  * Camada Recorrente: Para o modelo LSTM+GRU, foi configurada uma camada LSTM seguida por uma camada GRU, ambas com 256 neurônios.
  
  * Camada Densa: Uma camada densa com 256 neurônios e função de ativação ReLU.
  
  * Camada de Saída: Uma camada densa com 1 neurônio e ativação linear, fornecendo a previsão final para cada janela de entrada.


 Veja a figura <ref> que melhor ilustra essa configuração.



A Figura <ref> ilustra uma arquitetura de rede neural que inclui as seguintes camadas:


  * Camada LSTM com 256 neurônios;

  * Camada densa com 256 neurônios;

  * Camada GRU com 256 neurônios;

  * Camada densa com 256 neurônios;

  * Camada densa de saída com 1 neurônio.

A figura <ref> ilustra a transmissão de informações entre as camadas até a saída final e não aborda o funcionamento de dropout ou funções de ativação. A explicação da arquitetura é a seguinte: 

Cada entrada X_t no tempo t é inicialmente processada pela camada LSTM composta por 256 neurônios. A saída dessa camada LSTM, com dimensão (1 × 256) — considerando o nosso trabalho com uma única variável no tempo (focos ativos), resulta em (1 × 256) — é então passada para uma camada densa com 256 neurônios, resultando novamente em uma saída de dimensão (1 × 256). Esta saída é usada como entrada para a camada GRU, que também tem 256 neurônios. A saída da camada GRU é processada por outra camada densa com 256 neurônios, mantendo a dimensão (1 × 256). Finalmente, essa saída é alimentada na camada densa de saída com 1 neurônio, resultando em uma previsão única para o próximo ponto da série temporal. Para ilustrar o funcionamento, considere um bloco de dados com 12 valores, onde a entrada X_t é o vetor de valores de 1 a 12. A previsão é feita para o 13º valor. O processo é repetido ao mover a janela de entrada, de modo que o segundo bloco será de 2 a 13, e a previsão será para o ponto 14, e assim por diante até o final da série. Essa abordagem permite calcular métricas de erro, como a diferença entre as previsões e os valores reais da série. O erro médio é então utilizado para avaliar a convergência do modelo a cada época de treinamento, onde uma época é definida como o ciclo completo de treinamento através de todos os pontos da série temporal. O otimizador Adam foi utilizado para ajustar os parâmetros do modelo, com a taxa de aprendizado fixada em 0,001 para o modelo combinado de LSTM+GRU.




 §.§ Treinamento e Avaliação dos Modelos


Os modelos foram treinados utilizando a linguagem de programação Python Software Foundation <cit.>, com as bibliotecas Scikit-learn <cit.> e Keras <cit.>, 2015. Cada modelo foi treinado por 1000 épocas, e as métricas Erro Absoluto Médio (MAE) e Raiz do Erro Quadrático Médio (RMSE) foram utilizadas para avaliar o desempenho.
Para cada época, o modelo gerou previsões utilizando uma técnica conhecida como janela/bloco deslizante (ou sliding window). Este procedimento funciona da seguinte forma:

1. Janela de Entrada: Definimos uma janela de 12 lags, ou seja, o modelo usa os dados dos 12 períodos anteriores para prever o valor do próximo período. Por exemplo, se temos dados mensais e a janela é de 12 lags, o modelo usa os dados dos últimos 12 meses para prever o valor do mês seguinte.
2. Deslizamento da Janela: Após gerar uma previsão para o próximo período (o 13º), a janela é deslocada uma posição para frente. Isso significa que a previsão é feita usando os dados dos períodos de 2 a 13 para prever o 14º período. Esse processo é repetido até que todas as previsões sejam feitas para o restante da série temporal.
3. Avaliação das Previsões: As previsões geradas para cada época são comparadas com os dados reais da série temporal. Para avaliar a precisão das previsões, utilizamos as métricas MAE e RMSE. O MAE calcula a média dos erros absolutos das previsões, enquanto o RMSE calcula a raiz quadrada da média dos erros quadráticos. Os parâmetros iniciais dos modelos foram definidos utilizando uma distribuição de probabilidade específica, a distribuição normal de He (He normal). Essa distribuição é definida com média zero e desvio padrão √(2 / n), onde n é o número de unidades na camada de entrada. A escolha dessa distribuição ajuda a garantir uma inicialização adequada dos pesos, facilitando o treinamento eficaz de redes neurais profundas, conforme os Keras Developers (2024) <cit.>.

Os dados foram divididos da seguinte forma:

  
  * Treino: Junho de 1998 até agosto de 2021;
  
  * Validação: Setembro de 2021 até agosto de 2023;
  
  * Teste: Setembro de 2023 até agosto de 2024.

Utilizamos duas sementes distintas para garantir a replicabilidade dos resultados e a estabilidade das métricas de desempenho. O modelo que apresentou o menor erro médio nas métricas MAE e RMSE durante o treinamento foi selecionado como o modelo final.



 §.§ Como as Previsões são Calculadas?



As previsões foram realizadas após o treinamento completo dos dados de focos ativos registrados na região da Amazônia, Brasil, disponíveis no site do INPE (2024)<cit.>, abrangendo o período de junho de 1998 até agosto de 2024. Após o treinamento, utilizamos a função predict do pacote Keras <cit.>, para gerar as previsões. O processo envolveu o uso do modelo treinado, que já contém todos os parâmetros otimizados e ajustados. O modelo, armazenado e salvo como o melhor obtido durante o treinamento, é utilizado com a função predict, que é chamada como modelo.predict(). Este modelo foi treinado com uma variável e um bloco de tamanho 12. A função predict segue a sequência dos dados, incorporando as previsões anteriores para gerar novos resultados, adicionando esses resultados à série temporal e prevendo o próximo ponto. Para detalhar o processo: a função predict utiliza as últimas 12 observações da série temporal (o tamanho da janela deslizante), que vão de setembro de 2023 a agosto de 2024, para prever o 13º ponto, que corresponde a setembro de 2024. A abordagem de "janela deslizante" é usada, permitindo que após a primeira previsão para setembro de 2024, o modelo integre essa previsão e gere uma nova previsão para o próximo mês. No segundo passo, por exemplo, ele utiliza as observações de outubro de 2023 a setembro de 2024, agora incluindo a previsão anterior (de setembro), para prever outubro de 2024 (um dado que ainda não existe na série temporal). No terceiro passo, o modelo usa os dados de novembro de 2023 a outubro de 2024, incluindo as previsões obtidas de setembro e outubro à série temporal, e assim por diante. Esse processo continua até que todas as previsões dos 12 meses sejam realizadas. Essa abordagem assegura que cada previsão mensal se baseie nos dados históricos mais recentes, juntamente com as previsões feitas nos passos anteriores, resultando em uma modelagem robusta para séries temporais de dados de contagem, conforme descrito na literatura e referenciado nesta seção. A ilustração detalhada desse processo está apresentada na Figura <ref>.



§ RESULTADOS DA ANÁLISE ESTATÍSTICA

Nesta seção, apresentamos uma análise descritiva da série temporal de focos ativos na Amazônia, com ênfase na média, desvio padrão, variância e nos valores máximos e mínimos registrados ao longo dos anos, veja a Tabela <ref>.



A análise foi realizada cuidadosamente, aplicando técnicas de análise de dados para identificar os pontos mais extremos de cada ano. Nosso objetivo é oferecer uma visão clara e direta desses valores, evitando a complexidade que seria introduzida por uma tabela detalhada. Ao invés disso, optamos por uma representação gráfica que facilita a visualização e compreensão dessas estatísticas importantes.

A série temporal de junho de 1998 até agosto de 2024 apresenta dados mensais do total de focos ativos registrados pelo satélite de referência a cada mês. Como vemos na figura <ref>, os meses de agosto e setembro foram consistentemente registrados como aqueles com o maior número de focos ativos durante esse período de mais de 20 anos.





A figura <ref> apresenta os pontos extremos de focos ativos de cada ano, enfatizando a sazonalidade existente na série temporal da Amazônia. Desde 1998 até 2024, observa-se que os maiores índices de focos ativos ocorrem consistentemente nos meses de agosto e setembro, enquanto os menores índices são registrados no primeiro semestre, principalmente nos meses de janeiro, fevereiro, maio e abril.

Para explorar gráficos detalhados e obter uma visualização interativa da série histórica de focos ativos na Amazônia, você pode escanear o QR Code abaixo. Este QR Code direcionará para um aplicativo desenvolvido com o software R Core Team (2024) <cit.> e o Shiny <cit.>. A aplicação permite uma análise dinâmica e interativa dos dados, possibilitando a visualização detalhada de qualquer mês específico de janeiro a dezembro, bem como a análise dos pontos máximos e mínimos registrados ao longo da série histórica.






§ RESULTADOS DA ANÁLISE DE TREINAMENTO DO MODELO DE APRENDIZADO DE MÁQUINA

Nesta seção, apresentamos e discutimos os resultados obtidos para os modelos de redes neurais recorrentes avaliados, especificamente a abordagem mista que combina LSTM e GRU. Vamos explorar o desempenho do modelo, utilizando métricas de avaliação, como Raiz do Erro Quadrático Médio (RMSE) e Erro Absoluto Médio (MAE), tanto para os conjuntos de treino quanto para os de teste. Cada modelo foi avaliado isoladamente, e os resultados obtidos serão apresentados em tabelas detalhadas. Utilizaremos essas métricas para comparar o desempenho dos modelos e determinar qual deles apresenta os menores valores de erro. O modelo que demonstrar melhor desempenho, com os menores valores de erro, será selecionado como o mais eficaz para a tarefa de previsão em questão. As implicações dos resultados serão discutidas, incluindo a análise da variação das métricas com diferentes sementes e configurações. Esta análise fornecerá uma visão abrangente da eficácia de cada modelo, permitindo a escolha do modelo mais adequado para realizar as previsões necessárias com base nos critérios estabelecidos.



§ RESULTADOS DO MODELO LSTM + GRU


A Tabela <ref> e a Figura <ref> relacionadas ilustram o desempenho do modelo LSTM + GRU para os conjuntos de treino e teste, utilizando diferentes sementes de inicialização. As métricas de Erro Quadrático Médio (RMSE) e Erro Absoluto Médio (MAE) são fundamentais para avaliar a precisão das previsões do modelo.







O Erro Absoluto Médio (MAE) mede a média das diferenças absolutas entre os valores reais e as previsões, e é definido pela seguinte fórmula:


    MAE = 1/n∑_i=1^n| y_i - ŷ_i |,


em que n é o número total de meses, y_i são os valores reais de cada mês, e ŷ_i são as previsões do modelo para cada mês. Nesse contexto, conseguimos obter para cada época todas as diferenças entre os valores mensais reais e o que o modelo LSTM+GRU prevê para cada um desses meses. Depois, extraímos a média dessas diferenças, que nada mais é do que a soma dessas diferenças absolutas dividida pelo total de meses (n). Já o Erro Quadrático Médio (RMSE) leva em consideração o quadrado dessas diferenças, penalizando erros maiores de forma mais severa, e é dado por:


    RMSE = √(1/n∑_i=1^n( y_i - ŷ_i )^2),


em que n é o número total de meses, y_i são os valores reais de cada mês, e ŷ_i são as previsões do modelo para cada mês. O RMSE calcula a raiz quadrada da média dos quadrados das diferenças entre os valores reais e as previsões. Isso penaliza erros maiores de forma mais intensa, fornecendo uma medida que reflete a magnitude dos erros em um nível mais severo do que o MAE.
Essas métricas são utilizadas para selecionar o melhor modelo entre os 1000 treinamentos realizados. Em cada época, a diferença entre os valores reais e as previsões é calculada, e o modelo que apresenta a menor diferença média é escolhido como o melhor. Observa-se que, embora haja uma diferença significativa nas previsões, especialmente no RMSE, o MAE nos fornece uma diferença média de pouco mais de 3000 focos ativos, em comparação a uma média histórica de 9000 focos. Isso sugere que, apesar de não ser extremamente preciso, o modelo ainda consegue capturar a tendência geral, com um erro que representa aproximadamente um terço da média histórica.

A Figura <ref> ilustra a validação cruzada realizada com duas sementes distintas, 2024 e 2025, comparando dois conjuntos de treino e teste. Esta abordagem é fundamental para avaliar a capacidade de generalização do modelo em séries temporais, onde a sequência dos dados é extremamente importante. Ao utilizar sementes diferentes para os conjuntos de treino, teste e validação, garantimos que a validação cruzada considere variações na inicialização do modelo e na estimação dos parâmetros, permitindo uma avaliação mais robusta da generalização. Em séries temporais, a fixação das sementes ajuda a assegurar que a performance do modelo é consistente e não apenas um reflexo de uma configuração específica. Os resultados obtidos para ambas as sementes são bastante similares, indicando que o modelo generaliza bem e segue de forma confiável a tendência geral dos focos ativos na Amazônia. Essa similaridade sugere que o modelo tem uma boa capacidade de generalização e que, ao treinar com os dados completos, ele poderá fornecer previsões na direção correta para identificar períodos com maiores e menores tendências de focos ativos.





A Figura <ref> mostra a comparação da perda (Loss) dos conjuntos de treinamento e validação para duas sementes diferentes: 2024 e 2025. A perda (Loss) é uma métrica que representa o erro médio entre os valores reais e as previsões do modelo em cada época durante o treinamento. A fórmula da perda (Loss) é diretamente relacionada às métricas de erro absoluto médio (MAE) e raiz do erro quadrático médio (RMSE), discutidas nas Equações <ref> e <ref>. Esses gráficos são fundamentais para a análise do desempenho do modelo. A perda (Loss) demonstra como os parâmetros do modelo são ajustados ao longo do tempo para minimizar o erro. O ponto onde a perda é minimizada indica a melhor configuração dos parâmetros do modelo para a previsão. A análise detalhada da perda nos conjuntos de treinamento e validação, conforme descrito na Seção <ref>, revela a eficácia do ajuste do modelo. Observando a perda ao longo das 1000 épocas, é possível avaliar se o modelo está generalizando bem para novos dados, o que é essencial para prever a tendência dos dados. Portanto, esses gráficos ilustram a evolução da perda e fornecem detalhes sobre a capacidade da convergência dos parâmetros a cada modelo de se ajustar aos dados, refletindo diretamente na qualidade das previsões e na efetividade do treinamento realizado.



 §.§ Treinamento para os dados completos




A Figura <ref> apresenta o treinamento do modelo utilizando o conjunto completo de dados, abrangendo o período de junho de 1998 até agosto de 2024. Esta abordagem permite avaliar a performance do modelo em toda a série histórica, seguindo as melhores práticas para séries temporais em machine learning, onde é crucial treinar o modelo com todos os dados disponíveis para realizar previsões futuras. Os gráficos <ref> e <ref> mostram a comparação entre os dados reais e as previsões para o conjunto de treino, utilizando as sementes 2024 e 2025, respectivamente. Estes gráficos ilustram a capacidade do modelo em capturar a tendência geral dos dados ao longo do tempo. Os gráficos <ref> e <ref> apresentam as métricas de desempenho do modelo para as sementes 2024 e 2025, com a raiz do erro quadrático médio (RMSE) e o erro absoluto médio (MAE), respectivamente. Essas métricas são fundamentais para avaliar a precisão das previsões do modelo, com o RMSE fornecendo uma medida penalizada dos erros maiores e o MAE oferecendo uma visão geral das diferenças médias. Finalmente, os gráficos <ref> e <ref> ilustram a evolução da perda (Loss) durante o treinamento para as sementes 2024 e 2025. A perda (Loss) é uma métrica importante que representa o erro médio entre os valores reais e as previsões do modelo em cada época de treinamento. Esses gráficos mostram como a perda varia ao longo das épocas, refletindo o ajuste contínuo dos parâmetros do modelo para minimizar o erro. A combinação dessas análises permite uma visão abrangente do desempenho do modelo treinado com o conjunto completo de dados, confirmando a eficácia da abordagem adotada e a capacidade do modelo de generalizar bem para previsões futuras.



 §.§ Previsão






Então, a partir do modelo treinado e identificando o best model — o ponto com o menor valor de métrica, como ilustrado nas Figuras <ref> e <ref> — podemos observar que esse ponto representa a configuração de parâmetros que resultou nos menores valores de erro absoluto médio (MAE) e erro quadrático médio (RMSE). Esse modelo otimizado foi utilizado para realizar previsões de 12 meses à frente. A Figura <ref> mostra a série temporal desde junho de 1999 até agosto de 2024, e as previsões geradas se estendem de setembro de 2024 até agosto de 2025. Para detalhes adicionais sobre o processo de previsão e a implementação, consulte a seção <ref> desse material.



§ CONCLUSÃO


Este estudo avaliou o desempenho de redes neurais recorrentes, combinando as arquiteturas Long Short-Term Memory (LSTM) e Gated Recurrent Unit (GRU), na previsão de focos ativos detectados pelo satélite AQUA_M-T na Amazônia. A análise mostrou que essa combinação é eficaz na captura de padrões temporais complexos, com a escolha final do modelo baseada no Erro Absoluto Médio (MAE). As previsões geradas pelos modelos combinados demonstraram um alto desempenho, especialmente em séries temporais com forte sazonalidade, como é o caso da série histórica dos focos ativos na Amazônia. Este trabalho também destacou a importância da configuração meticulosa dos modelos e do treinamento com validação cruzada para garantir boas práticas de modelagem. Além disso, simplificou a compreensão das redes neurais e do processo de aprendizado, tornando-o acessível a alunos e pesquisadores sem experiência prévia no tema. A análise descritiva identificou os meses de máxima e mínima incidência de focos ativos de 1998 a 2024, proporcionando percepções estratégicas desses eventos. Por fim, o estudo reforça que, ao modelar dados univariados de contagem, a utilização de técnicas adequadas e referências confiáveis permite estruturar uma base de dados com grande assimetria e treinar modelos que convergem para previsões que seguem a tendência geral da série temporal, independentemente da escala dos dados.



[title=Referências] 

