<?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">
    jpee
   </journal-id>
   <journal-title-group>
    <journal-title>
     Journal of Power and Energy Engineering
    </journal-title>
   </journal-title-group>
   <issn pub-type="epub">
    2327-588X
   </issn>
   <issn publication-format="print">
    2327-5901
   </issn>
   <publisher>
    <publisher-name>
     Scientific Research Publishing
    </publisher-name>
   </publisher>
  </journal-meta>
  <article-meta>
   <article-id pub-id-type="doi">
    10.4236/jpee.2025.138001
   </article-id>
   <article-id pub-id-type="publisher-id">
    jpee-144824
   </article-id>
   <article-categories>
    <subj-group subj-group-type="heading">
     <subject>
      Articles
     </subject>
    </subj-group>
    <subj-group subj-group-type="Discipline-v2">
     <subject>
      Engineering
     </subject>
    </subj-group>
   </article-categories>
   <title-group>
    A Performance Evaluation of Machine Learning Models for Solar PV Power Forecasting in Bamenda, Cameroon
   </title-group>
   <contrib-group>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Noel Nkwa
      </surname>
      <given-names>
       Awangum
      </given-names>
     </name> 
     <xref ref-type="aff" rid="aff1"> 
      <sup>1</sup>
     </xref>
    </contrib>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Derek Ajesam
      </surname>
      <given-names>
       Asoh
      </given-names>
     </name> 
     <xref ref-type="aff" rid="aff2"> 
      <sup>2</sup>
     </xref> 
     <xref ref-type="aff" rid="aff3"> 
      <sup>3</sup>
     </xref>
    </contrib>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Jerome Ndam
      </surname>
      <given-names>
       Mungwe
      </given-names>
     </name> 
     <xref ref-type="aff" rid="aff3"> 
      <sup>3</sup>
     </xref>
    </contrib>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Jean-De-Dieu
      </surname>
      <given-names>
       Nguimfack
      </given-names>
     </name> 
     <xref ref-type="aff" rid="aff4"> 
      <sup>4</sup>
     </xref>
    </contrib>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Therese
      </surname>
      <given-names>
       Nkwantoh
      </given-names>
     </name> 
     <xref ref-type="aff" rid="aff5"> 
      <sup>5</sup>
     </xref>
    </contrib>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Reeves Meli
      </surname>
      <given-names>
       Fokeng
      </given-names>
     </name> 
     <xref ref-type="aff" rid="aff6"> 
      <sup>6</sup>
     </xref>
    </contrib>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Adelaide Nicole Kengnou
      </surname>
      <given-names>
       Telem
      </given-names>
     </name> 
     <xref ref-type="aff" rid="aff7"> 
      <sup>7</sup>
     </xref>
    </contrib>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Patience Tifuh
      </surname>
      <given-names>
       Taah
      </given-names>
     </name> 
     <xref ref-type="aff" rid="aff1"> 
      <sup>1</sup>
     </xref>
    </contrib>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Carine
      </surname>
      <given-names>
       Tanwie
      </given-names>
     </name> 
     <xref ref-type="aff" rid="aff5"> 
      <sup>5</sup>
     </xref>
    </contrib>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Daniel
      </surname>
      <given-names>
       Agoons
      </given-names>
     </name> 
     <xref ref-type="aff" rid="aff8"> 
      <sup>8</sup>
     </xref>
    </contrib>
   </contrib-group> 
   <aff id="aff1">
    <addr-line>
     aDepartment of Electrical/Electronic Engineering, NAHPI, University of Bamenda, Bamenda, Cameroon
    </addr-line> 
   </aff> 
   <aff id="aff2">
    <addr-line>
     aElectrical Engineering, Mechatronics, and Signal Processing Laboratory, ENSPY, UY-I, Yaounde, Cameroon
    </addr-line> 
   </aff> 
   <aff id="aff3">
    <addr-line>
     aDepartment of Renewable Energy Engineering, HTTTC, University of Bamenda, Bamenda, Cameroon
    </addr-line> 
   </aff> 
   <aff id="aff4">
    <addr-line>
     aDepartment of Electric Power Engineering, HTTTC, University of Bamenda, Bamenda, Cameroon
    </addr-line> 
   </aff> 
   <aff id="aff5">
    <addr-line>
     aDepartment of Forestry and Wildlife Technology, COLTECH, University of Bamenda, Bamenda, Cameroon
    </addr-line> 
   </aff> 
   <aff id="aff6">
    <addr-line>
     aDepartment of Geography and Planning, Faculty of Arts, University of Bamenda, Bamenda, Cameroon
    </addr-line> 
   </aff> 
   <aff id="aff7">
    <addr-line>
     aDepartment of Electrical and Electronic Engineering, COLTECH, University of Buea, Buea, Cameroon
    </addr-line> 
   </aff> 
   <aff id="aff8">
    <addr-line>
     aAgoons M&amp;E Consultants, Simbock, Yaounde, Cameroon
    </addr-line> 
   </aff> 
   <pub-date pub-type="epub">
    <day>
     15
    </day> 
    <month>
     08
    </month>
    <year>
     2025
    </year>
   </pub-date> 
   <volume>
    13
   </volume> 
   <issue>
    08
   </issue>
   <fpage>
    1
   </fpage>
   <lpage>
    20
   </lpage>
   <history>
    <date date-type="received">
     <day>
      4,
     </day>
     <month>
      July
     </month>
     <year>
      2025
     </year>
    </date>
    <date date-type="published">
     <day>
      12,
     </day>
     <month>
      July
     </month>
     <year>
      2025
     </year> 
    </date> 
    <date date-type="accepted">
     <day>
      12,
     </day>
     <month>
      August
     </month>
     <year>
      2025
     </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>
    Facing increased energy demand which surpasses national grid supply capacity due to rapid population growth, urbanization, and economic activities, developing countries such as Cameroon are deploying solar photovoltaic power (SPVP) systems to supplement their energy needs; with these systems heralded for sustainability and environmental friendliness. However, the inherent intermittency of SPVP is a major concern since it cannot reliably fill the supply-demand gap with its associated risk of non-availability. Tackling this issue requires adequate forecasting of SPVP to guarantee better management of the energy shortfall. This study evaluates the performance of twenty-four machine learning models (MLMs) in forecasting SPVP in Bamenda, Cameroon. The study uses data from Photovoltaic Geographical Information System with six input features (direct beam irradiance, diffuse irradiance, reflected irradiance, sun height, ambient temperature, and wind speed) and training-testing split of 80% - 20% to forecast SPVP as output feature. Employing hold-out and re-substitution validation techniques, MLMs performance was evaluated using Coefficient of Determination (R
    <sup>2</sup>) and Root Mean Squared (RMSE) metrics. Results reveal wide neural network model as the overall best performer with R
    <sup>2</sup> of 0.999 and RMSE of 9.377, compared to the other models with same or lower R
    <sup>2</sup> and higher RMSE ranging from 9.4522 to 458.97. This model was used to perform short-term SPVP forecast in Bamenda and may be used in the forecast of SPVP in geographically similar areas of Cameroon. This study underscores the role and importance of MLM performance evaluation to identify the best-yield model for SPVP to reliably fill supply-demand gaps. 
   </abstract>
   <kwd-group> 
    <kwd>
     Renewable Energy
    </kwd> 
    <kwd>
      Solar PV Power Forecasting
    </kwd> 
    <kwd>
      Machine Learning Model
    </kwd> 
    <kwd>
      Performance Evaluation
    </kwd>
   </kwd-group>
  </article-meta>
 </front>
 <body>
  <sec id="s1">
   <title>1. Introduction</title>
   <p>The emergence and development of a nation is dependent on its energy generation and use. Energy exists in several forms, one of which is electrical energy. Electrical energy is considered the most essential form of energy because it can be easily converted into other forms of energy and is widely used for domestic, industrial, commercial, and agricultural applications <xref ref-type="bibr" rid="scirp.144824-1">
     [1]
    </xref>.</p>
   <p>Fossil fuels constitute the major primary source of energy worldwide. However, fossil fuels are detrimental because they are the primary cause of climate change <xref ref-type="bibr" rid="scirp.144824-2">
     [2]
    </xref>. The adverse effects of energy generation through the use of fossil fuels drive the development and exploitation of renewable energy sources which are considered environmentally friendly. Renewable energy is energy from a naturally occurring source that has replenishment potential after use, for example, solar, wind, hydropower, biofuels, tidal, geothermal energy, etc. <xref ref-type="bibr" rid="scirp.144824-3">
     [3]
    </xref></p>
   <p>As a result of its availability, sustainability, and minimal negative environmental impact, solar energy has gained popularity in worldwide electricity generation. Solar photovoltaic (PV) technology has been developed for converting solar energy to electricity <xref ref-type="bibr" rid="scirp.144824-2">
     [2]
    </xref> <xref ref-type="bibr" rid="scirp.144824-4">
     [4]
    </xref> <xref ref-type="bibr" rid="scirp.144824-5">
     [5]
    </xref> and with improved and cheaper technology over the years, solar PV is more affordable technology <xref ref-type="bibr" rid="scirp.144824-6">
     [6]
    </xref>. Solar PV power generation and use play a positive role in fighting climate change, which adversely affects the environment and economies, given its emission free operation <xref ref-type="bibr" rid="scirp.144824-7">
     [7]
    </xref>.</p>
   <p>The positive impact, resulting from the use of solar PV power in fighting climate change is indirect and can be understood from the viewpoint that generating and using solar PV power reduces the use of fossil fuels, which in turn leads to a decrease in the emission of greenhouse gases (GHG), pollution of the environment, and ultimately less adverse environmental condition and climate change. It has been demonstrated that a 10 kW Solar PV system could generate, on the average, 40 kWh per day, thereby reducing GHG emission by 37 kg per day and 13,505 kg per year <xref ref-type="bibr" rid="scirp.144824-8">
     [8]
    </xref>.</p>
   <p>Although solar PV power can be heralded for its positive role in mitigating adverse climate change, it is however, an intermittent source of energy due to its dependence on many factors including irradiance <xref ref-type="bibr" rid="scirp.144824-9">
     [9]
    </xref>, temperature, wind speed, humidity, and dust <xref ref-type="bibr" rid="scirp.144824-4">
     [4]
    </xref> <xref ref-type="bibr" rid="scirp.144824-10">
     [10]
    </xref>.</p>
   <p>The maximum positive impact of solar PV power on climate change is attainable by encouraging massive use in tandem with its availability. Such massive use requires forecasting PV power availability efficiently as well as using cost-effective approaches.</p>
   <p>Although solar PV power forecasting has gained significant attention in recent years as a result of increase in the demand for renewable energy <xref ref-type="bibr" rid="scirp.144824-11">
     [11]
    </xref>, the process is complex, given that solar energy depends on several weather conditions such as solar irradiance, temperature, humidity, and wind speed which are uncontrollable <xref ref-type="bibr" rid="scirp.144824-12">
     [12]
    </xref>. In the quest for solutions, Machine Learning Techniques (MLT) have recently emerged as important tools for forecasting solar PV power generations <xref ref-type="bibr" rid="scirp.144824-13">
     [13]
    </xref>. The availability of large volume meteorological data and recent advancements in computing power have led to the development and use of Machine Learning Models (MLM) for solar PV power forecasting in many localities <xref ref-type="bibr" rid="scirp.144824-14">
     [14]
    </xref>. This work is a contribution to fill the gap in machine learning-based solar PV power forecasting research in Cameroon, where there is high solar PV power potential <xref ref-type="bibr" rid="scirp.144824-15">
     [15]
    </xref> <xref ref-type="bibr" rid="scirp.144824-16">
     [16]
    </xref> but little or no research has been done in solar PV power forecasting using MLTs.</p>
  </sec><sec id="s2">
   <title>2. Methodology</title>
   <p>The procedure used in this study included: data acquisition, data preparation, training, validation, and testing of different MLMs, and evaluation and identification of the most accurate and better-yield MLM suitable for Solar PV power forecasting. <xref ref-type="fig" rid="fig1">
     Figure 1
    </xref> presents the flowchart of the methodological process.</p>
   <sec id="s2_1">
    <title>2.1. The Study Area</title>
    <p>The study area considered in this study is Bamenda in the North West Region of Cameroon, as shown in <xref ref-type="fig" rid="fig2">
      Figure 2
     </xref>. Bamenda is the main city of the North West Region, and is located at latitude 5.961˚N and longitude 10.152˚E. The study area was chosen because it is one of the localities in the North West Region targeted in the Renewable Energy Master Plan (REMP) of Cameroon for the deployment of solar PV generation stations <xref ref-type="bibr" rid="scirp.144824-17">
      [17]
     </xref>.</p>
   </sec>
   <sec id="s2_2">
    <title>2.2. Data Acquisition</title>
    <p>
     <xref ref-type="bibr" rid="scirp.144824-"></xref>The dataset for the study incorporates six meteorological variables as input (direct beam irradiance, diffuse irradiance, reflected irradiance, sun height, ambient temperature, and wind speed) and one output variable (PV power). Given the absence of datasets with ground measurements of these input and output variables for the study area, a dataset with a four-year time range (2017-2020) and hourly resolution was downloaded from Photovoltaic Geographical Information Systems (PVGIS); a platform which provides information on solar radiation and solar PV power generation potential for all locations in Europe, Africa, and a large part of</p>
    <fig id="fig1" position="float">
     <label>Figure 1</label>
     <caption>
      <title>Figure 1. Methodological process.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/1771235-rId17.jpeg?20250815020521" />
    </fig>
    <fig id="fig2" position="float">
     <label>Figure 2</label>
     <caption>
      <title>Figure 2. Political map of Cameroon <xref ref-type="bibr" rid="scirp.144824-18">
        [18]
       </xref>.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/1771235-rId18.jpeg?20250815020521" />
    </fig>
    <p>Asia and America. The PVGIS data is obtained from satellite images and very high-quality European Center for Medium-Range Weather Forecasts (ECMWF) Reanalysis version 5 (ERA5) data, which has hourly estimates of a large number of atmospheric, land, and oceanic variables from 1940 up to date <xref ref-type="bibr" rid="scirp.144824-19">
      [19]
     </xref>. The raw data used in this study was made up of 35,064 records with the above-mentioned input and output variables; and enabled the forecast of the solar PV power generation potential of a 20 kW solar PV system in Bamenda, Cameroon.</p>
   </sec>
   <sec id="s2_3">
    <title>2.3. Data Preparation</title>
    <p>
     <xref ref-type="bibr" rid="scirp.144824-"></xref>The first step in data preparation was feature selection. The six meteorological inputs and PV power output in the downloaded dataset were retained given that they align with the features in previous research reported in <xref ref-type="bibr" rid="scirp.144824-20">
      [20]
     </xref>. Although other features such as humidity, and precipitation affect solar PV power, they do not show any dominant relationship with solar PV power generation <xref ref-type="bibr" rid="scirp.144824-21">
      [21]
     </xref>.</p>
    <p>The second step in data preparation involved preprocessing. Data preprocessing is essential in Machine Learning (ML) because raw data usually contains duplicates, outliers, and missing values. Preprocessing was used to properly clean and transform the data into a format suitable for ML. The data obtained for this study was preprocessed using Microsoft Excel and MATLAB software. While Microsoft Excel was used to search for and remove duplicates from the dataset, MATLAB was used to remove outliers and missing values. The third and final step in the data preparation was splitting the preprocessed data into training and testing sets. In line with previous research, during the splitting, 80% of the data was retained for training and 20% for testing <xref ref-type="bibr" rid="scirp.144824-20">
      [20]
     </xref>.</p>
   </sec>
   <sec id="s2_4">
    <title>2.4. Variables in the Study</title>
    <p>
     <xref ref-type="bibr" rid="scirp.144824-"></xref>The preprocessed data comprised of six input variables or features (direct beam irradiance, diffuse irradiance, reflected irradiance, sun height, ambient temperature, and wind speed) and one output feature (solar PV power). The dataset used in this study contained more features as compared to two and four features in <xref ref-type="bibr" rid="scirp.144824-21">
      [21]
     </xref> and <xref ref-type="bibr" rid="scirp.144824-22">
      [22]
     </xref>, respectively.</p>
    <p>Solar PV power generation is dependent on meteorological conditions, implying that different meteorological parameters affect solar PV power generation differently <xref ref-type="bibr" rid="scirp.144824-23">
      [23]
     </xref>. Therefore, meteorological parameters were considered independent variables, used to forecast generated solar PV power as the dependent variable.</p>
   </sec>
   <sec id="s2_5">
    <title>
     <xref ref-type="bibr" rid="scirp.144824-"></xref>2.5. Machine Learning Techniques and Models</title>
    <p>Machine learning techniques (MLTs) also referred to as machine learning algorithms (MLAs) often comprise two or more machine learning models (MLMs). Twenty-four MLMs stemming from six MLTs were trained, validated, and tested. The most accurate and better-yield model was later identified and selected for forecasting solar PV power. The MLMs considered in this study are presented below and summarized 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.144824-"></xref>Table 1. Summary of Machine Learning Techniques and corresponding models used in the study.</title>
     </caption>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td class="custom-bottom-td acenter" width="56.62%"><p style="text-align:center">Machine learning technique</p></td> 
       <td class="custom-bottom-td acenter" width="45.96%"><p style="text-align:center">Machine learning model</p></td> 
      </tr> 
      <tr> 
       <td rowspan="4" class="custom-top-td acenter" width="56.62%"><p style="text-align:center">Linear regression (LR)</p></td> 
       <td class="custom-top-td acenter" width="45.96%"><p style="text-align:center">Linear</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="45.96%"><p style="text-align:center">Interactions Linear</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="45.96%"><p style="text-align:center">Robust Linear</p></td> 
      </tr> 
      <tr> 
       <td class="custom-bottom-td acenter" width="45.96%"><p style="text-align:center">Stepwise Linear</p></td> 
      </tr> 
      <tr> 
       <td rowspan="3" class="custom-top-td acenter" width="56.62%"><p style="text-align:center">Regression trees (RT)</p></td> 
       <td class="custom-top-td acenter" width="45.96%"><p style="text-align:center">Fine Tree</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="45.96%"><p style="text-align:center">Medium Tree</p></td> 
      </tr> 
      <tr> 
       <td class="custom-bottom-td acenter" width="45.96%"><p style="text-align:center">Coarse Tree</p></td> 
      </tr> 
      <tr> 
       <td rowspan="6" class="custom-top-td acenter" width="56.62%"><p style="text-align:center">Support vector machines (SVM)</p></td> 
       <td class="custom-top-td acenter" width="45.96%"><p style="text-align:center">Linear SVM</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="45.96%"><p style="text-align:center">Quadratic SVM</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="45.96%"><p style="text-align:center">Cubic SVM</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="45.96%"><p style="text-align:center">Fine Gaussian SVM</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="45.96%"><p style="text-align:center">Medium Gaussian SVM</p></td> 
      </tr> 
      <tr> 
       <td class="custom-bottom-td acenter" width="45.96%"><p style="text-align:center">Coarse Gaussian SVM</p></td> 
      </tr> 
      <tr> 
       <td rowspan="2" class="custom-top-td acenter" width="56.62%"><p style="text-align:center">Ensembles of regression trees (ERT)</p></td> 
       <td class="custom-top-td acenter" width="45.96%"><p style="text-align:center">Boosted Trees</p></td> 
      </tr> 
      <tr> 
       <td class="custom-bottom-td acenter" width="45.96%"><p style="text-align:center">Bagged Trees</p></td> 
      </tr> 
      <tr> 
       <td rowspan="4" class="custom-top-td acenter" width="56.62%"><p style="text-align:center">Gaussian process regression (GPR)</p></td> 
       <td class="custom-top-td acenter" width="45.96%"><p style="text-align:center">Squared Exponential GPR</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="45.96%"><p style="text-align:center">Matern 5/2 GPR</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="45.96%"><p style="text-align:center">Exponential GPR</p></td> 
      </tr> 
      <tr> 
       <td class="custom-bottom-td acenter" width="45.96%"><p style="text-align:center">Rational Quadratic GPR</p></td> 
      </tr> 
      <tr> 
       <td rowspan="5" class="custom-top-td acenter" width="56.62%"><p style="text-align:center">Neural network (NN)</p></td> 
       <td class="custom-top-td acenter" width="45.96%"><p style="text-align:center">Narrow Neural Network</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="45.96%"><p style="text-align:center">Medium Neural Network</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="45.96%"><p style="text-align:center">Wide Neural Network</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="45.96%"><p style="text-align:center">Bilayered Neural Network</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="45.96%"><p style="text-align:center">Trilayered Neural Network</p></td> 
      </tr> 
     </table>
    </table-wrap>
    <p>Linear Regression models are supervised MLMs that use a polynomial slope-intercept form to connect the independent and dependent variables. In this case, the expected output is a continuous number. Linear Regression models learn the best fit of the line between the inputs (independent variable) and the outputs (dependent variable). This is achieved by minimizing the approximated error from the forecasted and actual responses <xref ref-type="bibr" rid="scirp.144824-24">
      [24]
     </xref>. The relationship between the input/independent variable, X, and the output/dependent variable, Y, is given by Equation (1) <xref ref-type="bibr" rid="scirp.144824-11">
      [11]
     </xref>.</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         Y 
       </mi> 
       <mo>
         = 
       </mo> 
       <msub> 
        <mi>
          β 
        </mi> 
        <mn>
          0 
        </mn> 
       </msub> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          β 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
       <mi>
         X 
       </mi> 
       <mo>
         + 
       </mo> 
       <mi>
         ε 
       </mi> 
      </mrow> 
     </math> (1)</p>
    <p>where:</p>
    <p>Y = the dependent variable,</p>
    <p>X = the independent variable,</p>
    <p>β<sub>0</sub> = the intersection point with the y-axis,</p>
    <p>β<sub>1</sub> = regression coefficient, and</p>
    <p>ε = error term.</p>
    <p>Equation (1) is often referred to as a simple linear regression, where the dependent variable is modeled with one independent variable only. However, if the dependent variable is modeled with two or more independent variables, the relationship is called multivariate linear regression and is given by Equation (2) <xref ref-type="bibr" rid="scirp.144824-11">
      [11]
     </xref>. In this study, a multivariate regression was used, because the dataset employed, contained six independent variables.</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         Y 
       </mi> 
       <mo>
         = 
       </mo> 
       <msub> 
        <mi>
          β 
        </mi> 
        <mn>
          0 
        </mn> 
       </msub> 
       <mstyle displaystyle="true"> 
        <msubsup> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mi>
           n 
         </mi> 
        </msubsup> 
        <mrow> 
         <msub> 
          <mi>
            β 
          </mi> 
          <mi>
            i 
          </mi> 
         </msub> 
         <msub> 
          <mi>
            X 
          </mi> 
          <mi>
            i 
          </mi> 
         </msub> 
        </mrow> 
       </mstyle> 
       <mo>
         + 
       </mo> 
       <mi>
         ε 
       </mi> 
       <mo> 
       </mo> 
      </mrow> 
     </math> (2)</p>
    <p>where,</p>
    <p>X<sub>i</sub> = independent variables,</p>
    <p>β<sub>0</sub> I = a constant</p>
    <p>β<sub>i</sub> = regression coefficients</p>
    <p>ε = error term</p>
    <p>Regression trees are MLMs developed using the fast divide and conquer greedy algorithm that recursively partitions the given training data into smaller subsets. Regression trees are well known for their efficiencies. However, Regression trees can also lead to poor decisions in lower levels of the trees, as a result of the unreliability of estimates, based on small samples of cases. Regression trees are also known for their instability. A small change in the training dataset may lead to a different choice when building a node, which may represent a dramatic change in the tree, especially if the change occurs at the top-level nodes. A simple regression tree is essentially the same as a decision tree, used in the context of response prediction. The branches of the tree represent splits on the value of a regressor, creating partitions in the independent data where the dependent data is more homogenous, like a form of clustering. The terminal nodes contain the prediction model for that branch of the tree. In this application, prediction models are constants; specifically, the medians of observations within the partition defined by that branch of the tree <xref ref-type="bibr" rid="scirp.144824-25">
      [25]
     </xref> <xref ref-type="bibr" rid="scirp.144824-26">
      [26]
     </xref>.</p>
    <p>Support vector machines (SVM) are supervised MLMs, developed to solve problems of classification and regression <xref ref-type="bibr" rid="scirp.144824-2">
      [2]
     </xref> <xref ref-type="bibr" rid="scirp.144824-24">
      [24]
     </xref>. The key of support vector machines is to determine a function having n deviations from the actual vectors for training data. For regression problems, the main objective structures of support vector machines are to minimize training errors, and to reduce generalized errors to achieve generalized performance. Support vector machines are used extensively to achieve good performance in regression applications. In such applications, support vector machines use a mathematical function referred to as the cost function for the measurement of the empirical risk to minimize error <xref ref-type="bibr" rid="scirp.144824-24">
      [24]
     </xref>.</p>
    <p>Gaussian process regression is a non-parametric technique used frequently for solving extreme non-linear problems. Gaussian process regression is comprised of random variables. In a Gaussian process regression, all input and output data follow a Gaussian distribution profile. Gaussian process regression provides a distribution of all potential functions that are reliable with the training dataset. Gaussian process regression is then defined as a Gaussian process of the mean function n(x) and kernel function 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         t 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           x 
         </mi> 
         <mo>
           , 
         </mo> 
         <msup> 
          <mi>
            x 
          </mi> 
          <mo>
            ′ 
          </mo> 
         </msup> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math>. This can be represented mathematically as shown in Equation (3) <xref ref-type="bibr" rid="scirp.144824-2">
      [2]
     </xref>.</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         F 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          x 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mi>
         G 
       </mi> 
       <mi>
         P 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           n 
         </mi> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            x 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
         <mo>
           , 
         </mo> 
         <mi>
           t 
         </mi> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             x 
           </mi> 
           <mo>
             , 
           </mo> 
           <msup> 
            <mi>
              x 
            </mi> 
            <mo>
              ′ 
            </mo> 
           </msup> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> (3)</p>
    <p>where n(x) = central tendency of F, x = test input.</p>
    <p>Ensembles algorithms are used to develop ensembles of regression trees used for reducing fluctuations in individual trees. This approach as applicable to machine learning, uses the bootstrap aggregation or bagging algorithm for creating similar datasets, tested from the identical source dataset. Ensembles of regression trees are machine learning models developed to overcome overfitting, a common problem with regression trees <xref ref-type="bibr" rid="scirp.144824-2">
      [2]
     </xref>.</p>
    <p>Neural networks are MLM inspired by the way the human brain functions. These networks have interconnected layers of processing units, known as neurons <xref ref-type="bibr" rid="scirp.144824-27">
      [27]
     </xref> between which information is transmitted through interconnections during operation. Weights characterize each of these connections; and an activation function limits the amplitude of the output neurons. It is worth noting that neural networks are not developed for particular machine learning applications, but are trained to learn patterns from specific datasets. Once trained, neural networks can be used to make predictions or classifications. These networks can learn to recognize patterns in data from physical systems, computer programs, or other source <xref ref-type="bibr" rid="scirp.144824-28">
      [28]
     </xref>.</p>
   </sec>
   <sec id="s2_6">
    <title>
     <xref ref-type="bibr" rid="scirp.144824-"></xref>2.6. Training and Validation of Machine Learning Models</title>
    <p>Model training is a process that seeks to enable a MLM to learn the trends and relationships in the dataset. Model training involves feeding the MLM with input data <xref ref-type="bibr" rid="scirp.144824-29">
      [29]
     </xref>. MLM training in this study was performed using a MATLAB built-in application referred to as the Regression Learner. The Regression Learner is a specialized MATLAB application for training regression-based MLM. This application specializes in training MLM to make predictions on data. This application enables users to explore data, select features, specify validation techniques, train models and evaluate performance. With the Regression Learner, users can perform supervised machine learning using labeled data.</p>
    <p>To train the MLM in this research, the training dataset of 26,400 records, which represented 80% of the preprocessed data of 33,000 records, was imported into the Regression Learner app in MATLAB, followed by selecting a validation technique. Validation is the process of accessing the ability of a trained MLM to perform on a new and unseen dataset. During validation, the MLM made predictions using the validation dataset. Then the model’s performance was evaluated using different performance evaluation metrics such as RMSE, R<sup>2</sup>, MAE, and MAPE. Validation is crucial in identifying whether or not the MLM is overfitting the training dataset. The validation of all the 24 MLM in this study was performed using the Regression Learner in MATLAB in terms of the RMSE and R<sup>2</sup>. The RMSE and R<sup>2</sup> are the most widely used performance evaluation metrics <xref ref-type="bibr" rid="scirp.144824-13">
      [13]
     </xref>. Two validation techniques, namely, hold out and re-substitution validation were employed. These validation techniques are widely used with large datasets <xref ref-type="bibr" rid="scirp.144824-30">
      [30]
     </xref>. The use of the two validation techniques was to ensure that the most accurate MLM is rightly identified and selected for Solar PV power forecasting applications. With the Hold-out validation technique, 25% of the training dataset was held out (reserved) for accessing the performance of the MLM after training. With the re-substitution validation technique, the entire training dataset was used for assessing the performance of the different MLMs after training.</p>
    <p>Validation of MLM was also performed with response plots, which are visual representations of the relationship between actual values and forecasted values.</p>
   </sec>
   <sec id="s2_7">
    <title>
     <xref ref-type="bibr" rid="scirp.144824-"></xref>2.7. Testing of Machine Learning Models</title>
    <p>
     <xref ref-type="bibr" rid="scirp.144824-"></xref>Testing of MLMs after training and validation is crucial. Just as validation, testing of MLMs involves the evaluation of the model’s performance. Unlike validation which seeks to evaluate the performance of MLMs on new data, testing of MLMs is to evaluate their performance in real-world scenarios. The testing of MLMs was performed using the test data. Testing of all the 24 MLMs in this study was performed with the Regression Learner in MATLAB with a test dataset of 6600 records representing 20% of the preprocessed dataset of 33,000 records. During the testing the test dataset was uploaded into the Regression Learner, followed by running the 24 MLM on the test dataset. Thereafter, the RMSE, and R<sup>2</sup> values, and actual versus predicted plots generated by the models were observed and recorded.</p>
   </sec>
   <sec id="s2_8">
    <title>2.8. Performance Evaluation and Identification/Selection of the Most Accurate MLM</title>
    <p>The 24 MLMs were evaluated through the computation of the coefficient of determination (R<sup>2</sup>) and Root Mean Squared (RMSE) values of each model, as shown in Equations (4) and (5) respectively <xref ref-type="bibr" rid="scirp.144824-25">
      [25]
     </xref> <xref ref-type="bibr" rid="scirp.144824-31">
      [31]
     </xref> <xref ref-type="bibr" rid="scirp.144824-32">
      [32]
     </xref>.</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msup> 
        <mtext>
          R 
        </mtext> 
        <mn>
          2 
        </mn> 
       </msup> 
       <mo>
         = 
       </mo> 
       <mn>
         1 
       </mn> 
       <mo>
         − 
       </mo> 
       <mfrac> 
        <mrow> 
         <mstyle displaystyle="true"> 
          <msubsup> 
           <mo>
             ∑ 
           </mo> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mo>
              = 
            </mo> 
            <mn>
              1 
            </mn> 
           </mrow> 
           <mi>
             n 
           </mi> 
          </msubsup> 
          <mrow> 
           <msup> 
            <mrow> 
             <mrow> 
              <mo>
                ( 
              </mo> 
              <mrow> 
               <msub> 
                <mi>
                  y 
                </mi> 
                <mi>
                  i 
                </mi> 
               </msub> 
               <mo>
                 − 
               </mo> 
               <msub> 
                <mover accent="true"> 
                 <mi>
                   y 
                 </mi> 
                 <mo>
                   ^ 
                 </mo> 
                </mover> 
                <mi>
                  i 
                </mi> 
               </msub> 
              </mrow> 
              <mo>
                ) 
              </mo> 
             </mrow> 
            </mrow> 
            <mn>
              2 
            </mn> 
           </msup> 
          </mrow> 
         </mstyle> 
        </mrow> 
        <mrow> 
         <mstyle displaystyle="true"> 
          <msubsup> 
           <mo>
             ∑ 
           </mo> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mo>
              = 
            </mo> 
            <mn>
              1 
            </mn> 
           </mrow> 
           <mi>
             n 
           </mi> 
          </msubsup> 
          <mrow> 
           <msup> 
            <mrow> 
             <mrow> 
              <mo>
                ( 
              </mo> 
              <mrow> 
               <msub> 
                <mi>
                  y 
                </mi> 
                <mi>
                  i 
                </mi> 
               </msub> 
               <mo>
                 − 
               </mo> 
               <msub> 
                <mover accent="true"> 
                 <mi>
                   y 
                 </mi> 
                 <mo>
                   ¯ 
                 </mo> 
                </mover> 
                <mi>
                  i 
                </mi> 
               </msub> 
              </mrow> 
              <mo>
                ) 
              </mo> 
             </mrow> 
            </mrow> 
            <mn>
              2 
            </mn> 
           </msup> 
          </mrow> 
         </mstyle> 
        </mrow> 
       </mfrac> 
      </mrow> 
     </math> (4)</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mtext>
         RMSE 
       </mtext> 
       <mo>
         = 
       </mo> 
       <msqrt> 
        <mrow> 
         <mstyle displaystyle="true"> 
          <msubsup> 
           <mo>
             ∑ 
           </mo> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mo>
              = 
            </mo> 
            <mn>
              1 
            </mn> 
           </mrow> 
           <mi>
             n 
           </mi> 
          </msubsup> 
          <mrow> 
           <mfrac> 
            <mrow> 
             <msup> 
              <mrow> 
               <mrow> 
                <mo>
                  ( 
                </mo> 
                <mrow> 
                 <msub> 
                  <mi>
                    y 
                  </mi> 
                  <mi>
                    i 
                  </mi> 
                 </msub> 
                 <mo>
                   − 
                 </mo> 
                 <msub> 
                  <mover accent="true"> 
                   <mi>
                     y 
                   </mi> 
                   <mo>
                     ^ 
                   </mo> 
                  </mover> 
                  <mi>
                    i 
                  </mi> 
                 </msub> 
                </mrow> 
                <mo>
                  ) 
                </mo> 
               </mrow> 
              </mrow> 
              <mn>
                2 
              </mn> 
             </msup> 
            </mrow> 
            <mi>
              n 
            </mi> 
           </mfrac> 
          </mrow> 
         </mstyle> 
        </mrow> 
       </msqrt> 
      </mrow> 
     </math> (5)</p>
    <p>Root Mean Squared Error (RMSE) is a performance evaluation metric widely used in machine learning applications. The RMSE is a measure of the average difference between the forecasted values and the actual values and provides an estimation of how well the trained machine learning model can forecast the target value. Best machine model accuracy is demonstrated by lower RMSE values. The coefficient of determination (R<sup>2</sup>), is another performance evaluation metric widely used in regression-based machine learning applications. R<sup>2</sup> is defined as the measure of the variance in the response variable that can be predicted using the predictor variable. R<sup>2</sup> values lie between 0 and 1, where values close to 1 indicate good model accuracy, while values close to 0 indicate poor model accuracy.</p>
    <p>In order to select the most accurate MLM for forecasting solar PV power generation in Bamenda, Cameroon, the RMSE and R<sup>2</sup> values of all the trained and tested models were compared. Following this evaluation, the model with the lowest RMSE and highest R<sup>2</sup> value was selected as the most accurate MLM for forecasting solar PV power in the Bamenda, Cameroon.</p>
    <p>
     <xref ref-type="bibr" rid="scirp.144824-"></xref>Additionally, the most accurate MLM was identified visually, with the aid of response plots. By this technique, the model whose data points lie closest to the diagonal line compared to the other models was identified as the most accurate model and consequently selected as the best MLM for forecasting solar PV power in Bamenda, Cameroon.</p>
   </sec>
   <sec id="s2_9">
    <title>2.9. Forecasting of Solar PV Power Generation for Study Area</title>
    <p>The identified accurate MLM was used to perform Solar PV power forecasting in Bamenda, Cameroon based on short-term forecasting horizon. Firstly, the selected MLM was exported to the MATLAB workspace. Then, new data was fed into the model in order to perform forecasting. The MATLAB command shown in Equation (6) was used to feed data into the model:</p>
    <p>
     <xref ref-type="bibr" rid="scirp.144824-"></xref> 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mtext>
         yfit 
       </mtext> 
       <mo>
         = 
       </mo> 
       <mtext>
         trainedModel 
       </mtext> 
       <mtext>
         .predictFcn 
       </mtext> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          T 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> (6)</p>
    <p>where:</p>
    <p>yfit contains the forecasted values for each data point,</p>
    <p>trained Model = the exported machine learning model,</p>
    <p>T = the test dataset in a tabular format.</p>
   </sec>
  </sec><sec id="s3">
   <title>3. Results and Discussions</title>
   <sec id="s3_1">
    <title>3.1. Data Acquisition and Preparation</title>
    <p>A dataset made up of both electrical and meteorological data was obtained and used for the training, validation, and testing of MLMs. The raw data acquired was made up of 35,064 records. After preprocessing the acquired raw data was reduced to 33,000 records, representing 94% of the original raw data. Solar PV power generation which was used as the output varied from 0 kW to 18 kW.</p>
    <p>Both electrical and meteorological data sets were used for the training, validation, and testing of MLMs. The raw data acquired had 35,064 records. After preprocessing the acquired raw data was reduced to 33,000 records, representing 94% of the original raw data. Solar PV power generation used as the output varied from 0 kW to 18 kW as shown in <xref ref-type="fig" rid="fig3">
      Figure 3
     </xref>.</p>
    <fig id="fig3" position="float">
     <label>Figure 3</label>
     <caption>
      <title>Figure 3. Output Range of Solar PV power generation.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/1771235-rId33.jpeg?20250815020528" />
    </fig>
    <p>The data acquired revealed that the study area considered has a high solar PV power potential, whose exploitation and use can go a long way to provide households and businesses with sustainable electricity supply.</p>
   </sec>
   <sec id="s3_2">
    <title>3.2. Relationship between Meteorological Parameters and Solar PV Power Generation</title>
    <p>Direct beam irradiance and ambient temperature influence Solar PV power generation more than other meteorological parameters <xref ref-type="bibr" rid="scirp.144824-23">
      [23]
     </xref>. Thus, after the data was acquired and preprocessed, the relationship between the direct beam irradiance and ambient temperature and solar PV power generation were studied. The results showed that solar PV power generation is directly proportional to the direct beam irradiance <xref ref-type="bibr" rid="scirp.144824-23">
      [23]
     </xref>, while the optimum Solar PV power generation of 17 kW occurred when the ambient temperature was somewhere between 24˚C and 28˚C.</p>
   </sec>
   <sec id="s3_3">
    <title>3.3. Training and Validation of the MLM</title>
    <p>As mentioned in Section 2.5, a total of 24 MLMs were trained and validated. The MLMs were first validated using the hold out validation technique, and then using the re-substitution validation technique. The results obtained in terms of RMSE and R<sup>2</sup> with both validation techniques are shown in <xref ref-type="table" rid="table2">
      Table 2
     </xref>. The hold-out validation yielded RMSE and R<sup>2</sup> values of the 24 MLMs ranging from 8.8227 to 477.19 and 0.994 to 0.999 respectively. The re-substitution validation yielded RMSE and R<sup>2</sup> values ranging from 2.4620 to 352.07 and 0.994 to 0.999 respectively. From <xref ref-type="table" rid="table2">
      Table 2
     </xref>, the Fine Gaussian SVM MLM was the least accurate with a RMSE value of 477.19 and an R<sup>2</sup> value of 0.990 after the hold-out validation and also the least accurate with an RMSE value of 352.07 and an R<sup>2</sup> value of 0.994 after the Re-substitution validation.</p>
    <table-wrap id="table2">
     <label>
      <xref ref-type="table" rid="table2">
       Table 2
      </xref></label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.144824-"></xref>Table 2. Validation of the 24 MLM in terms of RMSE and R<sup>2</sup>.</title>
     </caption>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td rowspan="2" class="acenter" width="6.17%"><p style="text-align:center">S/N</p></td> 
       <td rowspan="2" class="acenter" width="28.48%"><p style="text-align:center">ML model</p></td> 
       <td class="custom-bottom-td acenter" width="32.87%" colspan="2"><p style="text-align:center">RMSE</p></td> 
       <td class="custom-bottom-td acenter" width="32.48%" colspan="2"><p style="text-align:center">R<sup>2</sup></p></td> 
      </tr> 
      <tr> 
       <td class="custom-bottom-td custom-top-td acenter" width="13.46%"><p style="text-align:center">Hold out validation</p></td> 
       <td class="custom-bottom-td custom-top-td acenter" width="19.42%"><p style="text-align:center">Re-substitution validation</p></td> 
       <td class="custom-bottom-td custom-top-td acenter" width="13.15%"><p style="text-align:center">Hold out validation</p></td> 
       <td class="custom-bottom-td custom-top-td acenter" width="19.32%"><p style="text-align:center">Re-substitution validation</p></td> 
      </tr> 
      <tr> 
       <td class="custom-top-td acenter" width="6.17%"><p style="text-align:center">1</p></td> 
       <td class="custom-top-td acenter" width="28.48%"><p style="text-align:center">Wide Neural Network</p></td> 
       <td class="custom-top-td acenter" width="13.46%"><p style="text-align:center">8.8227</p></td> 
       <td class="custom-top-td acenter" width="19.42%"><p style="text-align:center">9.299</p></td> 
       <td class="custom-top-td acenter" width="13.15%"><p style="text-align:center">0.999</p></td> 
       <td class="custom-top-td acenter" width="19.32%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">2</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Matern 5/2 GPR</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">9.404</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">8.858</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">3</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Rational Quadratic GPR</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">11.891</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">11.17</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">4</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Medium Neural Network</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">13.276</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">16.32</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">5</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Squared Exponential GPR</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">14.061</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">13.638</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">6</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Trilayered Neural Network</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">14.322</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">16.748</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">7</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Exponential GPR</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">14.45</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">2.462</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">8</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Bilayered Neural Network</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">16.894</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">19.489</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">9</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Narrow Neural Network</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">20.893</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">33.122</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">10</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Stepwise Linear</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">86.806</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">88.904</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">11</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Interactions Linear</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">86.807</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">88.899</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">12</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Bagged Trees</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">144.06</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">86.84</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">13</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Linear</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">146.2</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">146.74</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">14</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Linear SVM</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">165.92</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">165.85</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.998</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.998</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">15</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Medium Gaussian SVM</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">167.94</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">158.08</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.998</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.998</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">16</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Coarse Gaussian SVM</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">170.83</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">171.79</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.998</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.998</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">17</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Fine Tree</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">175.6</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">100.74</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.998</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">18</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Cubic SVM</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">187.85</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">199.39</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.998</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.998</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">19</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Medium Tree</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">189.11</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">130.25</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.998</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">20</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Robust Linear</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">202.42</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">188.77</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.998</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.998</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">21</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Coarse Tree</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">237.52</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">186.79</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.998</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.998</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">22</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Quadratic SVM</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">242.32</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">234.22</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.997</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.997</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">23</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Boosted Trees</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">347.19</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">335.93</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.994</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.995</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.17%"><p style="text-align:center">24</p></td> 
       <td class="acenter" width="28.48%"><p style="text-align:center">Fine Gaussian SVM</p></td> 
       <td class="acenter" width="13.46%"><p style="text-align:center">477.19</p></td> 
       <td class="acenter" width="19.42%"><p style="text-align:center">352.07</p></td> 
       <td class="acenter" width="13.15%"><p style="text-align:center">0.99</p></td> 
       <td class="acenter" width="19.32%"><p style="text-align:center">0.994</p></td> 
      </tr> 
     </table>
    </table-wrap>
    <p>After the Hold-out validation, the Wide Neural Network was the most accurate MLM with a RMSE values of 8.8227 and R<sup>2</sup> value of 0.999 while the Exponential GPR MLM had a RMSE value of 14.450 and R<sup>2</sup> of 0.999. After the re-substitution validation, Exponential GPR was the most accurate MLM with a RMSE value of 2.4620 and R<sup>2</sup> value of 0.999 while the Wide Neural Network had a RMSE of 9.2997 and a R<sup>2</sup> value of 0.999. Also, after the hold-out validation, the Matern 5/2 GPR MLM had a RMSE value of 9.4042 and a R<sup>2</sup> value of 0.999; and a RMSE value of 8.8580 and an R<sup>2</sup> value of 0.999 after the re-substitution validation. Therefore, the Wide Neural Network and Matern 5/2 GPR MLMs were potential candidates for the most accurate MLM for forecasting of Solar PV power generation in Bamenda, Cameroon, after training.</p>
   </sec>
   <sec id="s3_4">
    <title>3.4. Test of the Machine Learning Models</title>
    <p>
     <xref ref-type="table" rid="table3">
      Table 3
     </xref> presents the outcome of the test of the 24 MLMs in terms of RMSE and R<sup>2</sup>. From <xref ref-type="table" rid="table3">
      Table 3
     </xref>, the Fine Gaussian SVM MLM was the least accurate MLM with a RMSE value of 458.97 and an R<sup>2</sup> value of 0.990 after the hold-out validation and also the least accurate with a RMSE value of 443.50 and an R<sup>2</sup> value of 0.991 after the Re-substitution validation.</p>
    <table-wrap id="table3">
     <label>
      <xref ref-type="table" rid="table3">
       Table 3
      </xref></label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.144824-"></xref>Table 3. Test of the 24 MLMs in terms of the RMSE and R<sup>2</sup>.</title>
     </caption>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td rowspan="2" class="acenter" width="6.60%"><p style="text-align:center">S/N</p></td> 
       <td rowspan="2" class="acenter" width="28.52%"><p style="text-align:center">Machine learning model</p></td> 
       <td class="custom-bottom-td acenter" width="32.78%" colspan="2"><p style="text-align:center">RMSE</p></td> 
       <td class="custom-bottom-td acenter" width="32.10%" colspan="2"><p style="text-align:center">R<sup>2</sup></p></td> 
      </tr> 
      <tr> 
       <td class="custom-bottom-td custom-top-td acenter" width="13.62%"><p style="text-align:center">Hold out validation</p></td> 
       <td class="custom-bottom-td custom-top-td acenter" width="19.16%"><p style="text-align:center">Re-substitution validation</p></td> 
       <td class="custom-bottom-td custom-top-td acenter" width="13.05%"><p style="text-align:center">Hold out validation</p></td> 
       <td class="custom-bottom-td custom-top-td acenter" width="19.05%"><p style="text-align:center">Re-substitution validation</p></td> 
      </tr> 
      <tr> 
       <td class="custom-top-td acenter" width="6.60%"><p style="text-align:center">1</p></td> 
       <td class="custom-top-td acenter" width="28.52%"><p style="text-align:center">Wide Neural Network</p></td> 
       <td class="custom-top-td acenter" width="13.62%"><p style="text-align:center">9.377</p></td> 
       <td class="custom-top-td acenter" width="19.16%"><p style="text-align:center">9.5279</p></td> 
       <td class="custom-top-td acenter" width="13.05%"><p style="text-align:center">0.999</p></td> 
       <td class="custom-top-td acenter" width="19.05%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">2</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Matern 5/2 GPR</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">9.452</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">10.104</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">3</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Exponential GPR</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">10.299</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">14.861</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">4</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">RationalQuadratic GPR</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">10.922</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">12.248</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">5</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Squared Exponential GPR</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">13.824</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">14.689</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">6</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Trilayered Neural Network</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">15.21</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">17.071</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">7</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Medium Neural Network</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">16.348</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">17.07</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">8</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Bilayered Neural Network</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">19.63</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">20.034</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">9</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">NarrowNeural Network</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">29.851</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">34.105</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">10</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Interactions Linear</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">90.252</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">88.225</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">11</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Stepwise Linear</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">90.258</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">88.233</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">12</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Bagged Trees</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">127.37</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">126.79</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">13</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Linear</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">147.98</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">146.93</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.999</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.999</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">14</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Medium Gaussian SVM</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">155.03</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">160.24</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.998</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.998</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">15</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Fine Tree</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">163.96</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">168.41</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.998</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.998</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">16</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Linear SVM</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">167.28</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">167.18</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.998</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.998</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">17</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Medium Tree</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">174.04</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">176.32</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.998</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.998</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">18</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Coarse Gaussian SVM</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">174.78</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">172.84</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.998</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.998</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">19</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Robust Linear</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">191.3</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">186.03</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.998</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.998</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">20</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Cubic SVM</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">192.94</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">199.56</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.998</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.998</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">21</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Coarse Tree</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">210.16</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">214.86</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.998</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.998</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">22</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Quadratic SVM</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">236.37</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">234.96</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.997</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.997</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">23</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Boosted Trees</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">338.89</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">343.29</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.995</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.994</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="6.60%"><p style="text-align:center">24</p></td> 
       <td class="acenter" width="28.52%"><p style="text-align:center">Fine Gaussian SVM</p></td> 
       <td class="acenter" width="13.62%"><p style="text-align:center">458.97</p></td> 
       <td class="acenter" width="19.16%"><p style="text-align:center">443.5</p></td> 
       <td class="acenter" width="13.05%"><p style="text-align:center">0.99</p></td> 
       <td class="acenter" width="19.05%"><p style="text-align:center">0.991</p></td> 
      </tr> 
     </table>
    </table-wrap>
    <p>After the Hold-out validation, the Wide Neural Network was the most accurate MLM with a RMSE value of 9.377 and an R<sup>2</sup> value of 0.999, the Matern 5/2 GPR had a RMSE value of 9.4522 and R<sup>2</sup> value of 0.999 while the Exponential GPR MLM had a RMSE value of 10.299 and R<sup>2</sup> value of 0.999. After the re-substitution validation, the wide neural network was the most accurate MLM with a RMSE value of 9.5279 and R<sup>2</sup> value of 0.999, the Matern 5/2 GPR had a RMSE value 10.104 and a R<sup>2</sup> value of 0.999, while the Exponential GPR had a RMSE value of 14.861 and a R<sup>2</sup> value of 0.999.</p>
    <p>Therefore, after testing of the MLMs, the Wide Neural Network and Matern 5/2 GPR MLMs were potential candidates for an accurate MLM for forecasting of Solar PV power generation in Bamenda, Cameroon. Additionally, 62% of the MLMs yielded more accurate results with the hold-out validation technique.</p>
   </sec>
   <sec id="s3_5">
    <title>3.5. Performance Evaluation and Selection of the Accurate MLM</title>
    <p>Performance evaluation of the 24 MLM was done by comparing the RMSE and R<sup>2</sup> values of the models achieved during the testing phase, as well as observing and comparing the actual versus forecasted plots of Solar PV power generation of the models. In the plots of actual versus forecasted Solar PV power generation, the spread of the data points along the diagonal is an indication of the accuracy of the MLM. The more spread the data points, the least accurate the MLM, the less spread the data point, the more accurate the MLM. The most performant MLM is one with the lowest RMSE and highest R<sup>2</sup> values and less spread of the data points on the plot of the actual vs forecasted Solar PV power generation, while the least performant model is one with highest RMSE and lowest R<sup>2</sup> values and the more spread the data points on the plot of actual vs forecasted Solar PV power generation. A MLM with lowest RMSE and highest R<sup>2</sup> values will be the most accurate model for Solar PV power forecasting in Bamenda, Cameroon. From the testing of the 24 MLMs, the Fine Gaussian SVM yielded the least accuracy, while the wide neural network yielded the highest accuracy and was therefore identified as the most accurate model for forecasting Solar PV power generation in Bamenda, Cameroon. <xref ref-type="fig" rid="fig4">
      Figure 4
     </xref> is a plot of the actual vs forecasted Solar PV power generation for Fine Gaussian SVM (the least accurate MLM) while <xref ref-type="fig" rid="fig5">
      Figure 5
     </xref> is the actual vs predicted plot of Wide Neural Network (the most accurate MLM).</p>
    <fig id="fig4" position="float">
     <label>Figure 4</label>
     <caption>
      <title>Figure 4. Actual vs forecasted solar PV power generation using Fine Gaussian SVM.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/1771235-rId34.jpeg?20250815020531" />
    </fig>
    <fig id="fig5" position="float">
     <label>Figure 5</label>
     <caption>
      <title>Figure 5. Forecasted vs actual solar PV power generation using the wide neural network.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/1771235-rId35.jpeg?20250815020531" />
    </fig>
    <p>Therefore, the wide neural network MLM, with a RMSE value of 9.377 and R<sup>2</sup> value of 0.999 from the hold-out validation during the testing, was identified to be the most accurate MLM for forecasting Solar PV power generation in the Bamenda, Cameroon. In terms of R<sup>2</sup>, the wide neural network, identified as the most accurate MLM in this study, yielded higher values, compared to the values obtained by <xref ref-type="bibr" rid="scirp.144824-31">
      [31]
     </xref>-<xref ref-type="bibr" rid="scirp.144824-35">
      [35]
     </xref>.</p>
    <p>Therefore, the wide neural network MLM, with a RMSE value of 9.377 and R<sup>2</sup> value of 0.999 from the hold-out validation during the testing, was identified to be the most accurate MLM for forecasting Solar PV power generation in Bamenda, Cameroon. Key hyper-parameters of the wide neural network MLM are shown in <xref ref-type="table" rid="table4">
      Table 4
     </xref>. In terms of R<sup>2</sup>, the wide neural network, identified as the most accurate MLM in this study, yielded higher values, compared to the values obtained in previous research as reported in <xref ref-type="bibr" rid="scirp.144824-31">
      [31]
     </xref>-<xref ref-type="bibr" rid="scirp.144824-35">
      [35]
     </xref>.</p>
    <table-wrap id="table4">
     <label>
      <xref ref-type="table" rid="table4">
       Table 4
      </xref></label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.144824-"></xref>Table 4. Hyper-parameters of wide neural network.</title>
     </caption>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td class="acenter" width="60.24%"><p style="text-align:center">Number of hidden layers</p></td> 
       <td class="acenter" width="39.76%"><p style="text-align:center">1</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="60.24%"><p style="text-align:center">First layer size</p></td> 
       <td class="acenter" width="39.76%"><p style="text-align:center">100</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="60.24%"><p style="text-align:center">Activation function</p></td> 
       <td class="acenter" width="39.76%"><p style="text-align:center">ReLU</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="60.24%"><p style="text-align:center">Iteration limit</p></td> 
       <td class="acenter" width="39.76%"><p style="text-align:center">1000</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="60.24%"><p style="text-align:center">Optimizer</p></td> 
       <td class="acenter" width="39.76%"><p style="text-align:center">Not applicable</p></td> 
      </tr> 
     </table>
    </table-wrap>
   </sec>
   <sec id="s3_6">
    <title>3.6. Forecasting of Solar PV Power Generation in Bamenda, Cameroon</title>
    <p>The Wide Neural Network MLM was used to forecast the Solar PV power generation in Bamenda, North West Region following the procedure described in Section 2.9. The short-term forecasting results are shown graphically in <xref ref-type="fig" rid="fig6">
      Figure 6
     </xref>.</p>
    <fig id="fig6" position="float">
     <label>Figure 6</label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.144824-"></xref>Figure 6. Wide neural network forecast of solar PV power generation in Bamenda, Cameroon.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/1771235-rId36.jpeg?20250815020532" />
    </fig>
    <p>The forecasting results revealed a small variation between the actual values of solar PV power generation and forecasted values of solar PV power generation.</p>
   </sec>
  </sec><sec id="s4">
   <title>4. Conclusions</title>
   <p>
    <xref ref-type="bibr" rid="scirp.144824-"></xref>The objective of this study was to identify an accurate MLM for forecasting of Solar PV power generation in Bamenda, North West Region of Cameroon. Raw data with 35,064 records and 7 features (six input and one output) was obtained from Photovoltaic Geographic Information System (PVGIS), hosted by the European Commission. The data provided the Solar PV power generation potential of a 20-kW solar PV system for Bamenda, Cameroon. The raw data was preprocessed using Microsoft Excel and MATLAB software. After preprocessing of the 35,064 data records, 33,000 records (94%) were retained for the training and testing of the MLMs. The preprocessed data with 33,000 records was split into training dataset of 26,400 records which represented 80% of the preprocessed data and testing dataset of 6600 records which represented 20% of the preprocessed dataset.</p>
   <p>Using the training dataset, the MLMs were trained and validated using two validation techniques, namely: hold-out validation and re-substitution validation, providing valuable insights into MLM evaluation methodologies. Hold-out validation technique produced more accurate results than re-substitution validation technique, thereby underscoring the need for choosing an appropriate validation technique in training MLMs for solar PV power forecasting. Training and validation of the MLMs were followed by the testing of the MLMs using the test dataset. Wide Neural Network emerged as the most accurate MLM, with a RMSE of 9.377 W and R<sup>2</sup> of 0.999. Being the most accurate and better-yield MLM, Wide Neural Network was then used to forecast solar PV power generation in Bamenda, Cameroon, with results showing a small variation between actual solar PV power and forecasted solar PV power.</p>
   <p>This study demonstrates significant advancements in employing machine learning for energy forecasting, a key step towards sustainable energy management. Overall, this study implies that adopting advanced MLMs like Wide Neural Networks, alongside rigorous validation techniques could be instrumental in optimizing solar PV power production. This approach not only enhances forecasting accuracy but also supports energy planning strategies, fostering sustainable development in the North West Region of Cameroon and potentially serving as a model for other regions with similar energy needs.</p>
   <p>In this study, Wide Neural Network selected as the most accurate MLM is limited to solar PV power forecasting within the MATLAB environment. The deployment of this MLM to the cloud to enable real-time solar PV power forecasting is recommended.</p>
   <p>Although this study demonstrates the utility of machine learning application in energy forecasting and the performance effectiveness of various MLMs, a limitation of the study is that the MLMs in the study were trained on a single location and the results cannot be generalized. Furthermore, performance checks of the MLM on external sites were not performed. The direction of future research could address these limitations.</p>
  </sec><sec id="s5">
   <title>Acknowledgements</title>
   <p>The authors are grateful to the Responsible Artificial Intelligence Network for Climate Action in Africa (RAINCA) Consortium, made up of the Regional Universities Forum for Capacity Building in Agriculture (RUFORUM), the West African Science Centre on Climate Change and Adapted Land Use (WASCAL), and AKADEMIYA2063 for providing funding for this research with the support of IDRC (Grant #: 109705-001/002).</p>
   <p>The Authors acknowledge the institutional support of The University of Bamenda, Cameroon.</p>
  </sec><sec id="s6">
   <title>NOTES</title>
   <p>*Corresponding author.</p>
  </sec>
 </body><back>
  <ref-list>
   <title>References</title>
   <ref id="scirp.144824-ref1">
    <label>1</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Rahman, M.M., Islam, M.A., Karim, A.H.M.Z. and Ronee, A.H. (2012) Effects of Natural Dust on the Performance of PV Panels in Bangladesh. International Journal of Modern Education and Computer Science, 4, 26-32. &gt;https://doi.org/10.5815/ijmecs.2012.10.04
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref2">
    <label>2</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Zazoum, B. (2022) Solar Photovoltaic Power Prediction Using Different Machine Learning Methods. Energy Reports, 8, 19-25. &gt;https://doi.org/10.1016/j.egyr.2021.11.183
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref3">
    <label>3</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Raghuvanshi, S.P., Raghav, A.K. and Chandra, A. (2008) Renewable Energy Resources for Climate Change Mitigation. Applied Ecology and Environmental Research, 6, 15-27. &gt;https://doi.org/10.15666/aeer/0604_015027
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref4">
    <label>4</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Asoh, D.A. and Awangum, N.N. (2022) Low-Cost Automated PV Panel Dust Cleaning System for Rural Communities. Smart Grid and Renewable Energy, 13, 173-199. &gt;https://doi.org/10.4236/sgre.2022.138011
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref5">
    <label>5</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Gaviria, J.F., Narváez, G., Guillen, C., Giraldo, L.F. and Bressan, M. (2022) Machine Learning in Photovoltaic Systems: A Review. Renewable Energy, 196, 298-318. &gt;https://doi.org/10.1016/j.renene.2022.06.105
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref6">
    <label>6</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Mbinkar, E.N., Asoh, A.D., Tchuidjan, R. and Baldeh, A. (2021) Design of a Photovoltaic Mini-Grid System for Rural Electrification in Sub-Saharan Africa. Energy and Power Engineering, 13, 91-110. &gt;https://doi.org/10.4236/epe.2021.133007
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref7">
    <label>7</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Narvaez, G., Bressan, M., Pantoja, A. and Giraldo, L.F. (2023) Climate Change Impact on Photovoltaic Power Potential in South America. Environmental Research Communications, 5, Article ID: 081004. &gt;https://doi.org/10.1088/2515-7620/acf02e
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref8">
    <label>8</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Panahian, M., Ghosh, S. and Ding, G. (2017) Assessing Potential for Reduction in Carbon Emissions in a Multi-Unit of Residential Development in Sydney. Procedia Engineering, 180, 591-600. &gt;https://doi.org/10.1016/j.proeng.2017.04.218
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref9">
    <label>9</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Woldegiyorgis, T.A., Benti, N.E., Chaka, M.D., Semie, A.G., Habtemicheal, B.A., Assamnew, A.D., et al. (2023) Harnessing Solar Power: Predicting Photovoltaic Potential in Fiche, Oromia, Ethiopia with Artificial Neural Networks. Scientific African, 21, e01884. &gt;https://doi.org/10.1016/j.sciaf.2023.e01884
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref10">
    <label>10</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Panagea, I.S., Tsanis, I.K., Koutroulis, A.G. and Grillakis, M.G. (2014) Climate Change Impact on Photovoltaic Energy Output: The Case of Greece. Advances in Meteorology, 2014, Article ID: 264506. &gt;https://doi.org/10.1155/2014/264506
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref11">
    <label>11</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Erten, M.Y. and Aydilek, H. (2022) Solar Power Prediction Using Regression Models. International Journal of Engineering Research and Development, 14, s333-s342. &gt;https://doi.org/10.29137/umagd.1100957
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref12">
    <label>12</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Van Tai, D. (2019) Solar Photovoltaic Power Output Forecasting Using Machine Learning Technique. Journal of Physics: Conference Series, 1327, Article ID: 012051. &gt;https://doi.org/10.1088/1742-6596/1327/1/012051
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref13">
    <label>13</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Alcañiz, A., Grzebyk, D., Ziar, H. and Isabella, O. (2023) Trends and Gaps in Photovoltaic Power Forecasting with Machine Learning. Energy Reports, 9, 447-471. &gt;https://doi.org/10.1016/j.egyr.2022.11.208
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref14">
    <label>14</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Pavithra, C.V., Divya, R., Bavithra, K. and Jeyashree, A. (2022) Machine Learning for Solar Power Forecasting. Mathematical Statistician and Engineering Applications, 71, 1574-1591.
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref15">
    <label>15</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Nfah, E.M., Ngundam, J.M. and Tchinda, R. (2007) Modelling of Solar/Diesel/Battery Hybrid Power Systems for Far-North Cameroon. Renewable Energy, 32, 832-844. &gt;https://doi.org/10.1016/j.renene.2006.03.010
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref16">
    <label>16</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Nfah, E.M. and Ngundam, J.M. (2009) Feasibility of Pico-Hydro and Photovoltaic Hybrid Power Systems for Remote Villages in Cameroon. Renewable Energy, 34, 1445-1450. &gt;https://doi.org/10.1016/j.renene.2008.10.019
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref17">
    <label>17</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     MINEE&amp;KEEI (2017) A Study for Establishment of the Master Plan of Renewable Energy in Cameroon. Korea Energy Economics Institute.
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref18">
    <label>18</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Maps of India (2023) Political Map of Cameroon. &gt;https://www.mapsofindia.com/world-map/cameroon/ 
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref19">
    <label>19</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     EU Science Hub (2023) Photovoltaic Geographical Information System (PVGIS). &gt;https://joint-research-centre.ec.europa.eu/photovoltaic-geographical-information-system-pvgis_en 
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref20">
    <label>20</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Anuradha, K., Erlapally, D., Karuna, G., Srilakshmi, V. and Adilakshmi, K. (2021) Analysis of Solar Power Generation Forecasting Using Machine Learning Techniques. E3S Web of Conferences, 309, Article ID: 01163. &gt;https://doi.org/10.1051/e3sconf/202130901163
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref21">
    <label>21</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Sharkawy, A., Ali, M., Mousa, H., Ali, A. and Abdel-Jaber, G. (2022) Machine Learning Method for Solar PV Output Power Prediction. SVU-International Journal of Engineering Sciences and Applications, 3, 123-130. &gt;https://doi.org/10.21608/svusrc.2022.157039.1066
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref22">
    <label>22</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Jacques, M.R.J., Raoul, D.N.S., Wıra, P., Wulfran, F.M. and Saatong, K.T. (2023) Solar Irradiance Forecasting Based on Deep Learning for Sustainable Electrical Energy in Cameroon. International Journal of Smart Grid, 7, 61-68.
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref23">
    <label>23</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Mahmud, K., Azam, S., Karim, A., Zobaed, S., Shanmugam, B. and Mathur, D. (2021) Machine Learning Based PV Power Generation Forecasting in Alice Springs. IEEE Access, 9, 46117-46128. &gt;https://doi.org/10.1109/access.2021.3066494
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref24">
    <label>24</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Alhmoud, L., Al-Zoubi, A.M. and Aljarah, I. (2022) Solar PV Power Forecasting at Yarmouk University Using Machine Learning Techniques. Open Engineering, 12, 1078-1088. &gt;https://doi.org/10.1515/eng-2022-0386
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref25">
    <label>25</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Gaboitaolelwe, J., Zungeru, A.M., Yahya, A., Lebekwe, C.K., Vinod, D.N. and Salau, A.O. (2023) Machine Learning Based Solar Photovoltaic Power Forecasting: A Review and Comparison. IEEE Access, 11, 40820-40845. &gt;https://doi.org/10.1109/access.2023.3270041
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref26">
    <label>26</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Essam, Y., Ahmed, A.N., Ramli, R., Chau, K., Idris Ibrahim, M.S., Sherif, M., et al. (2022) Investigating Photovoltaic Solar Power Output Forecasting Using Machine Learning Algorithms. Engineering Applications of Computational Fluid Mechanics, 16, 2002-2034. &gt;https://doi.org/10.1080/19942060.2022.2126528
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref27">
    <label>27</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Ojo, O.S. and Ogunjo, S.T. (2022) Machine Learning Models for Prediction of Rainfall over Nigeria. Scientific African, 16, e01246. &gt;https://doi.org/10.1016/j.sciaf.2022.e01246
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref28">
    <label>28</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Belu, R. (2013) Artificial Intelligence Techniques for Solar Energy and Photovoltaic Applications. In: Handbook of Research on Solar Energy Systems and Technologies, IGI Global, 376-436. &gt;https://doi.org/10.4018/978-1-4666-1996-8.ch015
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref29">
    <label>29</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     MathWorks (2024) Train Regression Models in Regression Learner App. &gt;https://www.mathworks.com/help/stats/train-regression-models-in-regression-learner-app.html 
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref30">
    <label>30</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     MathWorks (2023) Select Data for Regression or Open Saved App Session. &gt;https://www.mathworks.com/help/stats/select-data-and-validation-for-regression-problem.html 
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref31">
    <label>31</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Isma’il, M. and Aliyu, S. (2023) Daily Solar Radiation Forecasting for Northwest Nigeria Using Long Short-Term Memory. International Journal of Science for Global Sustainability, 9, 142-149. &gt;https://doi.org/10.57233/ijsgs.v9i1.407
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref32">
    <label>32</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Olatomiwa, L., Mekhilef, S., Shamshirband, S., Mohammadi, K., Petković, D. and Sudheer, C. (2015) A Support Vector Machine-Firefly Algorithm-Based Model for Global Solar Radiation Prediction. Solar Energy, 115, 632-644. &gt;https://doi.org/10.1016/j.solener.2015.03.015
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref33">
    <label>33</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Mohan, A. and Ngwira, M. (2019) Monthly Average Irradiation Forecasting for Malawi’s Solar Resources. International Journal of Innovative Technology and Exploring Engineering, 8, 1049-1060.
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref34">
    <label>34</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Allam, G.H., Elnaghi, B.E., Abdelwahab, M.N. and Mohammed, R.H. (2021) Using Machine Learning to Forecast Solar Power in Ismailia. International Journal of Scientific and Research Publications, 11, 238-244. &gt;https://doi.org/10.29322/ijsrp.11.12.2021.p12033
    </mixed-citation>
   </ref>
   <ref id="scirp.144824-ref35">
    <label>35</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Olatunde, O.O., Samuel, O.O., Israel, E. and Babatunde, A. (2021) Autoregressive Neural Network Models for Solar Power Forecasting over Nigeria. Journal of Solar Energy Research, 7, 983-996.
    </mixed-citation>
   </ref>
  </ref-list>
 </back>
</article>