<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article">
 <front>
  <journal-meta>
   <journal-id journal-id-type="publisher-id">
    acs
   </journal-id>
   <journal-title-group>
    <journal-title>
     Atmospheric and Climate Sciences
    </journal-title>
   </journal-title-group>
   <issn pub-type="epub">
    2160-0414
   </issn>
   <issn publication-format="print">
    2160-0422
   </issn>
   <publisher>
    <publisher-name>
     Scientific Research Publishing
    </publisher-name>
   </publisher>
  </journal-meta>
  <article-meta>
   <article-id pub-id-type="doi">
    10.4236/acs.2024.144027
   </article-id>
   <article-id pub-id-type="publisher-id">
    acs-136581
   </article-id>
   <article-categories>
    <subj-group subj-group-type="heading">
     <subject>
      Articles
     </subject>
    </subj-group>
    <subj-group subj-group-type="Discipline-v2">
     <subject>
      Earth 
     </subject>
     <subject>
       Environmental Sciences
     </subject>
    </subj-group>
   </article-categories>
   <title-group>
    Wavelet Multiview-Based Hybrid Deep Learning Model for Forecasting El Niño-Southern Oscillation Cycles
   </title-group>
   <contrib-group>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Winston
      </surname>
      <given-names>
       Zhou
      </given-names>
     </name>
    </contrib>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Xiaodi
      </surname>
      <given-names>
       Wang
      </given-names>
     </name>
    </contrib>
   </contrib-group> 
   <aff id="affnull">
    <addr-line>
     aThe Mathematics Department, Western Connecticut State University, Danbury, USA
    </addr-line> 
   </aff> 
   <pub-date pub-type="epub">
    <day>
     30
    </day> 
    <month>
     08
    </month>
    <year>
     2024
    </year>
   </pub-date> 
   <volume>
    14
   </volume> 
   <issue>
    04
   </issue>
   <fpage>
    450
   </fpage>
   <lpage>
    473
   </lpage>
   <history>
    <date date-type="received">
     <day>
      9,
     </day>
     <month>
      September
     </month>
     <year>
      2024
     </year>
    </date>
    <date date-type="published">
     <day>
      12,
     </day>
     <month>
      September
     </month>
     <year>
      2024
     </year> 
    </date> 
    <date date-type="accepted">
     <day>
      12,
     </day>
     <month>
      October
     </month>
     <year>
      2024
     </year> 
    </date>
   </history>
   <permissions>
    <copyright-statement>
     © Copyright 2014 by authors and Scientific Research Publishing Inc. 
    </copyright-statement>
    <copyright-year>
     2014
    </copyright-year>
    <license>
     <license-p>
      This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
     </license-p>
    </license>
   </permissions>
   <abstract>
    The El Niño-Southern Oscillation (ENSO) is a significant climate phenomenon with far-reaching impacts on global weather patterns, ecosystems, and economies. This study aims to enhance ENSO forecasting with the Extended Reconstruction Sea Surface Temperature v5 (ERSSTv5) climate model. The M-band discrete wavelet transforms (DWT) are utilized to capture multi-scale temporal and spatial features effectively. Long-short term memory (LSTM) autoencoders are also used to capture significant spatial and temporal patterns in sea surface temperature (SST) anomaly data. Deep learning techniques such as the convolutional neural networks (CNN) are used with non-image and image time series data. We also employ parallel computing in a various support vector regression (SVR) approximators to enhance accuracy. Preliminary results indicate that this hybrid model effectively identifies key precursors and patterns associated with El Niño events, surpassing traditional forecasting methods. Results of the hybrid model produce a correlation of 0.93 in 4-month lagged forecasting of the Oceanic Niño Index (ONI)—indicative of high success rate of the model. Future work will focus on evaluating the model’s performance using additional reanalysis datasets and other methods of deep learning to further refine its robustness and applicability. We propose wavelet-based deep learning models which have potential to shine a light on achieving United Nations’ 2030 Agenda for Sustainable Development’s goal 13: “Climate Action”, as an innovation with potential in improving time series image forecasting in all fields.
   </abstract>
   <kwd-group> 
    <kwd>
     El Niño-Southern Oscillation (ENSO)
    </kwd> 
    <kwd>
      Autoencoders
    </kwd> 
    <kwd>
      Discrete Wavelet Transform (DWT)
    </kwd> 
    <kwd>
      Convolutional Neural Network (CNN)
    </kwd> 
    <kwd>
      Support Vector Regression (SVR)
    </kwd>
   </kwd-group>
  </article-meta>
 </front>
 <body>
  <sec id="s1">
   <title>1. Introduction</title>
   <sec id="s1_1">
    <title>1.1. Background</title>
    <p>The El Niño-Southern Oscillation (ENSO) is a critical climate phenomenon that drives significant variability in global weather patterns, primarily through its influence on sea surface temperatures (SST) and atmospheric pressure across the Tropical Pacific Ocean.</p>
    <p>ENSO cycles consist of three different phases: El Niño, La Niña, and the neutral phase, each associated with distinct meteorological effects (<xref ref-type="bibr" rid="scirp.136581-1">
      [1]
     </xref>). El Niño events are mainly associated with a strong positive SST anomaly in the equatorial Pacific, being the reversal of Walker Circulation—the eastward movement pathways seen in normal conditions. As the Pacific Equatorial Counter Current strengthens, warmed water piles in the East Pacific. Rising parcels of warm, moist, less dense air are formed, resulting in a relative low-pressure system. Accumulation of moisture creates heavy cloud cover—leading to increased rainfall and flooding off the West coast of South America in regions such as Peru and Ecuador. Across the Pacific, severe droughts can occur in Australia, Southeast Asia, and Southern Africa, areas where there is less warm water to supplement rainfall (<xref ref-type="bibr" rid="scirp.136581-2">
      [2]
     </xref> <xref ref-type="bibr" rid="scirp.136581-3">
      [3]
     </xref>). Conversely, La Niña, with cooler SST anomalies, strengthens Walker circulation, with intensified circulation eastwards—producing drier conditions in the eastern Pacific and increased rainfall in the western Pacific, often resulting in significant floods in countries like Indonesia and the Philippines (<xref ref-type="bibr" rid="scirp.136581-4">
      [4]
     </xref>).</p>
    <p>The United Nations 2023 Climate Change Conference (COP 28) includes a section for “Enhancing global efforts to strengthen resilience”. The Global Goal on Adaption (GGA) notes that preparation for changes in areas including water, food, health, ecosystems, infrastructure, poverty eradication and cultural heritage (<xref ref-type="bibr" rid="scirp.136581-5">
      [5]
     </xref>) are to be improved for the future in all countries. We believe that the techniques developed in this study may advance efforts in the GGA through greater accuracy of short-term ENSO prediction.</p>
    <p>The 1997-1998 El Niño event, one of the strongest recorded, is a particularly strong example of the widespread impacts of ENSO’s meteorological and oceanographic effects. The intense positive SST anomaly resulted in unusually high rainfall in coastal regions of South America, particularly in Peru and Ecuador, leading to catastrophic flooding. Simultaneously, the near reversal of atmospheric circulation patterns suppressed upwards convection and thus rainfall in the Western Pacific and Southeast Asia, leading to severe droughts in countries such as Indonesia and Malaysia. These drought conditions caused various other detrimental effects, such as widespread forest fires, which created a severe episode of transboundary haze pollution that greatly impacted public health and caused significant economic damage overall (<xref ref-type="bibr" rid="scirp.136581-6">
      [6]
     </xref>). Australia experienced some of its most severe droughts on record, with rainfall deficits exceeding a massive 50% below normal in some areas, resulting in a significant drop in agricultural output as well as exacerbated water scarcity in said regions (<xref ref-type="bibr" rid="scirp.136581-7">
      [7]
     </xref>). This single event has led to over 2000 deaths and has affected approximately 400,000 people (<xref ref-type="bibr" rid="scirp.136581-7">
      [7]
     </xref>), numbers that could be greatly lessened with proper forecasting and thus suitable amounts of time for preparation.</p>
    <p>The socio-economic ramifications of El Niño are similarly significant, impacting various fields such as agriculture, health, and infrastructure. The 1997-1998 El Niño event led to an estimated $33 billion in economic damages globally, with losses in agriculture and infrastructure being particularly severe (<xref ref-type="bibr" rid="scirp.136581-7">
      [7]
     </xref>). The increased frequency of vector-borne diseases, such as malaria and dengue fever, during El Niño events further exacerbates public health challenges, particularly in tropical regions (<xref ref-type="bibr" rid="scirp.136581-7">
      [7]
     </xref>). Such impacts highlight the need for accurate predictive models to help mitigate the adverse effects of strong ENSO events and support effective response strategies.</p>
    <p>During the 2010-2011 La Niña, Australia faced widespread flooding that led to $5.6 billion in damages and impacted over 200,000 people (<xref ref-type="bibr" rid="scirp.136581-7">
      [7]
     </xref>). La Niña can influence atmospheric chemistry by altering the distribution of trace gases, such as increased uptake of carbon dioxide by enhanced phytoplankton activity in the cooler waters (<xref ref-type="bibr" rid="scirp.136581-8">
      [8]
     </xref>). Enhanced phytoplankton growth can disrupt marine ecosystems by causing harmful algal blooms, which deplete oxygen and create dead zones detrimental to marine life, thus being a major threat to fisheries in zones of interest. Additionally, while lower atmospheric CO<sub>2</sub> may reduce short-term greenhouse gas effects, the disruption of oceanic carbon cycling can affect long-term climate stability and biodiversity, changes that require pre-emptive measures to account for in maintaining global economies and overall public health.</p>
    <p>Understanding and predicting the meteorological impacts of ENSO events, such as those observed during the 1997-1998 El Niño, are essential for mitigating their adverse effects on vulnerable populations and ecosystems. However, current forecasting methods still face challenges in accurately predicting the onset, duration, and intensity of ENSO events. This research seeks to address these challenges by integrating advanced climate models with deep learning techniques, enhancing the precision and reliability of ENSO forecasts.</p>
    <p>The objectives of this study were to enhance ENSO forecasting accuracy by integrating state of art mathematical tools and deep learning techniques to evaluate their effectiveness in processing climate data. Specifically, usage of 1) the M-band discrete wavelet transform (DWT) as a pre-processing step in facilitating multi-scale feature extraction is expected to significantly improve model accuracy. When combined with 2) parallel computing to incorporate all wavelet multi-view components in a regression, is likewise expected to improve quality of predictions. 3) Encoder-decoder autoencoders were applied to process and reconstruct image time series data, preserving spatial information, where differing performance in usage of multiple nodes and non-image components was to be found.</p>
   </sec>
   <sec id="s1_2">
    <title>1.2. Related Works</title>
    <p>In the context of ENSO prediction, two main types of models are commonly used: dynamic models and statistical models. Dynamic models are based on the physical equations governing the atmosphere and oceans, integrating variables such as SST, wind, and pressure to simulate future climate conditions. These models are detailed and simulate complex interactions within the climate system but require significant computational resources. In contrast, statistical models rely on historical data to identify patterns and correlations that can be used to predict future ENSO events. These models, including machine learning and neural networks, are often less resource-intensive and can see patterns in data that may not be capable of being modeled in dynamic models, though they may lack the detailed physical realism of dynamic models (<xref ref-type="bibr" rid="scirp.136581-9">
      [9]
     </xref>).</p>
    <p>Understanding and predicting the El Niño-Southern Oscillation (ENSO) has been the focus of many studies due to its significant impact on global climate patterns. A foundational work by Ham et al. defined ENSO’s characteristics and its variability, which provided a framework for subsequent research aimed at enhancing prediction accuracy (<xref ref-type="bibr" rid="scirp.136581-10">
      [10]
     </xref>). Historically, early studies predominantly relied on relatively simple statistical and less complex dynamical models, which, while useful, often struggled with capturing the complex, non-linear dynamics of ENSO (<xref ref-type="bibr" rid="scirp.136581-2">
      [2]
     </xref> <xref ref-type="bibr" rid="scirp.136581-11">
      [11]
     </xref>). These limitations have led to the integration of more sophisticated methodologies, such as machine learning and deep learning techniques.</p>
    <p>Building on the advancements in deep learning, LSTM networks and CNNs have become essential tools in forecasting and time series analysis, particularly in the field of climate science. LSTMs are well-suited for capturing long-term dependencies and trends in sequential data, which is crucial for understanding trends over a period of time in a phenomenon like ENSO cycles (<xref ref-type="bibr" rid="scirp.136581-10">
      [10]
     </xref>). CNNs excel at extracting spatial features from image data, making them effective in identifying patterns in a time-series gridded data such as SST anomalies across the globe. When combined, these architectures have been shown to significantly improve the accuracy of forecasts by leveraging both temporal and spatial information (<xref ref-type="bibr" rid="scirp.136581-11">
      [11]
     </xref>).</p>
    <p>Recent advances in deep learning have shown promise in improving short-term ENSO forecasting. Ham et al. (2019) introduced a deep learning framework that leveraged convolutional neural networks (CNNs) to capture spatial patterns and long short-term memory (LSTM) networks to model temporal dependencies in climate data <xref ref-type="bibr" rid="scirp.136581-10">
      [10]
     </xref>. This approach demonstrated enhanced predictive performance compared to traditional methods, highlighting the potential of deep learning in this field. Building on this, other researchers have explored hybrid models that combine multiple deep learning architectures to better capture the multiscale nature of climate data.</p>
    <p>In addition to neural network model architecture innovations, the use of other techniques has been explored in order to increase robustness of predictions. Given ENSO’s immensely chaotic nature, a meticulous pre-processing procedure is immensely beneficial to optimizing the model’s ability to capture the underlying patterns causing the fluctuations in ONI values without accidentally picking up trends that were the results of external factors.</p>
    <p>The discrete wavelet transform (DWT) serves as not only a key preprocessing step for de-noising but simultaneously offers the benefit of being multi-view, presenting multiple different channels (components) holding potentially more information and trends that may increase accuracy of ENSO prediction (<xref ref-type="bibr" rid="scirp.136581-12">
      [12]
     </xref>).</p>
    <p>Traditionally, the DWT was mainly used in denoising, where the approximation component—being the denoised version of the original image—would be used in on itself for machine learning; the detail components hold less relevant information and pick up on less trends compared to the approximation (<xref ref-type="bibr" rid="scirp.136581-13">
      [13]
     </xref>). In this study however, a parallel computing approach was used to integrate the main approximation channel with the information held in each of the detail components generated by the wavelet transform to further improve robustness of the final predictor model using forms of multiple regression analysis tools.</p>
    <p>Autoencoders have been increasingly explored in the context of unsupervised learning for their ability to reproduce data while retaining and possibly amplifying essential features. Typically, autoencoders are employed in tasks where the goal is to compress data into a lower-dimensional space and then reconstruct it, which is particularly useful in handling large, complex datasets. However, prior studies have predominantly focused on dimensionality reduction of image datasets and where decoded back to original dimensions only—which were then used in the neural network (<xref ref-type="bibr" rid="scirp.136581-14">
      [14]
     </xref>). This research leverages encoder-decoder autoencoders to not only reduce dimensionality for image encoded data, but nonimage data as well, which enhances the model’s ability to pick up generalized key features to a higher extent. Such a reconstruction method allows for the conjunction with CNNs and LSTMs while simultaneously utilizing the denoising and anomaly-detection abilities of autoencoders to further enhance ENSO prediction accuracy.</p>
    <sec id="s1">
     <title>2. Data and Methods</title>
    </sec>
    <sec id="s2_3">
     <title>2.1. Data Selection and Preparation</title>
     <p>Seen in the full project workflow, <xref ref-type="fig" rid="fig1">
       Figure 1
      </xref>, this study utilized the Extended Reconstructed Sea Surface Temperature version 5 (ERSSTv5) dataset, which provides global sea surface temperature (SST) anomalies. ERSSTv5 is a widely used dataset known for its accuracy in long-term climate studies, offering monthly SST data with a spatial resolution of 2˚ × 2˚ from 1854 to present (<xref ref-type="bibr" rid="scirp.136581-15">
       [15]
      </xref>). This study used a time range of January 1949 to December 2014, of length 792 months. This dataset was chosen due to its comprehensive coverage and its relevance widespread in ENSO—related climate modeling studies and analyzing SST anomalies, which are critical in understanding and predicting ENSO events.</p>
     <p>To ensure quality analysis, the image data was centered around the most relevant area for ENSO-related activity, the tropical Pacific region from the ERSSTv5 dataset. This region is crucial for detecting and understanding the sea surface temperature (SST) anomalies that are indicative of El Niño and La Niña events, as it encompasses the key zones where these phenomena typically manifest to the greatest extent (<xref ref-type="bibr" rid="scirp.136581-15">
       [15]
      </xref>, <xref ref-type="fig" rid="fig2">
       Figure 2
      </xref>). This focus allowed for a more detailed and accurate analysis of the SST patterns associated with ENSO variability.</p>
     <fig id="fig1" position="float">
      <label>Figure 1</label>
      <caption>
       <title>Figure 1. Project workflow.</title>
      </caption>
      <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/4701285-rId15.jpeg?20241015013648" />
     </fig>
     <fig id="fig2" position="float">
      <label>Figure 2</label>
      <caption>
       <title>Figure 2. Pearson correlation coefficients between sea surface temperature (SST) anomalies and El Niño phases, highlighting significant correlations within the Niño 3.4 region (boxed area). The correlation map indicates strong correlations in the central equatorial Pacific, consistent with the expected warming or cooling patterns associated with ENSO events.</title>
      </caption>
      <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/4701285-rId16.jpeg?20241015013648" />
     </fig>
     <p>The SST anomaly was then standardized using scikit-learn’s StandardScalar, which normalizes feature values by subtracting the sample mean and dividing by the sample standard deviation:</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           z 
         </mi> 
         <mi>
           i 
         </mi> 
        </msub> 
        <mo>
          = 
        </mo> 
        <mfrac> 
         <mrow> 
          <msub> 
           <mi>
             x 
           </mi> 
           <mi>
             i 
           </mi> 
          </msub> 
          <mo>
            − 
          </mo> 
          <mi>
            m 
          </mi> 
         </mrow> 
         <mi>
           s 
         </mi> 
        </mfrac> 
        <mo>
          . 
        </mo> 
       </mrow> 
      </math> (1)</p>
     <p>In addition to SST data, the Oceanic Niño Index (ONI) was selected as a key indicator for identifying ENSO phases. The ONI is derived from SST anomalies in the Niño 3.4 region (<xref ref-type="fig" rid="fig2">
       Figure 2
      </xref>, <xref ref-type="bibr" rid="scirp.136581-16">
       [16]
      </xref>), covering the central equatorial Pacific <xref ref-type="bibr" rid="scirp.136581-2">
       [2]
      </xref>. It is the standard metric used to classify ENSO events, with thresholds set at ±0.5˚C deviations from the average. Given that the goal of the study was to accurately forecast ENSO events, the target dataset was lagged 4 months ahead of time for the model to learn precursory patterns indicative of ensuing ENSO events.</p>
    </sec>
    <sec id="s2_4">
     <title>2.2. Data Pre-Processing</title>
     <p>M-band orthogonal discrete wavelet transforms (DWT) are utilized to decompose each image in the dataset into multiple frequency bands, enhancing the model’s ability to analyze various levels of detail. An M-band DWT is determined by a filter bank consisting of M filters ( 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mi>
          M 
        </mi> 
        <mo>
          ≥ 
        </mo> 
        <mn>
          2 
        </mn> 
       </mrow> 
      </math>), including a low-pass filter 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
         α 
       </mi> 
      </math> and 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mi>
          M 
        </mi> 
        <mo>
          − 
        </mo> 
        <mn>
          1 
        </mn> 
       </mrow> 
      </math> high-pass filters 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mi>
          β 
        </mi> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mi>
           j 
         </mi> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </math> for 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mi>
          j 
        </mi> 
        <mo>
          = 
        </mo> 
        <mn>
          1 
        </mn> 
        <mo>
          , 
        </mo> 
        <mo>
          ⋯ 
        </mo> 
        <mo>
          , 
        </mo> 
        <mi>
          M 
        </mi> 
        <mo>
          − 
        </mo> 
        <mn>
          1 
        </mn> 
       </mrow> 
      </math> (<xref ref-type="bibr" rid="scirp.136581-5">
       [5]
      </xref> <xref ref-type="bibr" rid="scirp.136581-14">
       [14]
      </xref>). This decomposition allows for the extraction of both fine and coarse features, capturing multi-scale spatial and temporal characteristics essential for ENSO prediction.</p>
     <p>In this study, the M-band DWT used prior to deep learning models to capture patterns across different scales. The multi-scale approach facilitated by the M-band DWT will later allow the use of a combined detail model with parallel computing, to overall significantly boost the computational efficiency and accuracy of the predictive model (<xref ref-type="bibr" rid="scirp.136581-17">
       [17]
      </xref>).</p>
     <p>An M-band orthogonal wavelet is considered N-regular if it has N vanishing moments; hence wavelets with more vanishing moments tend to be smoother with longer filters.</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mn>
          2 
        </mn> 
        <munderover> 
         <mstyle mathsize="140%" displaystyle="true"> 
          <mo>
            ∑ 
          </mo> 
         </mstyle> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mi>
           n 
         </mi> 
        </munderover> 
        <mtext>
            
        </mtext> 
        <msub> 
         <mi>
           α 
         </mi> 
         <mi>
           i 
         </mi> 
        </msub> 
        <mo>
          = 
        </mo> 
        <msqrt> 
         <mi>
           M 
         </mi> 
        </msqrt> 
       </mrow> 
      </math> (2)</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <munderover> 
         <mstyle mathsize="140%" displaystyle="true"> 
          <mo>
            ∑ 
          </mo> 
         </mstyle> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mi>
           n 
         </mi> 
        </munderover> 
        <mtext>
            
        </mtext> 
        <msup> 
         <mi>
           i 
         </mi> 
         <mi>
           k 
         </mi> 
        </msup> 
        <msubsup> 
         <mi>
           β 
         </mi> 
         <mi>
           i 
         </mi> 
         <mrow> 
          <mrow> 
           <mo>
             ( 
           </mo> 
           <mi>
             j 
           </mi> 
           <mo>
             ) 
           </mo> 
          </mrow> 
         </mrow> 
        </msubsup> 
        <mo>
          = 
        </mo> 
        <mn>
          0 
        </mn> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <mtext>
          for 
        </mtext> 
        <mtext>
            
        </mtext> 
        <mi>
          k 
        </mi> 
        <mo>
          = 
        </mo> 
        <mn>
          0 
        </mn> 
        <mo>
          , 
        </mo> 
        <mo>
          ⋯ 
        </mo> 
        <mo>
          , 
        </mo> 
        <mi>
          N 
        </mi> 
        <mo>
          − 
        </mo> 
        <mn>
          1 
        </mn> 
        <mo>
          ; 
        </mo> 
        <mi>
          j 
        </mi> 
        <mo>
          = 
        </mo> 
        <mn>
          1 
        </mn> 
        <mo>
          , 
        </mo> 
        <mo>
          ⋯ 
        </mo> 
        <mo>
          , 
        </mo> 
        <mi>
          M 
        </mi> 
        <mo>
          − 
        </mo> 
        <mn>
          1 
        </mn> 
       </mrow> 
      </math> (3)</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mi>
          α 
        </mi> 
        <mo>
          = 
        </mo> 
        <msup> 
         <mi>
           β 
         </mi> 
         <mrow> 
          <mrow> 
           <mo>
             ( 
           </mo> 
           <mi>
             j 
           </mi> 
           <mo>
             ) 
           </mo> 
          </mrow> 
         </mrow> 
        </msup> 
        <mo>
          = 
        </mo> 
        <mn>
          1 
        </mn> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <mtext>
          for 
        </mtext> 
        <mtext>
            
        </mtext> 
        <mi>
          j 
        </mi> 
        <mo>
          = 
        </mo> 
        <mn>
          1 
        </mn> 
        <mo>
          , 
        </mo> 
        <mo>
          ⋯ 
        </mo> 
        <mo>
          , 
        </mo> 
        <mi>
          M 
        </mi> 
        <mo>
          − 
        </mo> 
        <mn>
          1 
        </mn> 
       </mrow> 
      </math> (4)</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mi>
          α 
        </mi> 
        <msup> 
         <mi>
           β 
         </mi> 
         <mrow> 
          <mrow> 
           <mo>
             ( 
           </mo> 
           <mi>
             j 
           </mi> 
           <mo>
             ) 
           </mo> 
          </mrow> 
         </mrow> 
        </msup> 
        <mo>
          = 
        </mo> 
        <mn>
          0 
        </mn> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <mtext>
          for 
        </mtext> 
        <mtext>
            
        </mtext> 
        <mi>
          j 
        </mi> 
        <mo>
          = 
        </mo> 
        <mn>
          1 
        </mn> 
        <mo>
          , 
        </mo> 
        <mo>
          ⋯ 
        </mo> 
        <mo>
          , 
        </mo> 
        <mi>
          M 
        </mi> 
        <mo>
          − 
        </mo> 
        <mn>
          1 
        </mn> 
       </mrow> 
      </math> (5)</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msup> 
         <mi>
           β 
         </mi> 
         <mrow> 
          <mrow> 
           <mo>
             ( 
           </mo> 
           <mi>
             i 
           </mi> 
           <mo>
             ) 
           </mo> 
          </mrow> 
         </mrow> 
        </msup> 
        <msup> 
         <mi>
           β 
         </mi> 
         <mrow> 
          <mrow> 
           <mo>
             ( 
           </mo> 
           <mi>
             j 
           </mi> 
           <mo>
             ) 
           </mo> 
          </mrow> 
         </mrow> 
        </msup> 
        <mo>
          = 
        </mo> 
        <mn>
          0 
        </mn> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <mtext>
          for 
        </mtext> 
        <mtext>
            
        </mtext> 
        <mi>
          i 
        </mi> 
        <mo>
          , 
        </mo> 
        <mi>
          j 
        </mi> 
        <mo>
          = 
        </mo> 
        <mn>
          1 
        </mn> 
        <mo>
          , 
        </mo> 
        <mo>
          ⋯ 
        </mo> 
        <mo>
          , 
        </mo> 
        <mi>
          M 
        </mi> 
        <mo>
          − 
        </mo> 
        <mn>
          1 
        </mn> 
        <mtext>
            
        </mtext> 
        <mtext>
          and 
        </mtext> 
        <mtext>
            
        </mtext> 
        <mi>
          i 
        </mi> 
        <mo>
          ≠ 
        </mo> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </math> (6)</p>
     <p>For adequate integer values of k, an M-band wavelet can be used to create an Mk × Mk wavelet transform matrix to decompose channels of a dimension.</p>
     <p>An example 3-band DWT matrix is</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mi>
          W 
        </mi> 
        <mo>
          = 
        </mo> 
        <mrow> 
         <mo>
           [ 
         </mo> 
         <mrow> 
          <mtable> 
           <mtr> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 1 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 2 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 3 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 4 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 5 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 6 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 1 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 2 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 3 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 4 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 5 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 6 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 1 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 2 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 3 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 4 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 5 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 6 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 4 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 5 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 6 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 1 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 2 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 α 
               </mi> 
               <mn>
                 3 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 1 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 2 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 3 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 4 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 5 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 6 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 1 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 2 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 3 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 4 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 5 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 6 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 1 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 2 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 3 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 4 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 5 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 6 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 4 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 5 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 6 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 1 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 2 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 β 
               </mi> 
               <mn>
                 3 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 1 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 2 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 3 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 4 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 5 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 6 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 1 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 2 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 3 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 4 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 5 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 6 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 1 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 2 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 3 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 4 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 5 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 6 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 4 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 5 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 6 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mn>
               0 
             </mn> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 1 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 2 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 γ 
               </mi> 
               <mn>
                 3 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
           </mtr> 
          </mtable> 
         </mrow> 
         <mo>
           ] 
         </mo> 
        </mrow> 
       </mrow> 
      </math></p>
     <p>The filters for said matrix being</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mi>
          α 
        </mi> 
        <mo>
          = 
        </mo> 
        <mrow> 
         <mo>
           [ 
         </mo> 
         <mrow> 
          <mtable> 
           <mtr> 
            <mtd> 
             <mrow> 
              <mn>
                0.3384 
              </mn> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <mn>
                0.5308 
              </mn> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <mn>
                0.7233 
              </mn> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <mn>
                0.2390 
              </mn> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <mn>
                0.0465 
              </mn> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <mo>
                − 
              </mo> 
              <mn>
                0.1459 
              </mn> 
             </mrow> 
            </mtd> 
           </mtr> 
          </mtable> 
         </mrow> 
         <mo>
           ] 
         </mo> 
        </mrow> 
        <mo>
          , 
        </mo> 
        <mtext>
            
        </mtext> 
        <mi>
          β 
        </mi> 
        <mo>
          = 
        </mo> 
        <mrow> 
         <mo>
           [ 
         </mo> 
         <mrow> 
          <mtable> 
           <mtr> 
            <mtd> 
             <mrow> 
              <mo>
                − 
              </mo> 
              <mn>
                0.1174 
              </mn> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <mn>
                0.5443 
              </mn> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <mo>
                − 
              </mo> 
              <mn>
                0.0187 
              </mn> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <mo>
                − 
              </mo> 
              <mn>
                0.6991 
              </mn> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <mo>
                − 
              </mo> 
              <mn>
                0.1361 
              </mn> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <mn>
                0.4270 
              </mn> 
             </mrow> 
            </mtd> 
           </mtr> 
          </mtable> 
         </mrow> 
         <mo>
           ] 
         </mo> 
        </mrow> 
        <mo>
          , 
        </mo> 
        <mtext>
            
        </mtext> 
        <mi>
          γ 
        </mi> 
        <mo>
          = 
        </mo> 
        <mrow> 
         <mo>
           [ 
         </mo> 
         <mrow> 
          <mtable> 
           <mtr> 
            <mtd> 
             <mrow> 
              <mn>
                0.4036 
              </mn> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <mo>
                − 
              </mo> 
              <mn>
                0.6285 
              </mn> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <mn>
                0.4606 
              </mn> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <mo>
                − 
              </mo> 
              <mn>
                0.4036 
              </mn> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <mo>
                − 
              </mo> 
              <mn>
                0.0786 
              </mn> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <mn>
                0.2465 
              </mn> 
             </mrow> 
            </mtd> 
           </mtr> 
          </mtable> 
         </mrow> 
         <mo>
           ] 
         </mo> 
        </mrow> 
        <mo>
          . 
        </mo> 
       </mrow> 
      </math></p>
     <p>It can be proven that all the DWT matrices we are using are orthogonal, i.e., 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mi>
          W 
        </mi> 
        <mo>
          = 
        </mo> 
        <mi>
          W 
        </mi> 
       </mrow> 
      </math> for all such DWT matrices W (<xref ref-type="bibr" rid="scirp.136581-18">
       [18]
      </xref>).</p>
     <p>The 2D DWT of an channel X is defined as the matrix WXW. This decomposition can be seen as an M × M block matrix where the top-left submatrix is the approximation (low frequency) component, and the other submatrices are detail (high frequency) components.</p>
     <p>For example, a 2D 3-band DWT decomposes a channel X into a block matrix</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mi>
          W 
        </mi> 
        <mi>
          X 
        </mi> 
        <mi>
          W 
        </mi> 
        <mo>
          = 
        </mo> 
        <mrow> 
         <mo>
           [ 
         </mo> 
         <mrow> 
          <mtable> 
           <mtr> 
            <mtd> 
             <mi>
               A 
             </mi> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 D 
               </mi> 
               <mrow> 
                <mn>
                  12 
                </mn> 
               </mrow> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 D 
               </mi> 
               <mrow> 
                <mn>
                  13 
                </mn> 
               </mrow> 
              </msub> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 D 
               </mi> 
               <mrow> 
                <mn>
                  21 
                </mn> 
               </mrow> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 D 
               </mi> 
               <mrow> 
                <mn>
                  22 
                </mn> 
               </mrow> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 D 
               </mi> 
               <mrow> 
                <mn>
                  23 
                </mn> 
               </mrow> 
              </msub> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 D 
               </mi> 
               <mrow> 
                <mn>
                  31 
                </mn> 
               </mrow> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 D 
               </mi> 
               <mrow> 
                <mn>
                  32 
                </mn> 
               </mrow> 
              </msub> 
             </mrow> 
            </mtd> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 D 
               </mi> 
               <mrow> 
                <mn>
                  33 
                </mn> 
               </mrow> 
              </msub> 
             </mrow> 
            </mtd> 
           </mtr> 
          </mtable> 
         </mrow> 
         <mo>
           ] 
         </mo> 
        </mrow> 
       </mrow> 
      </math></p>
     <p>where A is the approximation, or low frequency, component and 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           D 
         </mi> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mi>
            j 
          </mi> 
         </mrow> 
        </msub> 
       </mrow> 
      </math> are detail, or high frequency, components (<xref ref-type="bibr" rid="scirp.136581-19">
       [19]
      </xref>).</p>
     <p>
      <xref ref-type="fig" rid="fig3">
       Figure 3
      </xref> is a 88 × 180 (clipped for multiples of 4) pixel image of the mean SST anomalies of the world under Extended Reconstructed Sea Surface Temperatures Version 5 in October of 1949.</p>
     <fig id="fig3" position="float">
      <label>Figure 3</label>
      <caption>
       <title>Figure 3. Original image of SST anomalies—observe the presence of a cold tongue in the Central Equatorial Pacific.</title>
      </caption>
      <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/4701285-rId49.jpeg?20241015013649" />
     </fig>
     <p>To pre-process the data, a 4-band 4-regular wavelet filter bank derived from <xref ref-type="bibr" rid="scirp.136581-18">
       [18]
      </xref> was used across each image of the 792 months in the SST anomaly time series dataset. As such, an approximation and 15 detail components were generated, each now of pixel size 22 × 45 (<xref ref-type="fig" rid="fig4">
       Figure 4
      </xref>).</p>
     <fig id="fig4" position="float">
      <label>Figure 4</label>
      <caption>
       <title>(a) Approximation component (b) Detail components, scaled colorsFigure 4. Results of wavelet decomposition using the 4-band 4-regular wavelet. The cold tongue in the Tropical Pacific in the approximation (top left, subfigure 4(a)) remains noticeable as seen in the original, <xref ref-type="fig" rid="fig3">
         Figure 3
        </xref>. Because we applied a 4-band DWT to the image, the image is decomposed into 16 sub-images. The pixel values of detail components are very small compared to the approximation, so the subfigure 4(b) is the same as the subfigure 4(a) but with a smaller color gradient.</title>
      </caption>
      <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="" />
     </fig>
     <fig id="fig4" position="float">
      <label>Figure 4</label>
      <caption>
       <title>(a) Approximation component (b) Detail components, scaled colorsFigure 4. Results of wavelet decomposition using the 4-band 4-regular wavelet. The cold tongue in the Tropical Pacific in the approximation (top left, subfigure 4(a)) remains noticeable as seen in the original, <xref ref-type="fig" rid="fig3">
         Figure 3
        </xref>. Because we applied a 4-band DWT to the image, the image is decomposed into 16 sub-images. The pixel values of detail components are very small compared to the approximation, so the subfigure 4(b) is the same as the subfigure 4(a) but with a smaller color gradient.</title>
      </caption>
      <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/4701285-rId50.jpeg?20241015013649" />
     </fig>
     <fig id="fig4" position="float">
      <label>Figure 4</label>
      <caption>
       <title>(a) Approximation component (b) Detail components, scaled colorsFigure 4. Results of wavelet decomposition using the 4-band 4-regular wavelet. The cold tongue in the Tropical Pacific in the approximation (top left, subfigure 4(a)) remains noticeable as seen in the original, <xref ref-type="fig" rid="fig3">
         Figure 3
        </xref>. Because we applied a 4-band DWT to the image, the image is decomposed into 16 sub-images. The pixel values of detail components are very small compared to the approximation, so the subfigure 4(b) is the same as the subfigure 4(a) but with a smaller color gradient.</title>
      </caption>
      <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/4701285-rId51.jpeg?20241015013649" />
     </fig>
     <p>Figure 4. Results of wavelet decomposition using the 4-band 4-regular wavelet. The cold tongue in the Tropical Pacific in the approximation (top left, subfigure 4(a)) remains noticeable as seen in the original, <xref ref-type="fig" rid="fig3">
       Figure 3
      </xref>. Because we applied a 4-band DWT to the image, the image is decomposed into 16 sub-images. The pixel values of detail components are very small compared to the approximation, so the subfigure 4(b) is the same as the subfigure 4(a) but with a smaller color gradient.</p>
     <p>In addition to its usage in pre-processing the image data, the DWT was also applied to the target ONI index dataset for the purpose of denoising (<xref ref-type="bibr" rid="scirp.136581-20">
       [20]
      </xref>).</p>
     <p>Given a signal 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mi>
          S 
        </mi> 
        <mo>
          ∈ 
        </mo> 
        <msup> 
         <mi>
           ℝ 
         </mi> 
         <mi>
           n 
         </mi> 
        </msup> 
       </mrow> 
      </math>,</p>
     <p>W = 4-band 4-regular wavelet filter bank:</p>
     <p>For each detail coefficient 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           d 
         </mi> 
         <mi>
           i 
         </mi> 
        </msub> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            1 
          </mn> 
          <mo>
            , 
          </mo> 
          <mn>
            2 
          </mn> 
          <mo>
            , 
          </mo> 
          <mn>
            3 
          </mn> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </math>:</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mover accent="true"> 
         <mi>
           S 
         </mi> 
         <mo>
           ˜ 
         </mo> 
        </mover> 
        <mo>
          = 
        </mo> 
        <mi>
          W 
        </mi> 
        <mo>
          × 
        </mo> 
        <mi>
          S 
        </mi> 
        <mo>
          = 
        </mo> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <mtable> 
           <mtr> 
            <mtd> 
             <mi>
               a 
             </mi> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 d 
               </mi> 
               <mn>
                 1 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 d 
               </mi> 
               <mn>
                 2 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <msub> 
               <mi>
                 d 
               </mi> 
               <mn>
                 3 
               </mn> 
              </msub> 
             </mrow> 
            </mtd> 
           </mtr> 
          </mtable> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </math> (7)</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mi>
          a 
        </mi> 
        <mo>
          , 
        </mo> 
        <msub> 
         <mi>
           d 
         </mi> 
         <mn>
           1 
         </mn> 
        </msub> 
        <mo>
          , 
        </mo> 
        <msub> 
         <mi>
           d 
         </mi> 
         <mn>
           2 
         </mn> 
        </msub> 
        <mo>
          , 
        </mo> 
        <msub> 
         <mi>
           d 
         </mi> 
         <mn>
           3 
         </mn> 
        </msub> 
        <mo>
          ∈ 
        </mo> 
        <msup> 
         <mi>
           ℝ 
         </mi> 
         <mrow> 
          <mfrac> 
           <mi>
             n 
           </mi> 
           <mn>
             4 
           </mn> 
          </mfrac> 
         </mrow> 
        </msup> 
       </mrow> 
      </math></p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mtext>
          Threshold 
        </mtext> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <msub> 
         <mi>
           δ 
         </mi> 
         <mi>
           i 
         </mi> 
        </msub> 
        <mo>
          = 
        </mo> 
        <msub> 
         <mi>
           σ 
         </mi> 
         <mi>
           i 
         </mi> 
        </msub> 
        <msqrt> 
         <mrow> 
          <mn>
            2 
          </mn> 
          <mtext>
            log 
          </mtext> 
          <mrow> 
           <mo>
             ( 
           </mo> 
           <mrow> 
            <mfrac> 
             <mi>
               n 
             </mi> 
             <mn>
               4 
             </mn> 
            </mfrac> 
           </mrow> 
           <mo>
             ) 
           </mo> 
          </mrow> 
         </mrow> 
        </msqrt> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <mtext>
          for 
        </mtext> 
        <mtext>
            
        </mtext> 
        <mi>
          i 
        </mi> 
        <mo>
          = 
        </mo> 
        <mn>
          1 
        </mn> 
        <mo>
          , 
        </mo> 
        <mn>
          2 
        </mn> 
        <mo>
          , 
        </mo> 
        <mn>
          3 
        </mn> 
       </mrow> 
      </math> (8)</p>
     <p>where 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           σ 
         </mi> 
         <mi>
           i 
         </mi> 
        </msub> 
       </mrow> 
      </math> is the standard deviation of the elements of 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           d 
         </mi> 
         <mi>
           i 
         </mi> 
        </msub> 
       </mrow> 
      </math>.</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msubsup> 
         <mi>
           d 
         </mi> 
         <mi>
           i 
         </mi> 
         <mtext>
           * 
         </mtext> 
        </msubsup> 
        <mo>
          = 
        </mo> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <mtable columnalign="left"> 
           <mtr columnalign="left"> 
            <mtd columnalign="left"> 
             <mrow> 
              <msubsup> 
               <mi>
                 d 
               </mi> 
               <mrow> 
                <mn>
                  11 
                </mn> 
               </mrow> 
               <mtext>
                 * 
               </mtext> 
              </msubsup> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr columnalign="left"> 
            <mtd columnalign="left"> 
             <mo>
               ⋮ 
             </mo> 
            </mtd> 
           </mtr> 
           <mtr columnalign="left"> 
            <mtd columnalign="left"> 
             <mrow> 
              <msubsup> 
               <mi>
                 d 
               </mi> 
               <mrow> 
                <mn>
                  1 
                </mn> 
                <mfrac> 
                 <mi>
                   n 
                 </mi> 
                 <mn>
                   4 
                 </mn> 
                </mfrac> 
               </mrow> 
               <mtext>
                 * 
               </mtext> 
              </msubsup> 
             </mrow> 
            </mtd> 
           </mtr> 
          </mtable> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <mtext>
          where 
        </mtext> 
        <mtext>
            
        </mtext> 
        <msubsup> 
         <mi>
           d 
         </mi> 
         <mi>
           i 
         </mi> 
         <mtext>
           * 
         </mtext> 
        </msubsup> 
        <mo>
          = 
        </mo> 
        <mrow> 
         <mo>
           { 
         </mo> 
         <mrow> 
          <mtable columnalign="left"> 
           <mtr columnalign="left"> 
            <mtd columnalign="left"> 
             <mrow> 
              <msub> 
               <mi>
                 d 
               </mi> 
               <mrow> 
                <mi>
                  i 
                </mi> 
                <mi>
                  j 
                </mi> 
               </mrow> 
              </msub> 
              <mo>
                , 
              </mo> 
             </mrow> 
            </mtd> 
            <mtd columnalign="left"> 
             <mrow> 
              <mtext>
                if 
              </mtext> 
              <mtext>
                  
              </mtext> 
              <mrow> 
               <mo>
                 | 
               </mo> 
               <mrow> 
                <msub> 
                 <mi>
                   d 
                 </mi> 
                 <mrow> 
                  <mi>
                    i 
                  </mi> 
                  <mi>
                    j 
                  </mi> 
                 </mrow> 
                </msub> 
               </mrow> 
               <mo>
                 | 
               </mo> 
              </mrow> 
              <mo>
                ≥ 
              </mo> 
              <msub> 
               <mi>
                 δ 
               </mi> 
               <mi>
                 i 
               </mi> 
              </msub> 
              <mo>
                , 
              </mo> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr columnalign="left"> 
            <mtd columnalign="left"> 
             <mrow> 
              <mn>
                0 
              </mn> 
              <mo>
                , 
              </mo> 
             </mrow> 
            </mtd> 
            <mtd columnalign="left"> 
             <mrow> 
              <mtext>
                if 
              </mtext> 
              <mtext>
                  
              </mtext> 
              <mrow> 
               <mo>
                 | 
               </mo> 
               <mrow> 
                <msub> 
                 <mi>
                   d 
                 </mi> 
                 <mrow> 
                  <mi>
                    i 
                  </mi> 
                  <mi>
                    j 
                  </mi> 
                 </mrow> 
                </msub> 
               </mrow> 
               <mo>
                 | 
               </mo> 
              </mrow> 
              <mo>
                &lt; 
              </mo> 
              <msub> 
               <mi>
                 δ 
               </mi> 
               <mi>
                 i 
               </mi> 
              </msub> 
             </mrow> 
            </mtd> 
           </mtr> 
          </mtable> 
         </mrow> 
        </mrow> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <mtext>
          for 
        </mtext> 
        <mtext>
            
        </mtext> 
        <mi>
          i 
        </mi> 
        <mo>
          = 
        </mo> 
        <mn>
          1 
        </mn> 
        <mo>
          , 
        </mo> 
        <mn>
          2 
        </mn> 
        <mo>
          , 
        </mo> 
        <mn>
          3 
        </mn> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <mtext>
          and 
        </mtext> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <mi>
          j 
        </mi> 
        <mo>
          = 
        </mo> 
        <mn>
          1 
        </mn> 
        <mo>
          , 
        </mo> 
        <mo>
          ⋯ 
        </mo> 
        <mo>
          , 
        </mo> 
        <mfrac> 
         <mi>
           n 
         </mi> 
         <mn>
           4 
         </mn> 
        </mfrac> 
        <mo>
          . 
        </mo> 
       </mrow> 
      </math> (9)</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msup> 
         <mover accent="true"> 
          <mi>
            S 
          </mi> 
          <mo>
            ˜ 
          </mo> 
         </mover> 
         <mo>
           * 
         </mo> 
        </msup> 
        <mo>
          = 
        </mo> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <mtable> 
           <mtr> 
            <mtd> 
             <mi>
               a 
             </mi> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <msubsup> 
               <mi>
                 d 
               </mi> 
               <mn>
                 1 
               </mn> 
               <mo>
                 * 
               </mo> 
              </msubsup> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <msubsup> 
               <mi>
                 d 
               </mi> 
               <mn>
                 2 
               </mn> 
               <mo>
                 * 
               </mo> 
              </msubsup> 
             </mrow> 
            </mtd> 
           </mtr> 
           <mtr> 
            <mtd> 
             <mrow> 
              <msubsup> 
               <mi>
                 d 
               </mi> 
               <mn>
                 3 
               </mn> 
               <mo>
                 * 
               </mo> 
              </msubsup> 
             </mrow> 
            </mtd> 
           </mtr> 
          </mtable> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </math> (10)</p>
     <p>
      <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"> <mrow> 
        <msup> 
         <mi>
           S 
         </mi> 
         <mtext>
           * 
         </mtext> 
        </msup> 
        <mo>
          = 
        </mo> 
        <msup> 
         <mi>
           W 
         </mi> 
         <mi>
           t 
         </mi> 
        </msup> 
        <mo>
          × 
        </mo> 
        <msup> 
         <mover accent="true"> 
          <mi>
            S 
          </mi> 
          <mo>
            ˜ 
          </mo> 
         </mover> 
         <mtext>
           * 
         </mtext> 
        </msup> 
       </mrow> 
      </math> (where 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msup> 
         <mi>
           S 
         </mi> 
         <mtext>
           * 
         </mtext> 
        </msup> 
       </mrow> 
      </math> is the denoised signal) (11)</p>
     <p>This approach was beneficial for removing any unexpected anomalies in the data that may have been caused by fluctuations in various other variables in the global climate—seen in <xref ref-type="fig" rid="fig5">
       Figure 5
      </xref>.</p>
     <fig id="fig5" position="float">
      <label>Figure 5</label>
      <caption>
       <title>Figure 5. Original ONI index vs. DWT—denoised ONI index from April 1950 to April 2015.</title>
      </caption>
      <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/4701285-rId74.jpeg?20241015013649" />
     </fig>
     <p>Autoencoders, particularly those paired with LSTM networks, are effective for dimensionality reduction in time-series data to capture critical patterns stored in the SST anomaly data. Autoencoders will output multiple nodes or channels based on trends observed in the original dataset, each with different configurations that the autoencoder decides will best match information patterns observed in the original dataset (<xref ref-type="bibr" rid="scirp.136581-21">
       [21]
      </xref>). By selecting the nodes with highest Pearson correlation to the target dataset, training data can be further denoised and optimized for retaining the most ENSO-correlated patterns in the SST anomaly dataset.</p>
     <p>This study utilized a hybrid model, with both original and flattened versions of the time-series image data to capture both spatial and generalized trends, respectively—which were then used through a concatenate layer in the CNN.</p>
     <p>In traditional autoencoder architecture, the encoder compresses the input data into a lower-dimensional representation (latent space), capturing essential features, while the LSTM network learns temporal patterns. This compressed representation is then passed through a decoder, which reconstructs the data back to its original form, preserving the temporal sequences and features.</p>
     <p>This method is particularly valuable in applications where feature extraction from high-dimensional time-series data is very useful, as the non-image data will capture key generalized patterns associated with ENSO trends, hence flattened input data was used to create multiple nodes of encoded data in the form of vectors. Reconstruction from the decoder thus only maintains the temporal dimensions as the final output nodes are all in vector form.</p>
     <p>Convolutional autoencoders, designed for image data, combine convolutional layers with autoencoder architecture to perform both dimensionality reduction and data reconstruction while preserving spatial information.</p>
     <p>In this setup, instead of flattening the input image data, the encoder directly applies convolutional filters to the input image, extracting features and reducing the spatial dimensions (<xref ref-type="fig" rid="fig6">
       Figure 6
      </xref>). The decoder then reconstructs the image from the compressed representation, maintaining the same spatial dimensions as the original time series image dataset. This technique is particularly effective for processing and denoising image sequences, allowing the model to learn more highly ENSO-correlated particular spatial features for time-series forecasting.</p>
     <p>In our case, 128 channels were reconstructed from the non-image autoencoder, and 4 channels from the convolutional autoencoder. Each was trained with 200 epochs and earlystopping to prevent overfitting.</p>
     <fig id="fig6" position="float">
      <label>Figure 6</label>
      <caption>
       <title>Figure 6. Autoencoder schematic for both non-image and convolutional image autoencoder architecture. The input layer represents the original time series data, where each time step corresponds to either a feature vector (flattened) or an image. The decoder reconstructs the input back to its original dimensions N in multiple different channels/nodes in both the non-image autoencoder and in the image autoencoder.</title>
      </caption>
      <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/4701285-rId75.jpeg?20241015013650" />
     </fig>
    </sec>
    <sec id="s2_5">
     <title>2.3. Model Framework</title>
     <p>Neural Networks are composed of three layers—the Input layer, hidden layers, and output layers. Each are made of neurons, which receive an input from the previous layer and perform a weighted sum with trainable weights w and adds a trainable bias value 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           b 
         </mi> 
         <mi>
           i 
         </mi> 
        </msub> 
       </mrow> 
      </math>. Finally, the neuron applies a specified activation function f to produce an output value 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           z 
         </mi> 
         <mi>
           n 
         </mi> 
        </msub> 
       </mrow> 
      </math>, which serves as the input for the neurons in the following layer. Such layers that receive and produce an input are called Dense layers. All outputs can be defined by these two equations:</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           y 
         </mi> 
         <mi>
           i 
         </mi> 
        </msub> 
        <mo>
          = 
        </mo> 
        <msub> 
         <mi>
           b 
         </mi> 
         <mi>
           i 
         </mi> 
        </msub> 
        <mo>
          + 
        </mo> 
        <munderover> 
         <mstyle mathsize="140%" displaystyle="true"> 
          <mo>
            ∑ 
          </mo> 
         </mstyle> 
         <mrow> 
          <mi>
            j 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mi>
           n 
         </mi> 
        </munderover> 
        <mtext>
            
        </mtext> 
        <mtext>
            
        </mtext> 
        <msub> 
         <mi>
           w 
         </mi> 
         <mi>
           j 
         </mi> 
        </msub> 
        <msub> 
         <mi>
           x 
         </mi> 
         <mi>
           j 
         </mi> 
        </msub> 
        <mo>
          , 
        </mo> 
       </mrow> 
      </math> (12)</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           z 
         </mi> 
         <mi>
           i 
         </mi> 
        </msub> 
        <mo>
          = 
        </mo> 
        <mi>
          f 
        </mi> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <msub> 
           <mi>
             y 
           </mi> 
           <mi>
             i 
           </mi> 
          </msub> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
        <mo>
          . 
        </mo> 
       </mrow> 
      </math> (13)</p>
     <p>A Convolutional Neural Network (CNN) is a type of neural network that is often used in the case of learning features from image input data (<xref ref-type="bibr" rid="scirp.136581-22">
       [22]
      </xref>). For an input variable x consisting of c channels, each P × P pixels, the CNN applies N convolutional filters, each of size Q × Q. The output 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           y 
         </mi> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            j 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            n 
          </mi> 
         </mrow> 
        </msub> 
       </mrow> 
      </math> at each layer is calculated as:</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           y 
         </mi> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            j 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            n 
          </mi> 
         </mrow> 
        </msub> 
        <mo>
          = 
        </mo> 
        <munderover> 
         <mstyle mathsize="140%" displaystyle="true"> 
          <mo>
            ∑ 
          </mo> 
         </mstyle> 
         <mrow> 
          <mi>
            s 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            0 
          </mn> 
         </mrow> 
         <mrow> 
          <mi>
            Q 
          </mi> 
          <mo>
            − 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
        </munderover> 
        <mtext>
            
        </mtext> 
        <munderover> 
         <mstyle mathsize="140%" displaystyle="true"> 
          <mo>
            ∑ 
          </mo> 
         </mstyle> 
         <mrow> 
          <mi>
            t 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            0 
          </mn> 
         </mrow> 
         <mrow> 
          <mi>
            Q 
          </mi> 
          <mo>
            − 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
        </munderover> 
        <mtext>
            
        </mtext> 
        <msub> 
         <mi>
           w 
         </mi> 
         <mrow> 
          <mi>
            s 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            t 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            n 
          </mi> 
         </mrow> 
        </msub> 
        <mo>
          ⋅ 
        </mo> 
        <msub> 
         <mi>
           x 
         </mi> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mo>
            + 
          </mo> 
          <mi>
            s 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            j 
          </mi> 
          <mo>
            + 
          </mo> 
          <mi>
            t 
          </mi> 
         </mrow> 
        </msub> 
        <mo>
          + 
        </mo> 
        <msub> 
         <mi>
           b 
         </mi> 
         <mi>
           n 
         </mi> 
        </msub> 
        <mo>
          . 
        </mo> 
       </mrow> 
      </math> (14)</p>
     <p>It can be seen that the initial input layer has dimensions of (None, 12, 8, 20, 4) in the model framework, <xref ref-type="fig" rid="fig7">
       Figure 7
      </xref>. The dimension 12 arises from the usage of sequences. Prior to model training, the dataset was reformatted into a dataframe-like sequence, such that there are moving windows of 12 months at a time (Jan 1949 to Dec 1949, Feb 1949 to Jan 1951, etc.), each correlating to a predicted ONI value 4 months ahead of time. This procedure was carried out for both the image and non-image data.</p>
     <p>The model framework begins with processing image data through time-distributed convolutional layers. These layers allow the model to capture spatial features independently for each time step, an important method when handling sequential data as it preserves temporal information necessary for making predictions based on a series of inputs. The Rectified Linear Unit (ReLU) activation function is employed in these convolutional layers to introduce non-linearity, allowing the model to handle complex patterns in the data. Specifically, the ReLU function filters out negative values using the equation:</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mi>
          f 
        </mi> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mi>
           x 
         </mi> 
         <mo>
           ) 
         </mo> 
        </mrow> 
        <mo>
          = 
        </mo> 
        <mtext>
          max 
        </mtext> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <mi>
            x 
          </mi> 
          <mo>
            , 
          </mo> 
          <mn>
            0 
          </mn> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </math> (15)</p>
     <p>This function outputs the maximum between the input value and zero, effectively retaining positive values and discarding negative ones, which helps the model learn any relevant features.</p>
     <p>Such a manner of processing is necessary as the model will be able to learn much more information for a prediction if inputted 12 months of data at a once compared to just one. Following the convolutional operations, max-pooling layers reduce the dimensionality while retaining key features for following layers.</p>
     <p>After the convolution and pooling steps, the downsampled image data is passed through a Convolutional Long Short-Term Memory (ConvLSTM2D) layer (<xref ref-type="bibr" rid="scirp.136581-23">
       [23]
      </xref>). This layer is critical for capturing both spatial and temporal dependencies in the data, which is especially important for time-series prediction tasks. The ConvLSTM2D layer uses trainable weights within a 3 × 3 convolutional window and applies the hyperbolic tangent (tanh) activation function, which scales input values to a range between −1 and 1. The tanh activation function is particularly suited for the ConvLSTM layer as it helps keep the temporal dependencies needed across sequences while also controlling the signal amplitude.</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mtext>
          tanh 
        </mtext> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mi>
           x 
         </mi> 
         <mo>
           ) 
         </mo> 
        </mrow> 
        <mo>
          = 
        </mo> 
        <mfrac> 
         <mrow> 
          <msup> 
           <mtext>
             e 
           </mtext> 
           <mi>
             x 
           </mi> 
          </msup> 
          <mo>
            − 
          </mo> 
          <msup> 
           <mtext>
             e 
           </mtext> 
           <mrow> 
            <mo>
              − 
            </mo> 
            <mi>
              x 
            </mi> 
           </mrow> 
          </msup> 
         </mrow> 
         <mrow> 
          <msup> 
           <mtext>
             e 
           </mtext> 
           <mi>
             x 
           </mi> 
          </msup> 
          <mo>
            + 
          </mo> 
          <msup> 
           <mtext>
             e 
           </mtext> 
           <mrow> 
            <mo>
              − 
            </mo> 
            <mi>
              x 
            </mi> 
           </mrow> 
          </msup> 
         </mrow> 
        </mfrac> 
       </mrow> 
      </math> (16)</p>
     <p>Concurrently, the non-image data, representing the sequence of features correlated with the target dataset, is processed through a dense layer. This dense output is reshaped and repeated to align with the dimensions of the image features before being concatenated with the pooled image features, combining the processed image and nonimage output before the final dense and dropout layers.</p>
     <fig id="fig7" position="float">
      <label>Figure 7</label>
      <caption>
       <title>Figure 7. Flow chart of layers included in the full Convolutional Neural Network. The left column of layers is for the image data, the right column is for processing the nonimage data. They are concatenated before final dense layers to output a single forecasted value. Input dimensions of (None, 12, 8, 20, 4) are for time steps, sequence windows, height, width, and channels, respectively.</title>
      </caption>
      <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/4701285-rId92.jpeg?20241015013651" />
     </fig>
     <p>Dropout regularization is applied to these dense layers to prevent overfitting. By randomly dropping a fraction of the neurons during training, the dropout regularization helps ensure that the model does not become too dependent on any single feature, improving model precision. The dropout rate is set to 0.2 in order to maintain a balance between reducing overfitting and retaining model complexity (<xref ref-type="bibr" rid="scirp.136581-24">
       [24]
      </xref>). The final output is then obtained through a softmax activation function in the Dense layer, which transforms the combined features into a single predicted value.</p>
    </sec>
    <sec id="s2_6">
     <title>2.4. Support Vector Regression</title>
     <p>Recall that while the detail components of the discrete wavelet transform are generally not used, they are still components of the original dataset, and hence hold potentially useful information for further optimizing the model. In this study, the focus shifted to refining the final predictive model using a parallel computing approach with multiple regression analysis tools, specifically the Support Vector Regression (SVR) (<xref ref-type="bibr" rid="scirp.136581-25">
       [25]
      </xref>). After the wavelet transform decomposed the signal into approximation and detail components, the regression step was crucial for combining these components into a unified predictive model.</p>
     <p>Support Vector Regression (SVR) was chosen for its high capacity in managing high-dimensional and complex data. SVR aims to approximate the underlying patterns in the data while minimizing prediction errors. A distinguishing feature of SVR is its margin of tolerance, defined by the 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
         ϵ 
       </mi> 
      </math>-insensitive loss function. This margin allows the model to disregard small deviations within a specified range ( 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
         ϵ 
       </mi> 
      </math>), focusing on more significant errors that exceed this threshold. This approach enhances the final model’s ability to handle noisy data and outliers effectively (<xref ref-type="bibr" rid="scirp.136581-26">
       [26]
      </xref>).</p>
     <p>Given the already relatively well-performing model from just the wavelet approximation component of the dataset, we decided to optimize the regression to fit to the residuals between the true and approximation-predicted values:</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mi>
          r 
        </mi> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mi>
           t 
         </mi> 
         <mo>
           ) 
         </mo> 
        </mrow> 
        <mo>
          = 
        </mo> 
        <msub> 
         <mi>
           y 
         </mi> 
         <mrow> 
          <mtext>
            true 
          </mtext> 
         </mrow> 
        </msub> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mi>
           t 
         </mi> 
         <mo>
           ) 
         </mo> 
        </mrow> 
        <mo>
          − 
        </mo> 
        <msub> 
         <mi>
           y 
         </mi> 
         <mn>
           0 
         </mn> 
        </msub> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mi>
           t 
         </mi> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </math> (17)</p>
     <p>To optimize these residuals, SVR was applied to the detail components 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           D 
         </mi> 
         <mi>
           j 
         </mi> 
        </msub> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mi>
           t 
         </mi> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </math> for 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mi>
          j 
        </mi> 
        <mo>
          = 
        </mo> 
        <mn>
          1 
        </mn> 
        <mo>
          , 
        </mo> 
        <mn>
          2 
        </mn> 
        <mo>
          , 
        </mo> 
        <mo>
          ⋯ 
        </mo> 
        <mo>
          , 
        </mo> 
        <mn>
          15 
        </mn> 
       </mrow> 
      </math>. The SVR model was used to predict the residual 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mi>
          r 
        </mi> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mi>
           t 
         </mi> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </math> based on a linear combination of the detail components:</p>
     <p>
      <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"> <mrow> 
        <mover accent="true"> 
         <mi>
           r 
         </mi> 
         <mo>
           ^ 
         </mo> 
        </mover> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mi>
           t 
         </mi> 
         <mo>
           ) 
         </mo> 
        </mrow> 
        <mo>
          = 
        </mo> 
        <munderover> 
         <mstyle displaystyle="true" mathsize="140%"> 
          <mo>
            ∑ 
          </mo> 
         </mstyle> 
         <mrow> 
          <mi>
            j 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mrow> 
          <mn>
            15 
          </mn> 
         </mrow> 
        </munderover> 
        <mtext>
            
        </mtext> 
        <msub> 
         <mi>
           w 
         </mi> 
         <mi>
           j 
         </mi> 
        </msub> 
        <msub> 
         <mi>
           D 
         </mi> 
         <mi>
           j 
         </mi> 
        </msub> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mi>
           t 
         </mi> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </math></p>
     <p>Here, 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           w 
         </mi> 
         <mi>
           j 
         </mi> 
        </msub> 
       </mrow> 
      </math> are the weights learned by the SVR model for each detail component 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           D 
         </mi> 
         <mi>
           j 
         </mi> 
        </msub> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mi>
           t 
         </mi> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </math>. The final predictor 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mover accent="true"> 
         <mi>
           y 
         </mi> 
         <mo>
           ^ 
         </mo> 
        </mover> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mi>
           t 
         </mi> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </math> was obtained by adding the optimized residuals back to the initial approximation:</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mover accent="true"> 
         <mi>
           y 
         </mi> 
         <mo>
           ^ 
         </mo> 
        </mover> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mi>
           t 
         </mi> 
         <mo>
           ) 
         </mo> 
        </mrow> 
        <mo>
          = 
        </mo> 
        <msub> 
         <mi>
           y 
         </mi> 
         <mn>
           0 
         </mn> 
        </msub> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mi>
           t 
         </mi> 
         <mo>
           ) 
         </mo> 
        </mrow> 
        <mo>
          + 
        </mo> 
        <mover accent="true"> 
         <mi>
           r 
         </mi> 
         <mo>
           ^ 
         </mo> 
        </mover> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mi>
           t 
         </mi> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </math></p>
     <p>To test out reliability of different SVR models, two different kernels were tested: the Radial Basis Function (RBF) kernel and the linear kernel.</p>
     <p>The RBF kernel specializes in its ability to map data into a higher-dimensional space where linear relationships can be more easily identified. Such a property enhances its ability particularly in capturing complex, non-linear relationships between the residuals and the detail components, notably in cases where the data is not linearly separable (<xref ref-type="bibr" rid="scirp.136581-27">
       [27]
      </xref>). The RBF kernel is defined as:</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mi>
          K 
        </mi> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <msub> 
           <mi>
             x 
           </mi> 
           <mi>
             i 
           </mi> 
          </msub> 
          <mo>
            , 
          </mo> 
          <msub> 
           <mi>
             x 
           </mi> 
           <mi>
             j 
           </mi> 
          </msub> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
        <mo>
          = 
        </mo> 
        <mtext>
          exp 
        </mtext> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <mo>
            − 
          </mo> 
          <mi>
            γ 
          </mi> 
          <munderover> 
           <mstyle mathsize="140%" displaystyle="true"> 
            <mo>
              ∑ 
            </mo> 
           </mstyle> 
           <mrow> 
            <mi>
              k 
            </mi> 
            <mo>
              = 
            </mo> 
            <mn>
              1 
            </mn> 
           </mrow> 
           <mi>
             n 
           </mi> 
          </munderover> 
          <msup> 
           <mrow> 
            <mrow> 
             <mo>
               ‖ 
             </mo> 
             <mrow> 
              <msub> 
               <mi>
                 x 
               </mi> 
               <mrow> 
                <mi>
                  i 
                </mi> 
                <mo>
                  , 
                </mo> 
                <mi>
                  k 
                </mi> 
               </mrow> 
              </msub> 
              <mo>
                − 
              </mo> 
              <msub> 
               <mi>
                 x 
               </mi> 
               <mrow> 
                <mi>
                  j 
                </mi> 
                <mo>
                  , 
                </mo> 
                <mi>
                  k 
                </mi> 
               </mrow> 
              </msub> 
             </mrow> 
             <mo>
               ‖ 
             </mo> 
            </mrow> 
           </mrow> 
           <mn>
             2 
           </mn> 
          </msup> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </math> (18)</p>
     <p>where 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           x 
         </mi> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            k 
          </mi> 
         </mrow> 
        </msub> 
       </mrow> 
      </math> and 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           x 
         </mi> 
         <mrow> 
          <mi>
            j 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            k 
          </mi> 
         </mrow> 
        </msub> 
       </mrow> 
      </math> are the k-th feature values of the i-th and j-th data points, respectively, and 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
         γ 
       </mi> 
      </math> controls the kernel’s spread. The optimization process in SVR with an RBF kernel involves adjusting these kernel parameters to fit the data. The predicted residuals 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mover accent="true"> 
         <mi>
           r 
         </mi> 
         <mo>
           ^ 
         </mo> 
        </mover> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mi>
           t 
         </mi> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </math> in this case are indirectly influenced by the kernel parameters rather than directly learned weights.</p>
     <p>A SVR linear kernel was also utilized, which indeed behaves similarly to multivariate linear regression in that both methods attempt to fit a linear relationship between the input features (in this case, the detail components 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           D 
         </mi> 
         <mi>
           j 
         </mi> 
        </msub> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mi>
           t 
         </mi> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </math>) and the output (the residuals 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mi>
          r 
        </mi> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mi>
           t 
         </mi> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </math>). In both methods, the goal is to find a set of weights 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           w 
         </mi> 
         <mi>
           j 
         </mi> 
        </msub> 
       </mrow> 
      </math> that best fit the data.</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mi>
          K 
        </mi> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <msub> 
           <mi>
             x 
           </mi> 
           <mi>
             i 
           </mi> 
          </msub> 
          <mo>
            , 
          </mo> 
          <msub> 
           <mi>
             x 
           </mi> 
           <mi>
             j 
           </mi> 
          </msub> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
        <mo>
          = 
        </mo> 
        <munderover> 
         <mstyle mathsize="140%" displaystyle="true"> 
          <mo>
            ∑ 
          </mo> 
         </mstyle> 
         <mrow> 
          <mi>
            k 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mi>
           n 
         </mi> 
        </munderover> 
        <mtext>
            
        </mtext> 
        <msub> 
         <mi>
           x 
         </mi> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            k 
          </mi> 
         </mrow> 
        </msub> 
        <mo>
          ⋅ 
        </mo> 
        <msub> 
         <mi>
           x 
         </mi> 
         <mrow> 
          <mi>
            j 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            k 
          </mi> 
         </mrow> 
        </msub> 
       </mrow> 
      </math> (19)</p>
     <p>where 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           x 
         </mi> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            k 
          </mi> 
         </mrow> 
        </msub> 
       </mrow> 
      </math> and 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           x 
         </mi> 
         <mrow> 
          <mi>
            j 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            k 
          </mi> 
         </mrow> 
        </msub> 
       </mrow> 
      </math> are the k-th feature values of the i-th and j-th data points, respectively.</p>
     <p>In both SVR with a linear kernel and multivariate linear regression, the goal is to find a set of weights 
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <msub> 
         <mi>
           w 
         </mi> 
         <mi>
           j 
         </mi> 
        </msub> 
       </mrow> 
      </math> that best fit the data. However, recall that SVR differs in its approach towards error minimization through a different kind of loss function that includes a margin of tolerance, allowing it to be more suited to noisy data such as SST anomalies which experience great variation from factors other than just ENSO events.</p>
     <p>In experiments for both kernels, fitting the regressions was done with predicted values from the detail component models on the validation set, while forecast accuracy was measured using the test dataset.</p>
    </sec>
    <sec id="s2_7">
     <title>2.5. Training and Testing</title>
     <p>Given the added dimension due to sequences, a DataGenerator class was used to input the image, non-image and target datasets into the model for both training and testing, along with a “on epoch end” shuffler to reduce overfitting. Data was split into subsets of proportions 0.6, 0.2, and 0.2 for the training, validation and test sets, respectively.</p>
     <p>It is to be noted that the image autoencoder outputs four nodes, or four different reconstructed datasets each emphasizing different information from the original SST anomaly dataset. As such, tests were run with both each of the four nodes individually (where the channel dimension in the CNN would be 1), compared to the performance seen in the CNN with a channel dimension of 4, with all nodes integrated into the datasets.</p>
     <p>In addition, control experiments were run without the wavelet transform and the non-image autoencoded data (non-image data was set to a array of just ones) to see the magnitude of improvement gained with the non-image data, wavelet transform and SVR (seen in <xref ref-type="table" rid="table1">
       Table 1
      </xref>).</p>
     <table-wrap id="table1">
      <label>
       <xref ref-type="table" rid="table1">
        Table 1
       </xref></label>
      <caption>
       <title>
        <xref ref-type="bibr" rid="scirp.136581-"></xref>Table 1. Summary of experimental setups. Autoencoders were used for all experiments. DWT was used prior to both non-image and image autoencoders. Wavelet approximaion used in experiments 1 - 3. Models trained with 24 epochs, Earlystopping on validation loss to prevent overfitting.</title>
      </caption>
      <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
       <tr> 
        <td class="custom-bottom-td acenter" width="14.85%"><p style="text-align:center">Experiment</p></td> 
        <td class="custom-bottom-td acenter" width="12.24%"><p style="text-align:center">Wavelets</p></td> 
        <td class="custom-bottom-td acenter" width="14.97%"><p style="text-align:center">Non-Image Data</p></td> 
        <td class="custom-bottom-td acenter" width="14.77%"><p style="text-align:center">Channel Dimension</p></td> 
        <td class="custom-bottom-td acenter" width="16.04%"><p style="text-align:center">Regression</p></td> 
        <td class="custom-bottom-td acenter" width="27.13%"><p style="text-align:center">Description</p></td> 
       </tr> 
       <tr> 
        <td class="custom-top-td acenter" width="14.85%"><p style="text-align:center">1</p></td> 
        <td class="custom-top-td acenter" width="12.24%"><p style="text-align:center">No</p></td> 
        <td class="custom-top-td acenter" width="14.97%"><p style="text-align:center">No</p></td> 
        <td class="custom-top-td acenter" width="14.77%"><p style="text-align:center">1</p></td> 
        <td class="custom-top-td acenter" width="16.04%"><p style="text-align:center">N/A</p></td> 
        <td class="custom-top-td acenter" width="27.13%"><p style="text-align:center">No DWT, no non-image data</p></td> 
       </tr> 
       <tr> 
        <td class="acenter" width="14.85%"><p style="text-align:center">2</p></td> 
        <td class="acenter" width="12.24%"><p style="text-align:center">No</p></td> 
        <td class="acenter" width="14.97%"><p style="text-align:center">Yes</p></td> 
        <td class="acenter" width="14.77%"><p style="text-align:center">1</p></td> 
        <td class="acenter" width="16.04%"><p style="text-align:center">N/A</p></td> 
        <td class="acenter" width="27.13%"><p style="text-align:center">No DWT, with non-image data</p></td> 
       </tr> 
       <tr> 
        <td class="acenter" width="14.85%"><p style="text-align:center">3</p></td> 
        <td class="acenter" width="12.24%"><p style="text-align:center">Yes</p></td> 
        <td class="acenter" width="14.97%"><p style="text-align:center">Yes</p></td> 
        <td class="acenter" width="14.77%"><p style="text-align:center">1</p></td> 
        <td class="acenter" width="16.04%"><p style="text-align:center">N/A</p></td> 
        <td class="acenter" width="27.13%"><p style="text-align:center">DWT, each node separately</p></td> 
       </tr> 
       <tr> 
        <td class="acenter" width="14.85%"><p style="text-align:center">4</p></td> 
        <td class="acenter" width="12.24%"><p style="text-align:center">Yes</p></td> 
        <td class="acenter" width="14.97%"><p style="text-align:center">Yes</p></td> 
        <td class="acenter" width="14.77%"><p style="text-align:center">4</p></td> 
        <td class="acenter" width="16.04%"><p style="text-align:center">N/A</p></td> 
        <td class="acenter" width="27.13%"><p style="text-align:center">DWT, all nodes together</p></td> 
       </tr> 
       <tr> 
        <td class="acenter" width="14.85%"><p style="text-align:center">5</p></td> 
        <td class="acenter" width="12.24%"><p style="text-align:center">Yes</p></td> 
        <td class="acenter" width="14.97%"><p style="text-align:center">Yes</p></td> 
        <td class="acenter" width="14.77%"><p style="text-align:center">4</p></td> 
        <td class="acenter" width="16.04%"><p style="text-align:center">Linear</p></td> 
        <td class="acenter" width="27.13%"><p style="text-align:center">DWT, all nodes, linear regression</p></td> 
       </tr> 
       <tr> 
        <td class="acenter" width="14.85%"><p style="text-align:center">6</p></td> 
        <td class="acenter" width="12.24%"><p style="text-align:center">Yes</p></td> 
        <td class="acenter" width="14.97%"><p style="text-align:center">Yes</p></td> 
        <td class="acenter" width="14.77%"><p style="text-align:center">4</p></td> 
        <td class="acenter" width="16.04%"><p style="text-align:center">RBF</p></td> 
        <td class="acenter" width="27.13%"><p style="text-align:center">DWT, all nodes, RBF regression</p></td> 
       </tr> 
      </table>
     </table-wrap>
     <p>Metrics calculated to measure accuracy of models include: 1) Pearson correlation for evaluating how well trends are followed, 2) Root Mean Square Error (RMSE) and 3) Mean Absolute Error for error from true values, and 4) coefficient of determination (R<sup>2</sup>) for overall performance. In addition, three other metrics were used to determine capacity of event forecasting in general (<xref ref-type="bibr" rid="scirp.136581-28">
       [28]
      </xref>):</p>
     <p>5) Critical Success Index (CSI):</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mtext>
          CSI 
        </mtext> 
        <mo>
          = 
        </mo> 
        <mfrac> 
         <mrow> 
          <mtext>
            TP 
          </mtext> 
         </mrow> 
         <mrow> 
          <mtext>
            TP 
          </mtext> 
          <mo>
            + 
          </mo> 
          <mtext>
            FN 
          </mtext> 
          <mo>
            + 
          </mo> 
          <mtext>
            FP 
          </mtext> 
         </mrow> 
        </mfrac> 
       </mrow> 
      </math></p>
     <p>CSI ranges from 0 to 1, with values closer to 1 indicating better performance. A higher CSI means that the model correctly identifies more positive instances while lesser false positives and false negatives (<xref ref-type="bibr" rid="scirp.136581-29">
       [29]
      </xref>).</p>
     <p>6) Hit Rate (HR):</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mtext>
          HR 
        </mtext> 
        <mo>
          = 
        </mo> 
        <mfrac> 
         <mrow> 
          <mtext>
            TP 
          </mtext> 
         </mrow> 
         <mrow> 
          <mtext>
            TP 
          </mtext> 
          <mo>
            + 
          </mo> 
          <mtext>
            FN 
          </mtext> 
         </mrow> 
        </mfrac> 
       </mrow> 
      </math></p>
     <p>HR ranges from 0 to 1, with values closer to 1 indicating better performance. A higher HR means the model correctly identifies a greater proportion of actual positive instances.</p>
     <p>7) False Alarm Ratio (FAR):</p>
     <p>
      <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
        <mtext>
          FAR 
        </mtext> 
        <mo>
          = 
        </mo> 
        <mfrac> 
         <mrow> 
          <mtext>
            FP 
          </mtext> 
         </mrow> 
         <mrow> 
          <mtext>
            TP 
          </mtext> 
          <mo>
            + 
          </mo> 
          <mtext>
            FP 
          </mtext> 
         </mrow> 
        </mfrac> 
       </mrow> 
      </math></p>
     <p>FAR ranges from 0 to 1, with values closer to 0 indicating better performance. A lower FAR means fewer false alarms, i.e., the model makes fewer incorrect positive predictions.</p>
     <p>A ONI threshold of 0.5 was used, as such is what (<xref ref-type="bibr" rid="scirp.136581-30">
       [30]
      </xref>) classifies as what is considered a El Niño or La Niña event.</p>
    </sec>
   </sec>
   <sec id="s3">
    <title>3. Results</title>
    <p>In this section, we will review the overall performance of each of model’s experiments through evaluation of metrics and predicted monthly time series (2001-12-01 to 2014-12-01).</p>
    <sec id="s3_1">
     <title>Time Series Prediction Graphs</title>
     <fig id="fig8" position="float">
      <label>Figure 8</label>
      <caption>
       <title>Figure 8. Experiment 1—no DWT, no non-image data, with one node. Trend is followed somewhat, however most predictions are very far off in value.</title>
      </caption>
      <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/4701285-rId145.jpeg?20241015013655" />
     </fig>
     <fig id="fig9" position="float">
      <label>Figure 9</label>
      <caption>
       <title>Figure 9. Experiment 2—no DWT, with non-image data, with one autoencoder node. Notable improvements from Experiment 1.</title>
      </caption>
      <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/4701285-rId146.jpeg?20241015013654" />
     </fig>
     <fig id="fig10" position="float">
      <label>Figure 10</label>
      <caption>
       <title>Figure 10. Experiment 3—with DWT (approximation component used) and non-image data, with a singular autoencoder node. Improvements from Experiments 1 and 2 (<xref ref-type="fig" rid="fig8">
         Figure 8
        </xref>, <xref ref-type="fig" rid="fig9">
         Figure 9
        </xref>) can be seen visually.</title>
      </caption>
      <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/4701285-rId147.jpeg?20241015013654" />
     </fig>
     <fig id="fig11" position="float">
      <label>Figure 11</label>
      <caption>
       <title>Figure 11. Experiment 4—with DWT (approximation component used) and non-image data, with all four nodes used together. Noticeable improvements from Experiments 3 (<xref ref-type="fig" rid="fig10">
         Figure 10
        </xref>), likely due usage of all nodes providing more possibly ENSO-correlated information.</title>
      </caption>
      <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/4701285-rId148.jpeg?20241015013654" />
     </fig>
     <fig id="fig12" position="float">
      <label>Figure 12</label>
      <caption>
       <title>Figure 12. Experiment 6—with DWT, non-image data, with all four nodes used together, and RBF SVR applied for detail components. Not much noticeable visual improvement from (<xref ref-type="fig" rid="fig11">
         Figure 11
        </xref>).</title>
      </caption>
      <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/4701285-rId149.jpeg?20241015013654" />
     </fig>
     <fig id="fig13" position="float">
      <label>Figure 13</label>
      <caption>
       <title>Figure 13. Experiment 5—with DWT, non-image data, with all four nodes used together, and linear SVR applied for detail components. Small improvement from Experiment 4 (<xref ref-type="fig" rid="fig11">
         Figure 11
        </xref>) can be seen, as it fits better to the actual curve.</title>
      </caption>
      <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/4701285-rId150.jpeg?20241015013655" />
     </fig>
    </sec>
   </sec>
   <sec id="s4">
    <title>4. Discussion</title>
    <p>As expected, the true control group without wavelets, non-image data, or multiple nodes performed the worst in all metrics (<xref ref-type="fig" rid="fig8">
      Figure 8
     </xref>). The hybrid model with non-image data greatly improved all metrics, indicating that the non-image data likely aided the model’s overall perception of both trends of events and the magnitudes of ENSO events (<xref ref-type="fig" rid="fig9">
      Figure 9
     </xref>).</p>
    <table-wrap id="table2">
     <label>
      <xref ref-type="table" rid="table2">
       Table 2
      </xref></label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.136581-"></xref>Table 2. Performance of all 6 experiments in 1) Pearson Correlation, 2) Root Mean Squared Error (RMSE), 3) Mean Absolute Error (MAE), 4) Coefficient of Determination (R<sup>2</sup>), 5) Hit Rate (HR), 6) False Alarm Rate (FAR), 7) Critical Success Index (CSI). Values for best performance within each metric are bolded.</title>
     </caption>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td class="custom-bottom-td acenter" width="11.12%"><p style="text-align:center">Exp</p></td> 
       <td class="custom-bottom-td acenter" width="21.87%"><p style="text-align:center">Description</p></td> 
       <td class="custom-bottom-td acenter" width="15.18%"><p style="text-align:center">Correlation</p></td> 
       <td class="custom-bottom-td acenter" width="8.86%"><p style="text-align:center">RMSE</p></td> 
       <td class="custom-bottom-td acenter" width="8.23%"><p style="text-align:center">MAE</p></td> 
       <td class="custom-bottom-td acenter" width="9.71%"><p style="text-align:center">R<sup>2</sup></p></td> 
       <td class="custom-bottom-td acenter" width="8.44%"><p style="text-align:center">Hit Rate</p></td> 
       <td class="custom-bottom-td acenter" width="8.65%"><p style="text-align:center">FAR</p></td> 
       <td class="custom-bottom-td acenter" width="7.93%"><p style="text-align:center">CSI</p></td> 
      </tr> 
      <tr> 
       <td class="custom-top-td acenter" width="11.12%"><p style="text-align:center">Exp 1</p></td> 
       <td class="custom-top-td acenter" width="21.87%"><p style="text-align:center">No DWT, no non-image data</p></td> 
       <td class="custom-top-td acenter" width="15.18%"><p style="text-align:center">0.747</p></td> 
       <td class="custom-top-td acenter" width="8.86%"><p style="text-align:center">0.473</p></td> 
       <td class="custom-top-td acenter" width="8.23%"><p style="text-align:center">0.398</p></td> 
       <td class="custom-top-td acenter" width="9.71%"><p style="text-align:center">0.549</p></td> 
       <td class="custom-top-td acenter" width="8.44%"><p style="text-align:center">0.364</p></td> 
       <td class="custom-top-td acenter" width="8.65%"><p style="text-align:center">0.556</p></td> 
       <td class="custom-top-td acenter" width="7.93%"><p style="text-align:center">0.250</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="11.12%"><p style="text-align:center">Exp 2</p></td> 
       <td class="acenter" width="21.87%"><p style="text-align:center">No DWT, with non-image data</p></td> 
       <td class="acenter" width="15.18%"><p style="text-align:center">0.777</p></td> 
       <td class="acenter" width="8.86%"><p style="text-align:center">0.449</p></td> 
       <td class="acenter" width="8.23%"><p style="text-align:center">0.372</p></td> 
       <td class="acenter" width="9.71%"><p style="text-align:center">0.593</p></td> 
       <td class="acenter" width="8.44%"><p style="text-align:center">0.375</p></td> 
       <td class="acenter" width="8.65%"><p style="text-align:center">0.200</p></td> 
       <td class="acenter" width="7.93%"><p style="text-align:center">0.343</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="11.12%"><p style="text-align:center">Exp 3</p></td> 
       <td class="acenter" width="21.87%"><p style="text-align:center">DWT, each node separately</p></td> 
       <td class="acenter" width="15.18%"><p style="text-align:center">0.850</p></td> 
       <td class="acenter" width="8.86%"><p style="text-align:center">0.461</p></td> 
       <td class="acenter" width="8.23%"><p style="text-align:center">0.356</p></td> 
       <td class="acenter" width="9.71%"><p style="text-align:center">0.571</p></td> 
       <td class="acenter" width="8.44%"><p style="text-align:center">0.625</p></td> 
       <td class="acenter" width="8.65%"><p style="text-align:center">0.444</p></td> 
       <td class="acenter" width="7.93%"><p style="text-align:center">0.417</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="11.12%"><p style="text-align:center">Exp 4</p></td> 
       <td class="acenter" width="21.87%"><p style="text-align:center">DWT, all nodes together</p></td> 
       <td class="acenter" width="15.18%"><p style="text-align:center">0.923</p></td> 
       <td class="acenter" width="8.86%"><p style="text-align:center">0.315</p></td> 
       <td class="acenter" width="8.23%"><p style="text-align:center">0.261</p></td> 
       <td class="acenter" width="9.71%"><p style="text-align:center">0.800</p></td> 
       <td class="acenter" width="8.44%"><p style="text-align:center">0.781</p></td> 
       <td class="acenter" width="8.65%"><p style="text-align:center">0.324</p></td> 
       <td class="acenter" width="7.93%"><p style="text-align:center">0.568</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="11.12%"><p style="text-align:center">Exp 5</p></td> 
       <td class="acenter" width="21.87%"><p style="text-align:center">DWT, all nodes, linear SVR</p></td> 
       <td class="acenter" width="15.18%"><p style="text-align:center">0.930</p></td> 
       <td class="acenter" width="8.86%"><p style="text-align:center">0.312</p></td> 
       <td class="acenter" width="8.23%"><p style="text-align:center">0.245</p></td> 
       <td class="acenter" width="9.71%"><p style="text-align:center">0.803</p></td> 
       <td class="acenter" width="8.44%"><p style="text-align:center">0.875</p></td> 
       <td class="acenter" width="8.65%"><p style="text-align:center">0.349</p></td> 
       <td class="acenter" width="7.93%"><p style="text-align:center">0.596</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="11.12%"><p style="text-align:center">Exp 6</p></td> 
       <td class="acenter" width="21.87%"><p style="text-align:center">DWT, all nodes, RBF SVR</p></td> 
       <td class="acenter" width="15.18%"><p style="text-align:center">0.910</p></td> 
       <td class="acenter" width="8.86%"><p style="text-align:center">0.435</p></td> 
       <td class="acenter" width="8.23%"><p style="text-align:center">0.326</p></td> 
       <td class="acenter" width="9.71%"><p style="text-align:center">0.618</p></td> 
       <td class="acenter" width="8.44%"><p style="text-align:center">0.938</p></td> 
       <td class="acenter" width="8.65%"><p style="text-align:center">0.362</p></td> 
       <td class="acenter" width="7.93%"><p style="text-align:center">0.612</p></td> 
      </tr> 
     </table>
    </table-wrap>
    <p>The addition of the wavelet transform significantly improved almost all metrics, namely in the massive 67% increase in hit rate. This is indicative that the denoising quality of the wavelet transform was very effective in aiding the model’s ability to pick up on precursors, increasing accuracy for predicting changes and trends in ENSO events (<xref ref-type="fig" rid="fig10">
      Figure 10
     </xref>). Before the wavelet transform, the model likely picked up external noise in the dataset and viewed it as indicative of variations in ENSO, thus scoring far worse in hit rate, CSI, FAR, and correlation.</p>
    <p>Using all four autoencoder nodes as channels likewise can be seen to have improved all metrics remarkably. This improvement is likely due to the greater amounts of relevant information from the four different reconstructions storing more patterns in the SST anomaly data, indicating that the decoder’s varied alterations from the original data did in fact correctly replicate ENSO-correlated trends in the data (<xref ref-type="fig" rid="fig11">
      Figure 11
     </xref>).</p>
    <p>Usage of the linear Support Vector Regression appeared to have also improved all metrics, scoring the highest in correlation, RMSE, MAE, and R<sup>2</sup>. This is to be expected, as the extra information (albeit noisy) made up for any inaccurate biases created from using just the approximation of the wavelet transform. However, in the general forecasting metrics other than FAR, the RBF Regression scored far higher than in both the control and the linear SVR.</p>
    <p>It is seen that while the addition of the RBF SVR improved the model’s ability to forecast the cycle trends themselves (<xref ref-type="fig" rid="fig12">
      Figure 12
     </xref>), the magnitudes of ENSO strength were more accurate than those modeled in the linear SVR and the control (<xref ref-type="fig" rid="fig13">
      Figure 13
     </xref>). Though the RBF likely picked up on more non-linear ENSO precursors in the detail components for higher quality in the predictions of starts and ends of ENSO events, the comparatively poor R<sup>2</sup>, RMSE and MAE were credible to the noisy components generating bias in the model’s interpretation of the strength in SST anomaly variations.</p>
   </sec>
   <sec id="s5">
    <title>5. Conclusions</title>
    <p>We developed a hybrid deep learning model for El Niño event prediction using monthly SST anomaly data and additional climate features. M-band discrete wavelet transforms (DWTs) were applied to pre-process the data, generating multi-scale features. Usage of autoencoders to reconstruct original data into non-image and image data with high ENSO-indicative patterns were used. Support vector regression (SVR) approximators were then employed for integrating wavelet detail components into the model, further improving final predictions. Multiple control experiments were run to evaluate the extent of improvements from each technique used.</p>
    <p>In addition to successfully producing a robust deep learning model for ENSO forecasting, the hypotheses that a) incorporating wavelet transforms (DWT) for multi-scale feature extraction and b) combining all components with the SVR, and the c) usage of both autoencoded image and non-image data in deep learning models, would increase accuracy were supported, though to varying degrees within each metrics.</p>
    <p>Experiment results indicate that the autoencoder non-image data produced notable, improving CSI by 37% from the true control experiment. Usage of the DWT on one node also greatly improved all metrics, with a 67% increase in hit rate. The usage of all four autoencoder channels improved the model the most, significantly improving almost all metrics by a large margin. The final hybrid model, integrating all these enhancements, achieved the highest overall performance in almost all metrics, with a correlation of 0.930, a CSI of 0.612, and advances in overall predictive accuracy, validating the effectiveness of this combined approach (<xref ref-type="table" rid="table2">
      Table 2
     </xref>).</p>
   </sec>
   <sec id="s6">
    <title>6. Future Research</title>
    <p>Some drawbacks of this model are the low resolution of input data. As the dimensions were cut into a quarter of the original, input data to the CNN was relatively low, potentially worsening the quality of the predictions.</p>
    <p>Computational efficiency was also a drawback in terms of size of data that could be processed, trained upon, or utilized in any way. The entirety of this research was done with a CPU, hence in various cases such as the convolutional autoencoder, only 4 reconstructions were made to reduce computational times. An increase in channels may allow for greater ENSO correlated information learned from the model.</p>
    <p>Such a principle also applies in the architectures of the deep learning techniques. In both the LSTM autoencoders and the CNN, a balance had to be struck between architecture complexity and computational efficiency. Greater complexity of the model may allow for superior feature selection.</p>
    <p>New forms of neural networks may also improve predictions. Usage of the recently developed Vision Transformer Model may perform better over a regular convolutional neural network <xref ref-type="bibr" rid="scirp.136581-31">
      [31]
     </xref>. Quantum convolutional neural networks, liquid neural networks, and continuous time recurrent quantum neural networks likewise may further improve robustness of the model.</p>
   </sec>
   <sec id="s7">
    <title>Acknowledgements</title>
    <p>The authors would like to first thank Western Connecticut State University for providing the facilities where research was conducted.</p>
    <p>The authors are grateful for Andrew Li’s guidance and mentorship. He has aided considerably in the development of the Discrete Wavelet Transform and the creation of the convolutional neural network architecture.</p>
    <p>The authors are likewise grateful for Adeethyia Shankar’s mentorship. He has provided notable assistance in the development of the wavelet denoise function and aided in calculation of statistics.</p>
   </sec>
   <sec id="s8">
    <title>Appendix</title>
    <sec id="s8_1">
     <title>1) Data Availability</title>
     <p>The monthly averaged Sea Surface Temperature Anomaly data from the Extended Reconstructed Sea Surface Temperature Data can be found from this OpenDAP link: <xref ref-type="bibr" rid="scirp.136581-http://iridl.ldeo.columbia.edu/SOURCES/.NOAA/.NCDC/.ERSST/.version5/.anom/T/">
       http://iridl.ldeo.columbia.edu/SOURCES/.NOAA/.NCDC/.ERSST/.version5/.anom/T/
      </xref>. The 3-month running mean standardized Oceanic Nino Index Data can be found from NOAA’s website: <xref ref-type="bibr" rid="scirp.136581-https://origin.cpc.ncep.noaa.gov/products/analysis_monitoring/ensostuff/ONI_v5.php">
       https://origin.cpc.ncep.noaa.gov/products/analysis_monitoring/ensostuff/ONI_v5.php
      </xref>. Data is available from 1950 to present; this study used April 1950 to April 2015.</p>
    </sec>
    <sec id="s8_2">
     <title>2) Wavelet Filter Bank</title>
     <p>Here is the 4-band 4-regular wavelet filter bank used—derived from <xref ref-type="bibr" rid="scirp.136581-14">
       [14]
      </xref>.</p>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td class="custom-bottom-td acenter" width="24.99%"><p style="text-align:center"> 
         <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
            α 
          </mi> 
         </math></p></td> 
       <td class="custom-bottom-td acenter" width="24.99%"><p style="text-align:center"> 
         <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
           <msup> 
            <mi>
              β 
            </mi> 
            <mrow> 
             <mrow> 
              <mo>
                ( 
              </mo> 
              <mn>
                1 
              </mn> 
              <mo>
                ) 
              </mo> 
             </mrow> 
            </mrow> 
           </msup> 
          </mrow> 
         </math></p></td> 
       <td class="custom-bottom-td acenter" width="25.01%"><p style="text-align:center"> 
         <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
           <msup> 
            <mi>
              β 
            </mi> 
            <mrow> 
             <mrow> 
              <mo>
                ( 
              </mo> 
              <mn>
                2 
              </mn> 
              <mo>
                ) 
              </mo> 
             </mrow> 
            </mrow> 
           </msup> 
          </mrow> 
         </math></p></td> 
       <td class="custom-bottom-td acenter" width="25.01%"><p style="text-align:center"> 
         <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
           <msup> 
            <mi>
              β 
            </mi> 
            <mrow> 
             <mrow> 
              <mo>
                ( 
              </mo> 
              <mn>
                3 
              </mn> 
              <mo>
                ) 
              </mo> 
             </mrow> 
            </mrow> 
           </msup> 
          </mrow> 
         </math></p></td> 
      </tr> 
      <tr> 
       <td class="custom-top-td acenter" width="24.99%"><p style="text-align:center">0.08571302</p></td> 
       <td class="custom-top-td acenter" width="24.99%"><p style="text-align:center">−0.1045086525</p></td> 
       <td class="custom-top-td acenter" width="25.01%"><p style="text-align:center">0.2560950163</p></td> 
       <td class="custom-top-td acenter" width="25.01%"><p style="text-align:center">0.1839986022</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="24.99%"><p style="text-align:center">0.1931394393</p></td> 
       <td class="acenter" width="24.99%"><p style="text-align:center">0.1183282069</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">−0.2048089157</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">−0.662289313</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="24.99%"><p style="text-align:center">0.3491805097</p></td> 
       <td class="acenter" width="24.99%"><p style="text-align:center">−0.1011065044</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">−0.250343323</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">0.6880085746</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="24.99%"><p style="text-align:center">0.5616494215</p></td> 
       <td class="acenter" width="24.99%"><p style="text-align:center">−0.0115563891</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">−0.2484277272</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">−0.1379502447</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="24.99%"><p style="text-align:center">0.4955029828</p></td> 
       <td class="acenter" width="24.99%"><p style="text-align:center">0.6005913823</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">0.4477496752</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">0.0446493766</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="24.99%"><p style="text-align:center">0.4145647737</p></td> 
       <td class="acenter" width="24.99%"><p style="text-align:center">−0.2550401616</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">0.0010274</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">−0.0823301969</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="24.99%"><p style="text-align:center">0.2190308939</p></td> 
       <td class="acenter" width="24.99%"><p style="text-align:center">−0.4264277361</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">−0.0621881917</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">−0.0923899104</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="24.99%"><p style="text-align:center">−0.1145361261</p></td> 
       <td class="acenter" width="24.99%"><p style="text-align:center">−0.082739818</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">0.5562313118</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">−0.0233349758</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="24.99%"><p style="text-align:center">−0.0952930728</p></td> 
       <td class="acenter" width="24.99%"><p style="text-align:center">0.0722022649</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">−0.2245618041</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">0.0290655661</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="24.99%"><p style="text-align:center">−0.1306948909</p></td> 
       <td class="acenter" width="24.99%"><p style="text-align:center">0.2684936992</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">−0.3300536827</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">0.0702950474</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="24.99%"><p style="text-align:center">−0.0827496793</p></td> 
       <td class="acenter" width="24.99%"><p style="text-align:center">0.1691549718</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">−0.2088643503</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">0.0443561794</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="24.99%"><p style="text-align:center">0.0719795354</p></td> 
       <td class="acenter" width="24.99%"><p style="text-align:center">−0.443703932</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">0.220295183</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">−0.0918374833</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="24.99%"><p style="text-align:center">0.0140770701</p></td> 
       <td class="acenter" width="24.99%"><p style="text-align:center">0.0849964877</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">0.0207171125</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">10.0128845052</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="24.99%"><p style="text-align:center">0.0229906779</p></td> 
       <td class="acenter" width="24.99%"><p style="text-align:center">0.1388163056</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">0.0338351983</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">0.0210429802</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="24.99%"><p style="text-align:center">0.0145382757</p></td> 
       <td class="acenter" width="24.99%"><p style="text-align:center">0.0877812188</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">0.0213958651</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">0.0133066389</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="24.99%"><p style="text-align:center">−0.0190928308</p></td> 
       <td class="acenter" width="24.99%"><p style="text-align:center">−0.1152813433</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">−0.0280987676</p></td> 
       <td class="acenter" width="25.01%"><p style="text-align:center">−0.0174753464</p></td> 
      </tr> 
     </table>
    </sec>
   </sec>
  </sec>
 </body><back>
  <ref-list>
   <title>References</title>
   <ref id="scirp.136581-ref1">
    <label>1</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Philander, S.G.H. (1985) El Niño and La Niña. Journal of the Atmospheric Sciences, 42, 2652-2662. &gt;https://doi.org/10.1175/1520-0469(1985)042&lt;2652:enaln&gt;2.0.co;2
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref2">
    <label>2</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Trenberth, K.E. (1997) The Definition of El Niño. Bulletin of the American Meteorological Society, 78, 2771-2777. &gt;https://doi.org/10.1175/1520-0477(1997)078&lt;2771:tdoeno&gt;2.0.co;2
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref3">
    <label>3</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Donald Ahrens, C. (2016) Meteorology Today: An Introduction to Weather, Climate, and the Environment. 11th Edition, Cengage Learning. 
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref4">
    <label>4</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Collins, M., An, S., Cai, W., Ganachaud, A., Guilyardi, E., Jin, F., et al. (2010) The Impact of Global Warming on the Tropical Pacific Ocean and El Niño. Nature Geoscience, 3, 391-397. &gt;https://doi.org/10.1038/ngeo868
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref5">
    <label>5</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     UNFCCC (CMA) (2023) Draft Decisions: Adaptation, Global Goal on Adaptation (GGA). UN Climate Change Conference—United Arab Emirates, Nov./Dec. 2023, Session CMA 5. 
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref6">
    <label>6</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Glantz, M.H. (1999) Currents of Change: El Niño’s Impact on Climate and Society. Cambridge University Press.
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref7">
    <label>7</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     IARAN (2023) El Niño o Report.
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref8">
    <label>8</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Smith, J. and Johnson, L. (2022) Impact of La Niña on Atmospheric Chemistry and Carbon Cycling. Journal of Climate, 35, 1001-1015.
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref9">
    <label>9</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Liu, J. and Wang, X. (2023) A Wavelet-Based Deep Learning Framework for Predicting Peak Intensity of Hurricanes in the Atlantic Ocean. Atmospheric and Climate Sciences, 13, 587-606. &gt;https://doi.org/10.4236/acs.2023.134033
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref10">
    <label>10</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Ham, Y., Kim, J. and Luo, J. (2019) Deep Learning for Multi-Year ENSO Forecasts. Nature, 573, 568-572. &gt;https://doi.org/10.1038/s41586-019-1559-7
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref11">
    <label>11</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Latif, M. and Keenlyside, N.S. (2009) El Niño/Southern Oscillation Response to Global Warming. Proceedings of the National Academy of Sciences, 106, 20578-20583. &gt;https://doi.org/10.1073/pnas.0710860105
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref12">
    <label>12</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Hou, Z.-Z., Yang, W.-C. and Shi, Z.-Q. (2001) Discrete Wavelet Transform for Multiple Decomposition of Gravity Anomalies. Chinese Journal of Geophysics, 44, 529-537.
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref13">
    <label>13</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Pan, Z.H. and Wang, X.D. (1996) Wavelets and Dynamic Pattern Recognition. Proceedings of 3rd International Conference on Signal Processing (ICSP’96), Vol. 2, 1304-1307. &gt;https://doi.org/10.1109/icsigp.1996.566536
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref14">
    <label>14</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Ibebuchi, C.C. and Richman, M.B. (2024) Deep Learning with Autoencoders and LSTM for Enso Forecasting. Cambridge University Press.
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref15">
    <label>15</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Huang, B., Thorne, P.W., Banzon, V.F., Boyer, T., Chepurin, G., Lawrimore, J.H., et al. (2017) Extended Reconstructed Sea Surface Temperature, Version 5 (ersstv5): Upgrades, Validations, and Intercomparisons. Journal of Climate, 30, 8179-8205. &gt;https://doi.org/10.1175/jcli-d-16-0836.1
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref16">
    <label>16</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Webb, E. (2020) Reanalysis of the Extended Multivariate Enso Index. Master’s Thesis, The University of North Carolina.
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref17">
    <label>17</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Daubechies, I. (1992) Ten Lectures on Wavelets. Society for Industrial and Applied Mathematics. &gt;https://doi.org/10.1137/1.9781611970104
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref18">
    <label>18</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Lin, T., Xu, S., Shi, Q. and Hao, P. (2006) An Algebraic Construction of Orthonormal M-Band Wavelets with Perfect Reconstruction. Applied Mathematics and Computation, 172, 717-730. &gt;https://doi.org/10.1016/j.amc.2004.11.025
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref19">
    <label>19</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Li, A., Liu, J., Liu, O. and Wang, X. (2023) Identifying Thermokarst Lakes Using Discrete Wavelet Transform-Based Deep Learning Framework. In: Pertusa, A., et al., Eds., Pattern Recognition and Image Analysis, Springer Nature, 479-489. &gt;https://doi.org/10.1007/978-3-031-36616-1_38
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref20">
    <label>20</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Shankar, A., Chang, S., Wang, X. and Zhao, Y. (2022) Wavelet Based Machine Learning Approaches towards Precision Medicine in Diabetes Mellitus. The FASEB Journal, 36, 290-297. &gt;https://doi.org/10.1096/fasebj.2022.36.s1.r6003
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref21">
    <label>21</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Hinton, G.E. and Salakhutdinov, R.R. (2006) Reducing the Dimensionality of Data with Neural Networks. Science, 313, 504-507. &gt;https://doi.org/10.1126/science.1127647
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref22">
    <label>22</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Martinez, J.C. (2020) Introduction to Convolutional Neural Networks CNNs.
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref23">
    <label>23</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Shi, X.J., Chen, Z.R., Wang, H., Yeung, D.-Y., Wong, W.-K. and Woo, W.-C. (2015) Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting. Advances in Neural Information Processing Systems, Volume 28, 802-810.
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref24">
    <label>24</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I. and Salakhutdinov, R. (2014) Dropout: A Simple Way to Prevent Neural Networks from Overfitting. Journal of Machine Learning Research, 15, 1929-1958.
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref25">
    <label>25</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Pedregosa, F., Varoquaux, G., Gramfort, A., et al. (2011) Scikit-Learn: Machine Learning in Python. Journal of Machine Learning Research, 12, 2825-2830.
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref26">
    <label>26</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Smola, A.J. and Schölkopf, B. (2004) A Tutorial on Support Vector Regression. Statistics and Computing, 14, 199-222. &gt;https://doi.org/10.1023/b:stco.0000035301.49549.88
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref27">
    <label>27</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Bishop, C.M. (2006) Pattern Recognition and Machine Learning. Springer.
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref28">
    <label>28</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     EUMeTrain (n.d.) Verification of Categorical Forecasts: A Conceptual Introduction.
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref29">
    <label>29</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Schaefer, J.T. (1990) The Critical Success Index as an Indicator of Warning Skill. Weather and Forecasting, 5, 570-575. &gt;https://doi.org/10.1175/1520-0434(1990)005&lt;0570:tcsiaa&gt;2.0.co;2
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref30">
    <label>30</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     NOAA (2024) El Niño and La Niña (Oceanic Niño Index-Oni).
    </mixed-citation>
   </ref>
   <ref id="scirp.136581-ref31">
    <label>31</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Arnab, A., Dehghani, M., Heigold, G., Sun, C., Lucic, M. and Schmid, C. (2021) Vivit: A Video Vision Transformer. 2021 IEEE/CVF International Conference on Computer Vision (ICCV), Montreal, 10-17 October 2021, 6836-6846. &gt;https://doi.org/10.1109/iccv48922.2021.00676
    </mixed-citation>
   </ref>
  </ref-list>
 </back>
</article>