<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Energy Res.</journal-id>
<journal-title>Frontiers in Energy Research</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Energy Res.</abbrev-journal-title>
<issn pub-type="epub">2296-598X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1477248</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2025.1477248</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Energy Research</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Forecasting day-ahead electric power prices with functional data analysis</article-title>
<alt-title alt-title-type="left-running-head">Jan et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fenrg.2025.1477248">10.3389/fenrg.2025.1477248</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Jan</surname>
<given-names>Faheem</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2811501/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Iftikhar</surname>
<given-names>Hasnain</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1885800/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Tahir</surname>
<given-names>Mehwish</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2811662/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Khan</surname>
<given-names>Mehak</given-names>
</name>
<xref ref-type="aff" rid="aff4">
<sup>4</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2429995/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Department of Mathematics and Statistics</institution>, <institution>Bacha Khan University</institution>, <addr-line>Charsadda</addr-line>, <country>Pakistan</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Department of Statistics</institution>, <institution>Quaid-i-Azam University</institution>, <addr-line>Islamabad</addr-line>, <country>Pakistan</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>Department of Mathematics</institution>, <institution>Shaheed Benazir Bhutto Women University</institution>, <addr-line>Peshawar</addr-line>, <country>Pakistan</country>
</aff>
<aff id="aff4">
<sup>4</sup>
<institution>Department of Computer Science</institution>, <institution>Electrical Engineering and Mathematical Sciences</institution>, <institution>Western Norway University of Applied Sciences</institution>, <addr-line>Bergen</addr-line>, <country>Norway</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2671169/overview">A. S. M. Monjurul Hasan</ext-link>, University of Technology Sydney, Australia</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2418230/overview">Burcin Cakir Erdener</ext-link>, National Renewable Energy Laboratory (DOE), United States</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2420151/overview">Behnam Talebjedi</ext-link>, Aalto University, Finland</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Hasnain Iftikhar, <email>hasnain@stat.qau.edu.pk</email>; Mehak Khan, <email>mehakkhan3@hotmail.com</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>28</day>
<month>03</month>
<year>2025</year>
</pub-date>
<pub-date pub-type="collection">
<year>2025</year>
</pub-date>
<volume>13</volume>
<elocation-id>1477248</elocation-id>
<history>
<date date-type="received">
<day>07</day>
<month>08</month>
<year>2024</year>
</date>
<date date-type="accepted">
<day>25</day>
<month>02</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2025 Jan, Iftikhar, Tahir and Khan.</copyright-statement>
<copyright-year>2025</copyright-year>
<copyright-holder>Jan, Iftikhar, Tahir and Khan</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>Day-ahead electricity prices in today&#x2019;s competitive electric power markets have complex features such as high frequency, high volatility, non-linearity, non-stationarity, mean reversion, multiple periodicities, and calendar effects. These complicated features make price forecasting difficult. To address this, this research examines the application of functional data analysis to forecasting day-ahead electric power prices. Compared to classical time series forecasting approaches, functional data analysis is more appealing since it anticipates the daily profile, allowing for short-term projections. This technique uses a functional autoregressive (<inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR) and a functional autoregressive with exogenous predictors (<inline-formula id="inf2">
<mml:math id="m2">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf3">
<mml:math id="m3">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) model to predict the next-day electric power prices. In addition, standard time-series forecasting models, including autoregressive (AR) AR<inline-formula id="inf4">
<mml:math id="m4">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, autoregressive integrated moving average (ARIMA), and ARIMA<inline-formula id="inf5">
<mml:math id="m5">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> are also utilized for comparison. The model&#x2019;s prediction performance was evaluated using data on electricity prices from the British electricity market, considering forecast error indicators and the same forecast statistical test. The results show that the proposed functional models (<inline-formula id="inf6">
<mml:math id="m6">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR and <inline-formula id="inf7">
<mml:math id="m7">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf8">
<mml:math id="m8">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) outperform standard time series models. In comparison to the benchmark models (AR, AR<inline-formula id="inf9">
<mml:math id="m9">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, ARIMA, ARIMA<inline-formula id="inf10">
<mml:math id="m10">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and the proposed <inline-formula id="inf11">
<mml:math id="m11">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR model), the <inline-formula id="inf12">
<mml:math id="m12">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf13">
<mml:math id="m13">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> model reduces: the day-ahead forecasting average MAPE by ranges of 5.02%&#x2013;45.77%, 4.07%&#x2013;40.63%, 3.80%&#x2013;38.99%, 1.90%&#x2013;24.22%, and 0.95%&#x2013;13.78%; MAE by ranges of 9.43%&#x2013;69.32%, 5.17%&#x2013;65.48%, 6.04%&#x2013;59.16%, 3.02%&#x2013;42.01%, and 1.51%&#x2013;26.59%; RMSE by ranges of 8.98%&#x2013;40.97%, 6.68%&#x2013;34.03%, 4.22%&#x2013;24.58%, 3.91%&#x2013;23.20%, and 2.30%&#x2013;15.11%. Furthermore, compared with the literature-proposed best models, the <inline-formula id="inf14">
<mml:math id="m14">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf15">
<mml:math id="m15">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> model produces a significantly higher accuracy and efficient day-ahead forecast based on forecasting error indicators and an equal forecast statistical test. Furthermore, compared with the best models proposed in the literature, the <inline-formula id="inf16">
<mml:math id="m16">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf17">
<mml:math id="m17">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> model demonstrates significantly higher accuracy and efficiency in day-ahead forecasting, as evidenced by forecasting error indicators and an equal forecast statistical test.</p>
</abstract>
<kwd-group>
<kwd>electric power market</kwd>
<kwd>functional data analysis</kwd>
<kwd>day-ahead electricity price forecasting</kwd>
<kwd>classical time series models</kwd>
<kwd>functional time series models</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Energy Efficiency</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>Electricity is an essential requirement for all aspects of modern life. However, large-scale energy storage remains a problem, complicating operating plans in the electricity sector. As a result, energy pricing in supply and demand is an issue since it is directly related to the quantity of consumed load. This connection serves as the foundation for all utility economic planning and administration. Furthermore, trustworthy and committed policies in development plans are essential. For example, generation units must prioritize reliability alongside other policies, such as environmental protection and renewable energy infrastructure development. These policies significantly affect the quality of delivered energy (<xref ref-type="bibr" rid="B27">Lago et al., 2021</xref>).</p>
<p>Efficient planning in reorganized power systems is separated into four time periods: long-term (more than 10 years), medium-term (1 year), short-term (1 week to 1 month), and immediate planning. These plans must consider load usage, electricity pricing, economic conditions, and yearly electricity prices. Furthermore, the demand load quantity, a time-dependent nonlinear function, must be evaluated daily (day or night), seasonally (hot or cold), and considering local weather conditions (<xref ref-type="bibr" rid="B22">Inglada-P&#xe9;rez and Gil, 2024</xref>; <xref ref-type="bibr" rid="B19">Iftikhar et al., 2023a</xref>).</p>
<p>As a result, differing electricity demand patterns and levels vary significantly over time (at least hourly). As mentioned earlier, each phase has significant characteristics that improve managerial performance. During these periods, 1-day forecasting has the most significant impact on power prices. The most crucial advantage of short-term forecasting is that it enhances supply and demand. Therefore, selecting the most accurate and rapid approach for estimating electric power costs is critical and vital (<xref ref-type="bibr" rid="B16">Gonzales et al., 2024</xref>; <xref ref-type="bibr" rid="B20">Iftikhar et al., 2023b</xref>).</p>
<p>To obtain efficient and accurate one-day-ahead electric power demand and prices, many studies have used classical time series forecasting models, including exponential smoothing, regression analysis, and various machine-learning models such as neural networks, fuzzy neural networks, and support vector machines (<xref ref-type="bibr" rid="B34">Pinh&#xe3;o et al., 2022</xref>; <xref ref-type="bibr" rid="B39">Shah et al., 2019</xref>). For example, <xref ref-type="bibr" rid="B13">Dudek (2015)</xref> employed stochastic models for short-term price forecasting. They utilized the regression trees method to forecast electricity prices and compared the results with those of alternative approaches such as ARIMA, exponential smoothing, and neural networks. Empirical findings indicated that their proposed method outperformed other benchmark techniques regarding predictive accuracy. <xref ref-type="bibr" rid="B28">Li et al. (2020)</xref> proposed a new hybrid short-term load forecasting method that combined multivariate linear regression (MLR) and long-short-term memory (LSTM) neural networks. <xref ref-type="bibr" rid="B41">Taheri et al. (2021)</xref> suggested forecasting the electricity demand time series employing a hybrid prediction model that combined LSTM with empirical mode decomposition (EMD). Recurrent neural networks (RNNs) can be preferable as they implicitly capture the temporal context available in the time series or sequential data (<xref ref-type="bibr" rid="B15">Gers et al., 2001</xref>; <xref ref-type="bibr" rid="B25">Karim et al., 2019</xref>; <xref ref-type="bibr" rid="B42">Talebjedi et al., 2024</xref>; <xref ref-type="bibr" rid="B2">Baruah and Organero, 2023</xref>). A gated recurrent unit (GRU) and LSTM networks have demonstrated efficiency in modeling and forecasting time series data (<xref ref-type="bibr" rid="B12">Coelho et al., 2024</xref>). GRU networks are mainly used in classification and are seldom applied in regression problems (<xref ref-type="bibr" rid="B31">Liu et al., 2017</xref>; <xref ref-type="bibr" rid="B43">Ugurlu et al., 2018</xref>). <xref ref-type="bibr" rid="B14">Fargalla et al. (2024)</xref> employed combined neural networks (GRU &#x2b; MLP, CNN &#x2b; bidirectional GRU (BiGRU)) for predicting gas production in various reservoirs, showcasing remarkable prediction capabilities. <xref ref-type="bibr" rid="B17">Hippert et al. (2001)</xref> conducted a comprehensive review of short-term demand prediction and compared the performance of artificial neural networks with classical TS methods. Their results indicate that artificial neural networks outperform classical techniques. With increasing uncertainty in electrical systems, anticipating electricity demand, generation, and pricing becomes challenging for actors in the electrical market (<xref ref-type="bibr" rid="B37">Rajabi and Estebsari, 2019</xref>). Numerous strategies and solutions have been proposed in response to these challenges. However, each method entails its own advantages and disadvantages. As the electricity market integrates more renewable resources with intermittent behavior, the system experiences additional fluctuations and volatility, making the development of superior and efficient forecasting models complex (<xref ref-type="bibr" rid="B8">Chan et al., 2012</xref>). To effectively handle complex TS data, it is essential to develop state-of-the-art visualization, modeling, and forecasting techniques to accommodate high- and infinite-dimensional data. Classical methods for multivariate data encounter difficulties when dealing with such complex data, leading to ineffective results. Therefore, alternative approaches, such as functional data analysis (FDA) methods, have been less explored in the literature.</p>
<p>One-day-ahead price forecasting is of utmost importance for market agents and system operators. Overproduction incurs penalties due to the inability to store electricity and the need to instantly meet demand. Price forecasting also facilitates efficient resource management, optimal scheduling, and production planning to minimize generation costs. Retailers heavily rely on price forecasts to secure the best deals for their energy requirements. Hence, predicting the price for the next day is a significant concern for electricity businesses. The advent of smart metering has increased the frequency of electricity consumption data, with measurements now available at intervals as short as every half-hour or even a few minutes. Consequently, forecasting prices for the following day require predicting many price values beyond the traditional, highlighting the need for innovative methodologies such as utilizing functional data methods (<xref ref-type="bibr" rid="B9">Chaouch, 2013</xref>; <xref ref-type="bibr" rid="B33">Paparoditis and Sapatinas, 2013</xref>; <xref ref-type="bibr" rid="B40">Shah et al., 2022b</xref>). FDA is a statistical framework that analyzes and models observed data as curves or functions. Functional time series (FTS) extends this framework to handle time-dependent functional data, enabling the analysis and forecasting of functional observations over time.</p>
<p>FTS techniques have found numerous applications in electricity markets. From a functional perspective, it is possible to generate long-term estimates of electricity demand or day-ahead clearing prices. The challenge of forecasting over longer horizons can be addressed by transforming it into a series of one-step-ahead functional forecasts. This can be achieved by segmenting the time series into segments of equal length corresponding to the desired forecast horizon. While various approaches exist for dealing with discrete TS, limited contributions specifically focus on FTS (<xref ref-type="bibr" rid="B18">Horv&#xe1;th and Kokoszka, 2012</xref>). From a univariate FTS modeling perspective, the theory of linear FTS in Hilbert space was proposed by <xref ref-type="bibr" rid="B4">Bosq (2000)</xref> and <xref ref-type="bibr" rid="B5">Bosq and Blanke (2008)</xref> by introducing the functional autoregressive (<inline-formula id="inf18">
<mml:math id="m18">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR) model. Notably, the pioneering studies in this research area include functional Yule&#x2013;Walker (YW) estimation and Sieve estimation. Subsequently, <inline-formula id="inf19">
<mml:math id="m19">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR (1) was extended to order <inline-formula id="inf20">
<mml:math id="m20">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> through sequential testing hypothesis methods (<xref ref-type="bibr" rid="B26">Kokoszka and Reimherr, 2013</xref>). <xref ref-type="bibr" rid="B11">Chen and Li (2017)</xref> investigated an adaptive functional autoregressive (AfAR) model for forecasting electricity price curves. By employing California electricity daily price data, their results demonstrated that the proposed AfAR model exhibits superior forecasting accuracy compared to several alternative approaches. <xref ref-type="bibr" rid="B30">Lisi and Shah (2020)</xref> forecast electricity demand and price series by dividing the TS into deterministic and stochastic components. The deterministic component was modeled and forecast using the conventional time series method, and the stochastic component was modeled and projected using the functional models. Both parametric and nonparametric functional models forecast electricity demand and prices. The results of the proposed method were compared with classical models. The results suggested that the proposed method performs relatively better than the competitors.</p>
<p>As seen in the above studies, the functional time series approach enhances the forecasting accuracy and efficacy of short-term electric power prices better than other methods and models. To test these studies, this research examines the application of functional data analysis to forecasting day-ahead electric power prices. Within the functional data analysis, this study proposes a functional autoregressive (<inline-formula id="inf21">
<mml:math id="m21">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR) and a functional autoregressive with exogenous variables (<inline-formula id="inf22">
<mml:math id="m22">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf23">
<mml:math id="m23">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) model to predict next-day electric power prices. The <inline-formula id="inf24">
<mml:math id="m24">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf25">
<mml:math id="m25">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> model includes exogenous variables describing the complex features of electricity power prices (a long-term secular trend, daily, weekly, and annual periodicity, bank holidays). In the past, some research captured these complex features by components-wise estimation (<xref ref-type="bibr" rid="B30">Lisi and Shah, 2020</xref>; <xref ref-type="bibr" rid="B10">Chen et al., 2018</xref>; <xref ref-type="bibr" rid="B1">Aue et al., 2015</xref>). In contrast, our research directly uses these features in a single model (<inline-formula id="inf26">
<mml:math id="m26">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf27">
<mml:math id="m27">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) and checks the proposal&#x2019;s performance in different ways. For instance, standard time series forecasting models, including the autoregressive (AR), the AR<inline-formula id="inf28">
<mml:math id="m28">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, the autoregressive integrated moving average (ARIMA), and the ARIMA<inline-formula id="inf29">
<mml:math id="m29">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, are also utilized for comparison. The model&#x2019;s prediction performance was evaluated using data on electricity prices from the British electricity market, considering forecast error indicators and the same forecast statistical test. Thus, the key contributions of this study are the following.<list list-type="simple">
<list-item>
<p>&#x2022; To improve the efficiency and accuracy of day-ahead electricity price forecasting, this work proposes novel functional autoregressive (<inline-formula id="inf30">
<mml:math id="m30">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR) and functional autoregressive with exogenous variables (<inline-formula id="inf31">
<mml:math id="m31">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf32">
<mml:math id="m32">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) models. The <inline-formula id="inf33">
<mml:math id="m33">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf34">
<mml:math id="m34">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> model includes exogenous variables that describe the complex features of electricity power prices (a long-run secular trend, daily, weekly, and annual periodicity, and bank holidays).</p>
</list-item>
<list-item>
<p>&#x2022; Compare the performance of the proposed functional models with various standard time series models with and without exogenous information.</p>
</list-item>
<list-item>
<p>&#x2022; To evaluate the performance of the proposed functional forecasting models, three different accuracy mean errors are determined: mean absolute error, root mean squared error, and mean absolute percent error; an equal forecast statistical test&#x2014;the Diebold and Marino test; a visual evaluation.</p>
</list-item>
<list-item>
<p>&#x2022; In this study, the results of the functional autoregressive with exogenous variables (<inline-formula id="inf35">
<mml:math id="m35">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf36">
<mml:math id="m36">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) model are compared with the best model proposed in the literature, and the comparative results are recorded. Based on these results, this study&#x2019;s proposed best combination model is highly accurate and efficient compared to the best models reported in the literature for day-ahead electricity price forecasting.</p>
</list-item>
<list-item>
<p>&#x2022; Finally, while this study is limited to the British electricity market, it may be extended and generalized to other energy markets to assess the efficacy of the proposed functional forecasting model.</p>
</list-item>
</list>
</p>
<p>The rest of this study is structured thus. <xref ref-type="sec" rid="s2">Section 2</xref> gives an overview of the basics of the FDA. <xref ref-type="sec" rid="s3">Section 3</xref> presents an overview of the British electricity market and the out-of-sample forecasting results. <xref ref-type="sec" rid="s4">Section 4</xref> compares the current study&#x2019;s proposed best model and the literature&#x2019;s proposed best models. <xref ref-type="sec" rid="s5">Section 5</xref> summarizes the key conclusions drawn from our study and outlines potential future research directions.</p>
</sec>
<sec id="s2">
<title>2 Preliminaries of functional data analysis</title>
<p>This section addresses certain fundamental concepts that are required for developing functioning models. The TS of electricity prices <inline-formula id="inf37">
<mml:math id="m37">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is converted into functional data using specific basis functions. The daily electricity price for the <inline-formula id="inf38">
<mml:math id="m38">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> day can be stated as follows:<disp-formula id="e1">
<mml:math id="m39">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">J</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mspace width="1em"/>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">K</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>where <inline-formula id="inf39">
<mml:math id="m40">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the value of the constant parameters, and <inline-formula id="inf40">
<mml:math id="m41">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> are the Fourier basis functions. <xref ref-type="fig" rid="F4">Figure 4</xref> shows FTS curves for 1826 days, with each functional curve representing a daily price trend. Consider <inline-formula id="inf41">
<mml:math id="m42">
<mml:mrow>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">J</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>. The inner product of <inline-formula id="inf42">
<mml:math id="m43">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mo>&#x22c5;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>&#x22c5;</mml:mo>
<mml:mo>&#x3e;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> generates the norm <inline-formula id="inf43">
<mml:math id="m44">
<mml:mrow>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mo>&#x22c5;</mml:mo>
<mml:mo stretchy="false">&#x2016;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. Define a set of random curves <inline-formula id="inf44">
<mml:math id="m45">
<mml:mrow>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> in <inline-formula id="inf45">
<mml:math id="m46">
<mml:mrow>
<mml:mi mathvariant="script">H</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> with time domain <inline-formula id="inf46">
<mml:math id="m47">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="double-struck">T</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> where <inline-formula id="inf47">
<mml:math id="m48">
<mml:mrow>
<mml:mi mathvariant="script">H</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is a real and separable Hilbert space with a countable and orthonormal basis. We assume <inline-formula id="inf48">
<mml:math id="m49">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> as a separable Hilbert space, with <inline-formula id="inf49">
<mml:math id="m50">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. Assume <inline-formula id="inf50">
<mml:math id="m51">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> has a mean curve <inline-formula id="inf51">
<mml:math id="m52">
<mml:mrow>
<mml:mi mathvariant="script">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and the covariance operator <inline-formula id="inf52">
<mml:math id="m53">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>:</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2192;</mml:mo>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3c0;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, supplied by</p>
<p>
<disp-formula id="equ4">
<mml:math id="m401">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>Cov</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="script">E</mml:mi>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>The eigenfunctions of <inline-formula id="inf54">
<mml:math id="m55">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> are known as functional principle components (FPCs), which are calculated by deconstructing the covariance function of the curves with interdependence. We establish the covariance function <inline-formula id="inf55">
<mml:math id="m56">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3d2;</mml:mi>
<mml:mo>:</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>&#x2192;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> with the covariance function <inline-formula id="inf56">
<mml:math id="m57">
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and extract the FPCs that correspond to <inline-formula id="inf57">
<mml:math id="m58">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>k</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. Thus, the mathematical form is given in <xref ref-type="disp-formula" rid="e2">Equation 2</xref>
<disp-formula id="e2">
<mml:math id="m59">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3d2;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>
</p>
<p>The combination eigenvalue of the covariance function <inline-formula id="inf58">
<mml:math id="m60">
<mml:mrow>
<mml:mi>&#x3c5;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is denoted by <inline-formula id="inf59">
<mml:math id="m61">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. For every <inline-formula id="inf60">
<mml:math id="m62">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>&#x2260;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, the eigenfunctions <inline-formula id="inf61">
<mml:math id="m63">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are assumed to be orthonormal and normalized to the unit norm with <inline-formula id="inf62">
<mml:math id="m64">
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. Using the FPC scores at time <inline-formula id="inf63">
<mml:math id="m65">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> as the specification, the statistical method is to find the orthonormal functions <inline-formula id="inf64">
<mml:math id="m66">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> with the most considerable variances of the leading scores <inline-formula id="inf65">
<mml:math id="m67">
<mml:mrow>
<mml:mi>Var</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>. However, the &#x3bb;k formula is explained in <xref ref-type="disp-formula" rid="e3">Equation 3</xref>.<disp-formula id="e3">
<mml:math id="m68">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msub>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi>d</mml:mi>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>
</p>
<p>It follows that <inline-formula id="inf66">
<mml:math id="m69">
<mml:mrow>
<mml:mi mathvariant="script">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> for <inline-formula id="inf67">
<mml:math id="m70">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2260;</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> since <inline-formula id="inf68">
<mml:math id="m71">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf69">
<mml:math id="m72">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are orthogonal for <inline-formula id="inf70">
<mml:math id="m73">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2260;</mml:mo>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. The values of <inline-formula id="inf71">
<mml:math id="m74">
<mml:mrow>
<mml:mi mathvariant="script">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf72">
<mml:math id="m75">
<mml:mrow>
<mml:mi mathvariant="script">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> are as follows. Subsequently, the Karhunen&#x2013;Lo&#xe8;ve expansion of the function <inline-formula id="inf73">
<mml:math id="m76">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is defined in <xref ref-type="disp-formula" rid="e4">Equation 4</xref>.<disp-formula id="e4">
<mml:math id="m77">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>
</p>
<p>The FPCs at time <italic>i</italic> are represented by the coefficients <inline-formula id="inf74">
<mml:math id="m78">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, which inherit the serial dependency from <inline-formula id="inf75">
<mml:math id="m79">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<sec id="s2-1">
<title>2.1 Functional AutoRegressive model of order <inline-formula id="inf76">
<mml:math id="m80">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</title>
<p>The price curves are modeled and forecast through a functional model called the <inline-formula id="inf77">
<mml:math id="m81">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR <inline-formula id="inf78">
<mml:math id="m82">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> model; mathematically, it is expressed as<disp-formula id="e5">
<mml:math id="m83">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a0;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close="">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>
</p>
<p>where <inline-formula id="inf79">
<mml:math id="m84">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a0;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> are the <inline-formula id="inf80">
<mml:math id="m85">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR operators, <inline-formula id="inf81">
<mml:math id="m86">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the mean curve of <inline-formula id="inf82">
<mml:math id="m87">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf83">
<mml:math id="m88">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the <inline-formula id="inf84">
<mml:math id="m89">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> lag of curve <inline-formula id="inf85">
<mml:math id="m90">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. The <inline-formula id="inf86">
<mml:math id="m91">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is a strong <inline-formula id="inf87">
<mml:math id="m92">
<mml:mrow>
<mml:mi mathvariant="script">H</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-white noise with zero mean and finite second moment (<inline-formula id="inf88">
<mml:math id="m93">
<mml:mrow>
<mml:mi mathvariant="script">E</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>). <inline-formula id="inf89">
<mml:math id="m94">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf90">
<mml:math id="m95">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> chooses the order and dimension using a functional final prediction error (fFPE). For modeling and estimating the <inline-formula id="inf91">
<mml:math id="m96">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> in <xref ref-type="disp-formula" rid="e5">Equation 5</xref> by the <inline-formula id="inf92">
<mml:math id="m97">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf93">
<mml:math id="m98">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> model, <xref ref-type="disp-formula" rid="e1">Equation 1</xref> is utilized in the following three steps.<list list-type="simple">
<list-item>
<p>&#x2022; Fix dimension D and obtain the estimated FPC scores as <inline-formula id="inf94">
<mml:math id="m99">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x222b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>.</mml:mo>
<mml:mi>D</mml:mi>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> for every observation. <inline-formula id="inf95">
<mml:math id="m100">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mspace width="1em"/>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="double-struck">N</mml:mi>
<mml:mo>,</mml:mo>
<mml:mspace width="1em"/>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and the estimated k-variate FPC scores vectors <inline-formula id="inf96">
<mml:math id="m101">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>&#x2022; For a fixed-order <inline-formula id="inf97">
<mml:math id="m102">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, construct the vector autoregressive model (VAR<inline-formula id="inf98">
<mml:math id="m103">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>) <inline-formula id="inf99">
<mml:math id="m104">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> &#x3d; <inline-formula id="inf100">
<mml:math id="m105">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mspace width="0.3333em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">&#x3a0;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3f5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> for eigenscore vectors to produce forecasting <inline-formula id="inf101">
<mml:math id="m106">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="double-struck">N</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="double-struck">N</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. The vectors are given <inline-formula id="inf102">
<mml:math id="m107">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, where Durbin&#x2013;Levinson and innovation algorithms could be readily applied.</p>
</list-item>
<list-item>
<p>&#x2022; The KL theorem <inline-formula id="inf103">
<mml:math id="m108">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="double-struck">N</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="double-struck">N</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is used to re-transform the multivariate time series into a functional version in the final step. The resultant <inline-formula id="inf104">
<mml:math id="m109">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is then employed as the one-step-ahead forecast of <inline-formula id="inf105">
<mml:math id="m110">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> in accordance with projected FPC results and sample eigenfunctions.</p>
</list-item>
</list>
</p>
</sec>
<sec id="s2-2">
<title>2.2 Functional AutoRegressive model of order <inline-formula id="inf106">
<mml:math id="m111">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> with deterministic part (<inline-formula id="inf107">
<mml:math id="m112">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf108">
<mml:math id="m113">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)</title>
<p>To increase forecasting accuracy, <inline-formula id="inf109">
<mml:math id="m114">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf110">
<mml:math id="m115">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> modeling includes lagged values of a response variable as well as additional deterministic parts. Deterministic factors might be scalar, vector-valued, or functional. <xref ref-type="bibr" rid="B30">Lisi and Shah (2020)</xref> define the <inline-formula id="inf111">
<mml:math id="m116">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf112">
<mml:math id="m117">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)<inline-formula id="inf113">
<mml:math id="m118">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> model in <xref ref-type="disp-formula" rid="e6">Equation 6</xref>.<disp-formula id="e6">
<mml:math id="m119">
<mml:mrow>
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a0;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
</p>
<p>where <inline-formula id="inf114">
<mml:math id="m120">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are functional variables, <inline-formula id="inf115">
<mml:math id="m121">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> denotes the scalars or vector explanatory variables, and <inline-formula id="inf116">
<mml:math id="m122">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents white noise. Here, <inline-formula id="inf117">
<mml:math id="m123">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> denotes the mean of the explanatory variable. The deterministic component consists of a long-term secular trend <inline-formula id="inf118">
<mml:math id="m124">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, a yearly periodicity <inline-formula id="inf119">
<mml:math id="m125">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, weakly seasonality <inline-formula id="inf120">
<mml:math id="m126">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, bank holidays <inline-formula id="inf121">
<mml:math id="m127">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and forecast electricity price <inline-formula id="inf122">
<mml:math id="m128">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. The dimension and order of the <inline-formula id="inf123">
<mml:math id="m129">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf124">
<mml:math id="m130">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)<inline-formula id="inf125">
<mml:math id="m131">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> are obtained through fFPE. The estimation approach from <xref ref-type="sec" rid="s2-1">Section 2.1</xref> is updated and summarized thus.<list list-type="simple">
<list-item>
<p>1. a. Set the dimension D for <inline-formula id="inf126">
<mml:math id="m132">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and utilize the data <inline-formula id="inf127">
<mml:math id="m133">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> to calculate vectors <inline-formula id="inf128">
<mml:math id="m134">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. These vectors contain the first D-predicted FPC scores.</p>
<list list-type="simple">
<list-item>
<p>b. When dealing with functional exogenous variables with a fixed value of <inline-formula id="inf129">
<mml:math id="m135">
<mml:mrow>
<mml:mi>&#x3bd;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, use the data <inline-formula id="inf130">
<mml:math id="m136">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <inline-formula id="inf131">
<mml:math id="m137">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> to compute the vector <inline-formula id="inf132">
<mml:math id="m138">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c6;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, which contains the first <inline-formula id="inf133">
<mml:math id="m139">
<mml:mrow>
<mml:mi>&#x3bd;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> leading FPC scores. This process should be repeated for each functional exogenous variable.</p>
</list-item>
<list-item>
<p>c. Next, integrate all the exogenous variable vectors into a single vector, <inline-formula id="inf134">
<mml:math id="m140">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b8;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>,</p>
</list-item>
</list>
</list-item>
<list-item>
<p>2. Use <inline-formula id="inf135">
<mml:math id="m141">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf136">
<mml:math id="m142">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b8;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> to obtain a one-step-ahead forecast as <disp-formula id="equ5">
<mml:math id="m402">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
</list-item>
<list-item>
<p>3. Using the KL theorem, obtain <disp-formula id="equ6">
<mml:math id="m403">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
</list-item>
</list>
</p>
<p>The KL expansion provides a 1-day forecast for <inline-formula id="inf139">
<mml:math id="m145">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<sec id="s2-2-1">
<title>2.2.1 Order and dimension selection of <inline-formula id="inf140">
<mml:math id="m146">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf141">
<mml:math id="m147">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf142">
<mml:math id="m148">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf143">
<mml:math id="m149">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf144">
<mml:math id="m150">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) models</title>
<p>This study aims to achieve accurate forecasting using <inline-formula id="inf145">
<mml:math id="m151">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf146">
<mml:math id="m152">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> by selecting the appropriate order and dimension D. This decreases the MSE of forecasting, which is asymptotically similar to <xref ref-type="bibr" rid="B10">Chen et al. (2018)</xref>. The fFPE is given as in <xref ref-type="disp-formula" rid="e7">Equation 7</xref>:<disp-formula id="e7">
<mml:math id="m153">
<mml:mrow>
<mml:mtext>fFPE</mml:mtext>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="script">P</mml:mi>
<mml:mo>&#x2217;</mml:mo>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="script">P</mml:mi>
<mml:mo>&#x2217;</mml:mo>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mi>tr</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="double-struck">Y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3e;</mml:mo>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>where <inline-formula id="inf147">
<mml:math id="m154">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the <inline-formula id="inf148">
<mml:math id="m155">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>th</mml:mtext>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> eigenvalue of <inline-formula id="inf149">
<mml:math id="m156">
<mml:mrow>
<mml:mi>&#x3bd;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="double-struck">Y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. The variance&#x2013;covariance matrix <inline-formula id="inf150">
<mml:math id="m157">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> in 7 is an unbiased estimator of <inline-formula id="inf151">
<mml:math id="m158">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="double-struck">Y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. The best D and <inline-formula id="inf152">
<mml:math id="m159">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the minimizer of the fFPE function. For a further and detailed study, see <xref ref-type="bibr" rid="B1">Aue et al. (2015)</xref>.</p>
</sec>
</sec>
<sec id="s2-3">
<title>2.3 Autoregressive model</title>
<p>The autoregressive (AR) algorithm is the most popular linear model used in univariate time series forecasting. It regresses the response variable using its <inline-formula id="inf153">
<mml:math id="m160">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> lagged values. The order of the AR algorithm, represented by the symbol <inline-formula id="inf154">
<mml:math id="m161">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, is the total number of lag (past) values needed to anticipate a future value. In mathematics, AR<inline-formula id="inf155">
<mml:math id="m162">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> can be expressed as</p>
<p>
<disp-formula id="equ7">
<mml:math id="m404">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3b8;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a0;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>where <inline-formula id="inf157">
<mml:math id="m164">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the constant called intercept, <inline-formula id="inf158">
<mml:math id="m165">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> are the coefficients that need to be learned from the data, and <inline-formula id="inf159">
<mml:math id="m166">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the noise. An AR<inline-formula id="inf160">
<mml:math id="m167">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">7</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is frequently employed in the electricity price modeling literature; this study also it takes into account. The maximum likelihood estimation (MLE) approach determines the model parameters. On the other hand, the AR<inline-formula id="inf161">
<mml:math id="m168">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf162">
<mml:math id="m169">
<mml:mrow>
<mml:mi mathvariant="script">7</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) model represents the AR model with a deterministic part.</p>
</sec>
<sec id="s2-4">
<title>2.4 Autoregressive integrated moving average (ARIMA) model</title>
<p>The combination of the AR and the moving average (MA) models is called the &#x201c;autoregressive moving average&#x201d; model (ARMA) for stationary series. However, a likelihood function could not be derived from performing ML estimation of the parameters until 1970, when the classic <italic>Time Series Analysis</italic> (<xref ref-type="bibr" rid="B23">Jan et al., 2022</xref>) was published, including the full modeling methodology for univariate series, identification, estimations, diagnostics checking, and forecasting. The general form of the ARMA model can be presented thus:<disp-formula id="e8">
<mml:math id="m170">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>where <inline-formula id="inf163">
<mml:math id="m171">
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the constant term (intercept), <inline-formula id="inf164">
<mml:math id="m172">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="0.3333em"/>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf165">
<mml:math id="m173">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="0.3333em"/>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0,1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> are the AR and MA parameters, respectively, and <inline-formula id="inf166">
<mml:math id="m174">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is a Gaussian white noise series with average zero and variance of <inline-formula id="inf167">
<mml:math id="m175">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3c3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>. By introducing a reverse shift operator B, <xref ref-type="disp-formula" rid="e8">Equation 8</xref> can be written as:</p>
<p>
<disp-formula id="equ8">
<mml:math id="m405">
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mspace width="1em"/>
<mml:msup>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="equ1">
<mml:math id="m177">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>.</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x00B7;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>To introduce ARIMA (r, d, s), consider <inline-formula id="inf169">
<mml:math id="m178">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> as the first difference between <inline-formula id="inf170">
<mml:math id="m179">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Hence, <xref ref-type="disp-formula" rid="e8">Equation 8</xref> can be written as:<disp-formula id="e9">
<mml:math id="m180">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>
</p>
<p>In <xref ref-type="disp-formula" rid="e9">Equation 9</xref>, B is the back-shift operator, and d indicates the series&#x2019; differencing. This model is written as &#x201c;ARIMA (r, d, s)&#x201d;, where &#x201c;r&#x201d; stands for AR order, &#x201c;d&#x201d; stands for series differencing, and&#x201d;s&#x201d; stands for MA order. The ARIMA<inline-formula id="inf171">
<mml:math id="m181">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> model represents the ARIMA model with a deterministic part.</p>
<p>To finish this part of the study, <xref ref-type="fig" rid="F1">Figure 1</xref> depicts the architecture of the proposed time series functional forecasting approach and the pointwise explanation below:<list list-type="simple">
<list-item>
<p>1. The time series data is divided into two parts: validation data and testing data set. This study uses two different methods: the classical time series model and the functional time series model.</p>
</list-item>
<list-item>
<p>2. Classical time series models such as AR, ARX, ARIMA, and ARIMAX are applied to the data to generate forecasts.</p>
</list-item>
<list-item>
<p>3. The discrete-time series data is converted into functional data using Fourier basis functions.</p>
</list-item>
<list-item>
<p>4. Functional time series models, such as fAR and fARX, are applied to the functional data.</p>
</list-item>
<list-item>
<p>5. The optimal order and dimension of the proposed functional models are determined using the functional final prediction error.</p>
</list-item>
<list-item>
<p>6. Functional principal component analysis is utilized in the proposed functional models.</p>
</list-item>
<list-item>
<p>7. A vector autoregressive model of order p is estimated and forecast using the principal component scores. The fARX model is an extension of the fAR model that incorporates explanatory variables, such as long-run secular trends, yearly periodicity, weekly seasonality, bank holidays, and forecast electricity prices.</p>
</list-item>
<list-item>
<p>8. The forecast vector is converted into functional data using the KL transformation, resulting in the final forecast.</p>
</list-item>
</list>
</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>British Electricity Market: architecture of the proposed functional data analysis approach.</p>
</caption>
<graphic xlink:href="fenrg-13-1477248-g001.tif"/>
</fig>
</sec>
<sec id="s2-5">
<title>2.5 Quality measures</title>
<p>This study has computed numerous quality indicators to compare the models. We convert the anticipated curves into half-hourly electricity pricing data to facilitate comparison. Three average accuracy measures are used to evaluate prediction accuracy and efficiency: 1) mean absolute percentage error (MAPE), 2) mean absolute error (MAE), and 3) root mean square error (RMSE), as well as the Diebold&#x2013;Mariano equal forecasts statistical test (<xref ref-type="bibr" rid="B35">Quispe et al., 2024</xref>; <xref ref-type="bibr" rid="B36">Qureshi et al., 2024</xref>).</p>
<sec id="s2-5-1">
<title>2.5.1 Mean absolute error</title>
<p>The MAE is derived by averaging the absolute difference between the prediction and the actual value while ensuring that the negative value does not cancel out the positive values. It can be stated thus:<disp-formula id="equ2">
<mml:math id="m182">
<mml:mrow>
<mml:mtext>MAE</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>mean</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x7c;</mml:mo>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>where <inline-formula id="inf172">
<mml:math id="m183">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the observed data and <inline-formula id="inf173">
<mml:math id="m184">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mo>&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the predicted day-ahead electricity price for <inline-formula id="inf174">
<mml:math id="m185">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mspace width="0.3333em"/>
<mml:mn>1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mn>365</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> day and <inline-formula id="inf175">
<mml:math id="m186">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>th&#x2009;</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mn>48</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> price period.</p>
</sec>
<sec id="s2-5-2">
<title>2.5.2 Mean absolute percentage error</title>
<p>To compute the MAPE, divide the average absolute error for each period by the observed values and multiply by 100. The MAPE effectively measures accuracy when a prediction variable is large (<xref ref-type="bibr" rid="B6">Box, 2013</xref>). It is a relative measure of forecast error that highlights the degree of difference between the predicted and actual values. The mathematical expression for the MAPE is<disp-formula id="equ3">
<mml:math id="m187">
<mml:mrow>
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mtext>MAPE</mml:mtext>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>mean</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo stretchy="false">&#x7c;</mml:mo>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>100</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
</sec>
<sec id="s2-5-3">
<title>2.5.3 Root mean square error</title>
<p>The RMSE grows as the scale of the dependent variable grows. It compares forecasts from many models for the same dataset. The RMSE is the square root of the squared difference on average between the anticipated and actual values. The mathematical definition is:</p>
<p>
<disp-formula id="equ9">
<mml:math id="m406">
<mml:mrow>
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mo movablelimits="false" form="prefix">RMSE</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mtext>mean</mml:mtext>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mo>&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
</sec>
<sec id="s2-5-4">
<title>2.5.4 The Diebold-Mariano test</title>
<p>The Diebold&#x2013;Mariano (DM) test (<xref ref-type="bibr" rid="B32">McKenzie, 2011</xref>) is employed to evaluate the accuracy of the proposed functional time series forecasting models. This statistical test is commonly used in time series analysis to compare the accuracy of two forecasting models. It evaluates whether the errors generated by one model statistically differ from the errors of another (<xref ref-type="bibr" rid="B7">Carbo-Bustinza et al., 2023</xref>). To perform the DM test, the forecast errors of each model are calculated using a loss function. These errors are the differences between the observed values <inline-formula id="inf177">
<mml:math id="m189">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and the forecast values <inline-formula id="inf178">
<mml:math id="m190">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. The test statistic is then calculated by comparing the mean squared errors of the two models. Suppose the test statistic is greater than a certain threshold and the p-value is lower than a pre-determined significance level (e.g., <inline-formula id="inf179">
<mml:math id="m191">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mn>0.05</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>); in that case, we conclude that the forecasts from one model are statistically significantly better than the other.</p>
<p>The null and alternative hypotheses of the DM test are</p>
<p>
<inline-formula id="inf180">
<mml:math id="m192">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>&#x2014;there is no difference in forecast accuracy between the two models <inline-formula id="inf181">
<mml:math id="m193">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>
<inline-formula id="inf182">
<mml:math id="m194">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>&#x2014;the two models differ in forecast accuracy <inline-formula id="inf183">
<mml:math id="m195">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2260;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Therefore, the null hypothesis implies no statistically significant difference in forecast accuracy between the models, while the alternative hypothesis suggests that a significant difference exists.</p>
</sec>
</sec>
</sec>
<sec id="s3">
<title>3 Case study and results</title>
<p>The liberalization of the United Kingdom&#x2019;s electricity industry can be attributed to the regulatory and structural changes implemented in the late 1980s. These reforms sought to eliminate the state-owned monopoly and establish a competitive wholesale energy market. Recognizing that transmission and distribution are natural monopolies, the main focus of the reforms was the deregulation of the generation and supply sectors. Consequently, in 1990 the UK electricity market underwent reorganization, establishing the England and Wales power pool and dividing the government monopoly into three entities: National Power, Powergen, and Nuclear Energy.</p>
<p>The power pool served as a trading platform for half-hourly transactions. However, market power in the generation industry became a significant concern due to National Power and Powergen holding respective market shares of 50% and 30%. Meanwhile, Nuclear Electric, responsible for supplying the base load of nuclear power, essentially acted as a price taker. Market manipulation by these two corporations led to reduced competition, resulting in the average price remaining approximately 24 per megawatt-hour between 1994 and 1996 (<xref ref-type="bibr" rid="B24">Karakatsani and Bunn, 2008</xref>).</p>
<p>A fully liberalized bilateral contracting system replaced the England and Wales power pool with the introduction of New Energy Trading Arrangements (NETA) in 2001 (becoming the British Electricity Trading Transmission Arrangements&#x2014;BETTA&#x2014;in 2005). This transition established a more stable market share for electricity companies in the generation and retail sectors. Additionally, the reforms resulted in the creation of three distinct power exchanges: the United Kingdom Power Exchange (UKPX), the UK Automated Power Exchange (APX UK), and the International Exchange (IE, formerly known as the International Petroleum Exchange&#x2014;IPE). Subsequently, the amalgamation of APX and UKPX into APX Group in 2004, followed by the inclusion of Scotland in the UK power market in 2005, further enhanced market dynamics. This highly competitive and well-developed market exhibits a robust correlation between market price and market fundamentals (<xref ref-type="bibr" rid="B29">Lisi and Pelagatti, 2018</xref>).</p>
<sec id="s3-1">
<title>3.1 Data description and forecasting results</title>
<p>This study aims to accurately and efficiently forecast half-hourly electricity pricing data from APX from January 2018 to December 2022. To achieve this objective, we implemented an FDA to model and forecast the electricity price-time series in the APX. To understand the complex characteristics of electricity price dynamics over time, these characteristics are expected to include missing values, a nonlinear long-run secular trend, pronounced seasonality, high volatility, non-normality, and non-stationarity. A non-stationary process can be defined as one in which statistical features such as mean, variance, and autocorrelation vary with time. This indicates that the data lacks a steady mean or variance, making it difficult to examine using typical statistical approaches that presume stationarity. Thus, the key characteristics of non-stationary data are: a) <italic>trends</italic>: non-stationary data may show long-term trends in which values grow or decrease with time; b) <italic>seasonality</italic>: refers to recurrent patterns or cycles that occur at regular periods, such as seasonal influences in sales statistics; c) <italic>changing variability</italic>: the variability of the data may alter with time, resulting in periods of volatility followed by stability. For instance, <xref ref-type="fig" rid="F2">Figure 2A</xref> shows the half-hourly electricity price time series with a red-line linear and blue-line nonlinear trend component. <xref ref-type="fig" rid="F2">Figure 2B</xref> shows a boxplot for the half-hourly over 6 years, indicating high variations among the 24 hours (48 half hours). <xref ref-type="fig" rid="F2">Figure 2C</xref> shows the autocorrelation plot of the original electricity prices at 336 lags, and <xref ref-type="fig" rid="F2">Figure 2D</xref> shows the partial autocorrelation plot of original electricity prices at 336. These figures clearly illustrate a discernible long-term trend, as well as annual and weak seasonality. Furthermore, non-normality and non-stationarity are also evident from these visual representations.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Characterization of British electricity power prices (2018&#x2013;2022): time diagrams <bold>(a)</bold> visualize time fluctuations using long-term linear (blue) and non-linear (red) trend components; <bold>(b)</bold> half-hour sequence diagrams; <bold>(c)</bold> autocorrelation function diagrams analyze the correlation of price fluctuations during various past delays; <bold>(d)</bold> partial autocorrelation function diagrams investigate the relationship between price changes after accounting for the effects of previous delays.</p>
</caption>
<graphic xlink:href="fenrg-13-1477248-g002.tif"/>
</fig>
<p>On the other hand, <xref ref-type="table" rid="T1">Table 1</xref> summarizes the characteristics of the data before and after data transformations, such as taking the natural logarithm (addressing variance and standard deviation stabilization). For instance, for the electric power time series before and after data transformations, the minimum values: are 2.20 and 0.79, first quartile (37.28 and 3.62); median (43.96 and 3.78); mean (45.51 and 3.79); mode (37.81 and 3.63); third quartile (51.28 and 3.94); standard deviation (12.45 and 0.25); coefficient of variation (27.36 and 6.56); maximum (326.09 and 5.79). It is confirmed from this analysis that the log transformation attained normality in the data since the mean, median, and mode are approximately the same. However, the standard deviation is also much lower than the original series. To this end, further analysis proceeds with the log-transformed electric power price series for modeling and forecasting purposes. Thus, for modeling and forecasting, the log-transformed data are divided into two parts:<list list-type="simple">
<list-item>
<p>&#x2022; validation data: from <inline-formula id="inf184">
<mml:math id="m196">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> January 2018 to <inline-formula id="inf185">
<mml:math id="m197">
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> December 2021 (70,128 observations, covering <italic>i</italic> &#x3d; 1461 days)</p>
</list-item>
<list-item>
<p>&#x2022; testing data: from <inline-formula id="inf186">
<mml:math id="m198">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> January 2022 until <inline-formula id="inf187">
<mml:math id="m199">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> December 2022 (17,520 data points (hours), with <italic>i</italic> &#x3d; 365 (days).</p>
</list-item>
</list>
</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Summary statistics of British Electricity Market 2018&#x2013;2022.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Statistic</th>
<th align="left">Series</th>
<th align="left">Log (series)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Minimum</td>
<td align="left">2.20</td>
<td align="left">0.79</td>
</tr>
<tr>
<td align="left">1st Qu</td>
<td align="left">37.28</td>
<td align="left">3.62</td>
</tr>
<tr>
<td align="left">Median</td>
<td align="left">43.96</td>
<td align="left">3.78</td>
</tr>
<tr>
<td align="left">Mean</td>
<td align="left">45.51</td>
<td align="left">3.79</td>
</tr>
<tr>
<td align="left">Mode</td>
<td align="left">37.81</td>
<td align="left">3.63</td>
</tr>
<tr>
<td align="left">3rd Qu</td>
<td align="left">51.28</td>
<td align="left">3.94</td>
</tr>
<tr>
<td align="left">SD</td>
<td align="left">12.45</td>
<td align="left">0.25</td>
</tr>
<tr>
<td align="left">CV</td>
<td align="left">27.36</td>
<td align="left">6.56</td>
</tr>
<tr>
<td align="left">Max</td>
<td align="left">326.09</td>
<td align="left">5.79</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The models were estimated using an extension window approach derived from an annual 1-day out-of-sample forecast. As indicated in <xref ref-type="fig" rid="F3">Figure 3</xref>, the discrete half-hourly electricity price is from <inline-formula id="inf188">
<mml:math id="m200">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> January 2018 to <inline-formula id="inf189">
<mml:math id="m201">
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> December 2022. The Fourier base function transforms the discrete electricity power price data into a functional form (<xref ref-type="fig" rid="F4">Figure 4</xref>). The mean curve can be represented with a solid black curve.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>British Electricity Market: figure represents the discrete half-hourly data of 5 years.</p>
</caption>
<graphic xlink:href="fenrg-13-1477248-g003.tif"/>
</fig>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>British Electricity Market: functional daily curves for British electricity prices; <inline-formula id="inf190">
<mml:math id="m202">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mspace width="0.3333em"/>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mn>1826</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf191">
<mml:math id="m203">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> are the natural log-transformed functional data points of half-hourly electric power pricing using 22 Fourier basis functions. The solid black curve is the mean curve.</p>
</caption>
<graphic xlink:href="fenrg-13-1477248-g004.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F5">Figure 5</xref> illustrates that the functional representation of electricity prices exhibits lower values during weekends than weekdays, indicating less electricity use over weekends. <xref ref-type="fig" rid="F6">Figure 6</xref> shows the first five FPCs, which account for a large number of data variations. <xref ref-type="fig" rid="F7">Figure 7</xref> shows the proportion of variation explained by each FPC. The graphic shows that the first PC accounts for about 60% of all data volatility. Accordingly, the second, third, fourth, and fifth FPCs account for 13%, 8%, 6%, and 5% of total variation.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>British Electricity Market: graphic functional description of a single week of electricity prices.</p>
</caption>
<graphic xlink:href="fenrg-13-1477248-g005.tif"/>
</fig>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>British Electricity Market: five principal components proportion of variation explained by each FPC.</p>
</caption>
<graphic xlink:href="fenrg-13-1477248-g006.tif"/>
</fig>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>British Electricity Market: first five FPCs.</p>
</caption>
<graphic xlink:href="fenrg-13-1477248-g007.tif"/>
</fig>
<p>The day-ahead forecasting accuracy of the models is measured using the MAE, MAPE, and RMSE. For instance, <xref ref-type="table" rid="T2">Table 2</xref> summarizes the models&#x2019; overall accuracy, showing that the functional models outperform the classical time series models (AR, AR<inline-formula id="inf192">
<mml:math id="m204">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, ARIMA, and ARIMA<inline-formula id="inf193">
<mml:math id="m205">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> models). Within the functional models, <inline-formula id="inf194">
<mml:math id="m206">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf195">
<mml:math id="m207">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)<inline-formula id="inf196">
<mml:math id="m208">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> demonstrates superior forecasting performance compared to <inline-formula id="inf197">
<mml:math id="m209">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf198">
<mml:math id="m210">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. For instance, <inline-formula id="inf199">
<mml:math id="m211">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf200">
<mml:math id="m212">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)<inline-formula id="inf201">
<mml:math id="m213">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> achieves the lowest mean error&#x2014;MAPE &#x3d; 5.95, MAE &#x3d; 4.17, and RMSE &#x3d; 12.94&#x2014;comparatively lower than the <inline-formula id="inf202">
<mml:math id="m214">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf203">
<mml:math id="m215">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> model. On the other hand, the functional models (<inline-formula id="inf204">
<mml:math id="m216">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf205">
<mml:math id="m217">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf206">
<mml:math id="m218">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf207">
<mml:math id="m219">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)<inline-formula id="inf208">
<mml:math id="m220">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>) compared to the classical time series models (AR, AR<inline-formula id="inf209">
<mml:math id="m221">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, ARIMA, and ARIMA<inline-formula id="inf210">
<mml:math id="m222">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) obtain highly accurate forecasting mean errors. For example, <inline-formula id="inf211">
<mml:math id="m223">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf212">
<mml:math id="m224">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)<inline-formula id="inf213">
<mml:math id="m225">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> improves the forecasting mean errors ranging from 32.96%&#x2013;84.41%, 36.22%&#x2013;225.93%, and 17.81%&#x2013;69.40%, for the MAPE, MAE, and RMSE, respectively. Therefore, the relatively least accurate mean error values across the board demonstrate the usefulness of the <inline-formula id="inf214">
<mml:math id="m226">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf215">
<mml:math id="m227">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)<inline-formula id="inf216">
<mml:math id="m228">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> forecasting model.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>British Electricity Market: out-of-sample forecasting error evaluation of functional models and traditional time series models considered.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Model</th>
<th align="left">MAPE</th>
<th align="left">MAE</th>
<th align="left">RMSE</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">AR</td>
<td align="left">10.96</td>
<td align="left">13.60</td>
<td align="left">21.93</td>
</tr>
<tr>
<td align="left">AR<inline-formula id="inf217">
<mml:math id="m229">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">10.01</td>
<td align="left">12.09</td>
<td align="left">19.62</td>
</tr>
<tr>
<td align="left">ARIMA</td>
<td align="left">9.75</td>
<td align="left">10.22</td>
<td align="left">17.16</td>
</tr>
<tr>
<td align="left">ARIMA<inline-formula id="inf218">
<mml:math id="m230">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">7.85</td>
<td align="left">7.19</td>
<td align="left">16.85</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf219">
<mml:math id="m231">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR</td>
<td align="left">6.90</td>
<td align="left">5.68</td>
<td align="left">15.25</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf220">
<mml:math id="m232">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf221">
<mml:math id="m233">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf222">
<mml:math id="m234">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)</td>
<td align="left">5.95</td>
<td align="left">4.17</td>
<td align="left">12.94</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>On the other hand, a graphical comparison (<xref ref-type="fig" rid="F8">Figure 8</xref>) shows the original and predicted values for each of the forecasting models that were taken into account in <xref ref-type="table" rid="T2">Table 2</xref>. The figure demonstrates how well the forecast from the proposed functional model (<inline-formula id="inf223">
<mml:math id="m235">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf224">
<mml:math id="m236">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf225">
<mml:math id="m237">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) matches the actual pricing. However, the <inline-formula id="inf226">
<mml:math id="m238">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf227">
<mml:math id="m239">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf228">
<mml:math id="m240">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR show competitive results. The classic AR model shows the worst forecasting results among all models considered. Therefore, we can determine that the <inline-formula id="inf229">
<mml:math id="m241">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf230">
<mml:math id="m242">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf231">
<mml:math id="m243">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> model outperformed the rest of the models.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>British Electricity Market: out-of-sample forecasting error evaluation of the functional models and considered traditional time series models.</p>
</caption>
<graphic xlink:href="fenrg-13-1477248-g008.tif"/>
</fig>
<p>After calculating the accuracy measures (MAPE, MAE, and RMSE), the Diebold&#x2013;Mariano (DM) test was used to statistically assess the superiority of the proposed functional time series models (see <xref ref-type="table" rid="T3">Table 3</xref> for the DM statistic p-values). The outcome of this table revealed that the proposed functional time series model (<inline-formula id="inf232">
<mml:math id="m244">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf233">
<mml:math id="m245">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)<inline-formula id="inf234">
<mml:math id="m246">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>) achieved statistically superior performance across all models; the <inline-formula id="inf235">
<mml:math id="m247">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf236">
<mml:math id="m248">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> model showed the second-best results. These findings confirm <inline-formula id="inf237">
<mml:math id="m249">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf238">
<mml:math id="m250">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)<inline-formula id="inf239">
<mml:math id="m251">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> as the most reliable model for day-ahead electricity price forecasting within the scope of this study.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>British Electricity Market: Diebold&#x2013;Mariano results (p-value) for all forecasting models.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Model</th>
<th align="left">AR</th>
<th align="left">AR<inline-formula id="inf240">
<mml:math id="m252">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="left">ARIMA</th>
<th align="left">ARIMA<inline-formula id="inf241">
<mml:math id="m253">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="left">
<inline-formula id="inf242">
<mml:math id="m254">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR</th>
<th align="left">
<inline-formula id="inf243">
<mml:math id="m255">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf244">
<mml:math id="m256">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf245">
<mml:math id="m257">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">AR</td>
<td align="left">-</td>
<td align="left">0.08</td>
<td align="left">0.09</td>
<td align="left">0.04</td>
<td align="left">0.04</td>
<td align="left">0.05</td>
</tr>
<tr>
<td align="left">AR<inline-formula id="inf246">
<mml:math id="m258">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">0.92</td>
<td align="left">-</td>
<td align="left">0.10</td>
<td align="left">0.03</td>
<td align="left">0.03</td>
<td align="left">0.05</td>
</tr>
<tr>
<td align="left">ARIMA</td>
<td align="left">0.91</td>
<td align="left">0.90</td>
<td align="left">-</td>
<td align="left">0.06</td>
<td align="left">0.01</td>
<td align="left">0.02</td>
</tr>
<tr>
<td align="left">ARIMA<inline-formula id="inf247">
<mml:math id="m259">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">0.96</td>
<td align="left">0.97</td>
<td align="left">0.94</td>
<td align="left">-</td>
<td align="left">0.07</td>
<td align="left">0.09</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf248">
<mml:math id="m260">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR</td>
<td align="left">0.96</td>
<td align="left">0.97</td>
<td align="left">0.99</td>
<td align="left">0.93</td>
<td align="left">-</td>
<td align="left">0.11</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf249">
<mml:math id="m261">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf250">
<mml:math id="m262">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf251">
<mml:math id="m263">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)</td>
<td align="left">0.95</td>
<td align="left">0.95</td>
<td align="left">0.98</td>
<td align="left">0.91</td>
<td align="left">0.89</td>
<td align="left">-</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>
<xref ref-type="table" rid="T4">Table 4</xref> displays the weekly forecasting errors for the models under investigation. Monday, Wednesday, Saturday, and Sunday are typically associated with larger weekly errors than Tuesday, Thursday and Friday. Among the models, <inline-formula id="inf252">
<mml:math id="m264">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf253">
<mml:math id="m265">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf254">
<mml:math id="m266">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) achieves the lowest MAPE value of 3.99 on Thursday&#x2014;a day with a relatively stable electricity load. Conversely, Sunday exhibits a higher MAPE score of 9.72. Consistent with the previous tables, the functional model with the deterministic component, <inline-formula id="inf255">
<mml:math id="m267">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf256">
<mml:math id="m268">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf257">
<mml:math id="m269">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>), outperforms the partial functional method, <inline-formula id="inf258">
<mml:math id="m270">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR (<inline-formula id="inf259">
<mml:math id="m271">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>). In contrast, the classical univariate time series models (AR, AR<inline-formula id="inf260">
<mml:math id="m272">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, ARIMA, and ARIMA<inline-formula id="inf261">
<mml:math id="m273">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) perform relatively poorly compared to the other models considered in this study.</p>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>British Electricity Market: weekly forecasting accuracy metrics evaluation of functional models and traditional time series models considered.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Error</th>
<th align="left">Model</th>
<th align="left">Monday</th>
<th align="left">Tuesday</th>
<th align="left">Wednesday</th>
<th align="left">Thursday</th>
<th align="left">Friday</th>
<th align="left">Saturday</th>
<th align="left">Sunday</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="6" align="left">MAE</td>
<td align="left">AR</td>
<td align="left">10.35</td>
<td align="left">12.84</td>
<td align="left">15.61</td>
<td align="left">19.38</td>
<td align="left">9.22</td>
<td align="left">12.12</td>
<td align="left">15.67</td>
</tr>
<tr>
<td align="left">AR<inline-formula id="inf262">
<mml:math id="m274">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">9.20</td>
<td align="left">11.41</td>
<td align="left">13.88</td>
<td align="left">17.23</td>
<td align="left">8.19</td>
<td align="left">10.77</td>
<td align="left">13.93</td>
</tr>
<tr>
<td align="left">ARIMA</td>
<td align="left">7.78</td>
<td align="left">9.65</td>
<td align="left">11.73</td>
<td align="left">14.56</td>
<td align="left">6.92</td>
<td align="left">9.10</td>
<td align="left">11.77</td>
</tr>
<tr>
<td align="left">ARIMA<inline-formula id="inf263">
<mml:math id="m275">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">5.48</td>
<td align="left">6.79</td>
<td align="left">8.26</td>
<td align="left">10.26</td>
<td align="left">4.88</td>
<td align="left">6.41</td>
<td align="left">8.29</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf264">
<mml:math id="m276">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR</td>
<td align="left">4.32</td>
<td align="left">5.36</td>
<td align="left">6.52</td>
<td align="left">8.10</td>
<td align="left">3.85</td>
<td align="left">5.06</td>
<td align="left">6.54</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf265">
<mml:math id="m277">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf266">
<mml:math id="m278">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf267">
<mml:math id="m279">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)</td>
<td align="left">3.17</td>
<td align="left">3.94</td>
<td align="left">4.79</td>
<td align="left">5.94</td>
<td align="left">2.83</td>
<td align="left">3.72</td>
<td align="left">4.80</td>
</tr>
<tr>
<td rowspan="6" align="left">MAPE</td>
<td align="left">AR</td>
<td align="left">11.79</td>
<td align="left">9.96</td>
<td align="left">11.53</td>
<td align="left">7.36</td>
<td align="left">8.53</td>
<td align="left">9.65</td>
<td align="left">17.91</td>
</tr>
<tr>
<td align="left">AR<inline-formula id="inf268">
<mml:math id="m280">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">10.77</td>
<td align="left">9.10</td>
<td align="left">10.53</td>
<td align="left">6.73</td>
<td align="left">7.79</td>
<td align="left">8.81</td>
<td align="left">16.36</td>
</tr>
<tr>
<td align="left">ARIMA</td>
<td align="left">10.48</td>
<td align="left">8.86</td>
<td align="left">10.25</td>
<td align="left">6.55</td>
<td align="left">7.58</td>
<td align="left">8.58</td>
<td align="left">15.93</td>
</tr>
<tr>
<td align="left">ARIMA<inline-formula id="inf269">
<mml:math id="m281">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">8.44</td>
<td align="left">7.13</td>
<td align="left">8.25</td>
<td align="left">5.27</td>
<td align="left">6.10</td>
<td align="left">6.90</td>
<td align="left">12.82</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf270">
<mml:math id="m282">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR</td>
<td align="left">7.42</td>
<td align="left">6.27</td>
<td align="left">7.25</td>
<td align="left">4.63</td>
<td align="left">5.36</td>
<td align="left">6.07</td>
<td align="left">11.27</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf271">
<mml:math id="m283">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf272">
<mml:math id="m284">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf273">
<mml:math id="m285">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)</td>
<td align="left">6.39</td>
<td align="left">5.40</td>
<td align="left">6.26</td>
<td align="left">3.99</td>
<td align="left">4.62</td>
<td align="left">5.23</td>
<td align="left">9.72</td>
</tr>
<tr>
<td rowspan="6" align="left">RMSE</td>
<td align="left">AR</td>
<td align="left">18.62</td>
<td align="left">20.35</td>
<td align="left">23.75</td>
<td align="left">21.98</td>
<td align="left">23.72</td>
<td align="left">26.59</td>
<td align="left">18.46</td>
</tr>
<tr>
<td align="left">AR<inline-formula id="inf274">
<mml:math id="m286">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">16.66</td>
<td align="left">18.21</td>
<td align="left">21.25</td>
<td align="left">19.67</td>
<td align="left">21.23</td>
<td align="left">23.79</td>
<td align="left">16.52</td>
</tr>
<tr>
<td align="left">ARIMA</td>
<td align="left">14.57</td>
<td align="left">15.93</td>
<td align="left">18.59</td>
<td align="left">17.21</td>
<td align="left">18.57</td>
<td align="left">20.81</td>
<td align="left">14.45</td>
</tr>
<tr>
<td align="left">ARIMA<inline-formula id="inf275">
<mml:math id="m287">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">14.31</td>
<td align="left">15.64</td>
<td align="left">18.25</td>
<td align="left">16.90</td>
<td align="left">18.23</td>
<td align="left">20.44</td>
<td align="left">14.19</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf276">
<mml:math id="m288">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR</td>
<td align="left">12.95</td>
<td align="left">14.15</td>
<td align="left">16.52</td>
<td align="left">15.29</td>
<td align="left">16.50</td>
<td align="left">18.49</td>
<td align="left">12.84</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf277">
<mml:math id="m289">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf278">
<mml:math id="m290">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf279">
<mml:math id="m291">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)</td>
<td align="left">10.99</td>
<td align="left">12.01</td>
<td align="left">14.02</td>
<td align="left">12.98</td>
<td align="left">14.00</td>
<td align="left">15.70</td>
<td align="left">10.90</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>
<xref ref-type="table" rid="T5">Table 5</xref> presents the monthly forecasting errors for each model considered in this study. It is evident that December, January, and February exhibit relatively higher errors than other months. This can be attributed to increased electricity demand during these months. Nevertheless, the functional models perform better than the standard traditional time series models. Specifically, the direct functional model <inline-formula id="inf280">
<mml:math id="m292">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf281">
<mml:math id="m293">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)<inline-formula id="inf282">
<mml:math id="m294">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> exhibits lower forecasting errors than the other methods discussed here. The MAPE values for <inline-formula id="inf283">
<mml:math id="m295">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf284">
<mml:math id="m296">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)<inline-formula id="inf285">
<mml:math id="m297">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> range 3.034&#x2013;6.486, indicating the effectiveness of this model.</p>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>British Electricity Market: monthly forecasting accuracy evaluation of functional models and traditional time series models considered.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Error</th>
<th align="left">Month</th>
<th align="left">January</th>
<th align="left">February</th>
<th align="left">March</th>
<th align="left">April</th>
<th align="left">May</th>
<th align="left">June</th>
<th align="left">July</th>
<th align="left">August</th>
<th align="left">September</th>
<th align="left">October</th>
<th align="left">November</th>
<th align="left">December</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="6" align="left">MAE</td>
<td align="left">AR</td>
<td align="left">10.65</td>
<td align="left">7.20</td>
<td align="left">14.42</td>
<td align="left">13.08</td>
<td align="left">22.65</td>
<td align="left">15.01</td>
<td align="left">12.65</td>
<td align="left">16.08</td>
<td align="left">9.64</td>
<td align="left">12.44</td>
<td align="left">11.00</td>
<td align="left">18.39</td>
</tr>
<tr>
<td align="left">AR<inline-formula id="inf286">
<mml:math id="m298">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">9.46</td>
<td align="left">6.39</td>
<td align="left">12.82</td>
<td align="left">11.62</td>
<td align="left">20.13</td>
<td align="left">13.34</td>
<td align="left">11.24</td>
<td align="left">14.29</td>
<td align="left">8.57</td>
<td align="left">11.05</td>
<td align="left">9.78</td>
<td align="left">16.35</td>
</tr>
<tr>
<td align="left">ARIMA</td>
<td align="left">8.00</td>
<td align="left">5.41</td>
<td align="left">10.83</td>
<td align="left">9.83</td>
<td align="left">17.01</td>
<td align="left">11.27</td>
<td align="left">9.50</td>
<td align="left">12.08</td>
<td align="left">7.24</td>
<td align="left">9.34</td>
<td align="left">8.26</td>
<td align="left">13.82</td>
</tr>
<tr>
<td align="left">ARIMA<inline-formula id="inf287">
<mml:math id="m299">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">5.63</td>
<td align="left">3.81</td>
<td align="left">7.63</td>
<td align="left">6.92</td>
<td align="left">11.98</td>
<td align="left">7.94</td>
<td align="left">6.69</td>
<td align="left">8.51</td>
<td align="left">5.10</td>
<td align="left">6.58</td>
<td align="left">5.82</td>
<td align="left">9.73</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf288">
<mml:math id="m300">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR</td>
<td align="left">4.45</td>
<td align="left">3.01</td>
<td align="left">6.03</td>
<td align="left">5.47</td>
<td align="left">9.46</td>
<td align="left">6.27</td>
<td align="left">5.29</td>
<td align="left">6.72</td>
<td align="left">4.03</td>
<td align="left">5.20</td>
<td align="left">4.60</td>
<td align="left">7.69</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf289">
<mml:math id="m301">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf290">
<mml:math id="m302">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf291">
<mml:math id="m303">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)</td>
<td align="left">3.27</td>
<td align="left">2.21</td>
<td align="left">4.42</td>
<td align="left">4.01</td>
<td align="left">6.95</td>
<td align="left">4.60</td>
<td align="left">3.88</td>
<td align="left">4.93</td>
<td align="left">2.96</td>
<td align="left">3.81</td>
<td align="left">3.37</td>
<td align="left">5.64</td>
</tr>
<tr>
<td rowspan="6" align="left">MAPE</td>
<td align="left">AR</td>
<td align="left">3.03</td>
<td align="left">12.76</td>
<td align="left">14.11</td>
<td align="left">10.65</td>
<td align="left">9.33</td>
<td align="left">10.95</td>
<td align="left">13.02</td>
<td align="left">11.24</td>
<td align="left">10.98</td>
<td align="left">10.54</td>
<td align="left">10.63</td>
<td align="left">10.76</td>
</tr>
<tr>
<td align="left">AR<inline-formula id="inf292">
<mml:math id="m304">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">2.77</td>
<td align="left">11.65</td>
<td align="left">12.89</td>
<td align="left">9.72</td>
<td align="left">8.52</td>
<td align="left">10.01</td>
<td align="left">11.89</td>
<td align="left">10.26</td>
<td align="left">10.03</td>
<td align="left">9.63</td>
<td align="left">9.70</td>
<td align="left">9.83</td>
</tr>
<tr>
<td align="left">ARIMA</td>
<td align="left">2.69</td>
<td align="left">11.34</td>
<td align="left">12.55</td>
<td align="left">9.46</td>
<td align="left">8.29</td>
<td align="left">9.74</td>
<td align="left">11.57</td>
<td align="left">9.99</td>
<td align="left">9.76</td>
<td align="left">9.37</td>
<td align="left">9.44</td>
<td align="left">9.56</td>
</tr>
<tr>
<td align="left">ARIMA<inline-formula id="inf293">
<mml:math id="m305">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">2.17</td>
<td align="left">9.13</td>
<td align="left">10.10</td>
<td align="left">7.62</td>
<td align="left">6.68</td>
<td align="left">7.84</td>
<td align="left">9.32</td>
<td align="left">8.04</td>
<td align="left">7.86</td>
<td align="left">7.54</td>
<td align="left">7.60</td>
<td align="left">7.70</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf294">
<mml:math id="m306">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR</td>
<td align="left">1.91</td>
<td align="left">11.72</td>
<td align="left">12.97</td>
<td align="left">9.78</td>
<td align="left">8.57</td>
<td align="left">10.06</td>
<td align="left">11.96</td>
<td align="left">10.32</td>
<td align="left">10.09</td>
<td align="left">9.69</td>
<td align="left">9.76</td>
<td align="left">9.89</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf295">
<mml:math id="m307">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf296">
<mml:math id="m308">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf297">
<mml:math id="m309">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)</td>
<td align="left">1.64</td>
<td align="left">6.92</td>
<td align="left">7.65</td>
<td align="left">5.77</td>
<td align="left">5.06</td>
<td align="left">5.94</td>
<td align="left">7.06</td>
<td align="left">6.09</td>
<td align="left">5.95</td>
<td align="left">5.72</td>
<td align="left">5.76</td>
<td align="left">5.84</td>
</tr>
<tr>
<td rowspan="6" align="left">RMSE</td>
<td align="left">AR</td>
<td align="left">24.98</td>
<td align="left">21.16</td>
<td align="left">25.80</td>
<td align="left">20.03</td>
<td align="left">21.76</td>
<td align="left">13.63</td>
<td align="left">23.93</td>
<td align="left">24.95</td>
<td align="left">21.20</td>
<td align="left">19.97</td>
<td align="left">17.34</td>
<td align="left">28.35</td>
</tr>
<tr>
<td align="left">AR<inline-formula id="inf298">
<mml:math id="m310">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">22.35</td>
<td align="left">18.93</td>
<td align="left">23.09</td>
<td align="left">17.92</td>
<td align="left">19.47</td>
<td align="left">12.20</td>
<td align="left">21.42</td>
<td align="left">22.33</td>
<td align="left">18.97</td>
<td align="left">17.87</td>
<td align="left">15.51</td>
<td align="left">25.37</td>
</tr>
<tr>
<td align="left">ARIMA</td>
<td align="left">19.55</td>
<td align="left">16.56</td>
<td align="left">20.20</td>
<td align="left">15.68</td>
<td align="left">17.03</td>
<td align="left">10.67</td>
<td align="left">18.73</td>
<td align="left">19.53</td>
<td align="left">16.59</td>
<td align="left">15.63</td>
<td align="left">13.57</td>
<td align="left">22.19</td>
</tr>
<tr>
<td align="left">ARIMA<inline-formula id="inf299">
<mml:math id="m311">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">19.20</td>
<td align="left">16.26</td>
<td align="left">19.83</td>
<td align="left">15.39</td>
<td align="left">16.73</td>
<td align="left">10.48</td>
<td align="left">18.40</td>
<td align="left">19.18</td>
<td align="left">16.29</td>
<td align="left">15.35</td>
<td align="left">13.33</td>
<td align="left">21.79</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf300">
<mml:math id="m312">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR</td>
<td align="left">17.37</td>
<td align="left">14.72</td>
<td align="left">17.94</td>
<td align="left">13.93</td>
<td align="left">15.13</td>
<td align="left">9.48</td>
<td align="left">16.65</td>
<td align="left">17.35</td>
<td align="left">14.74</td>
<td align="left">13.89</td>
<td align="left">12.06</td>
<td align="left">19.71</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf301">
<mml:math id="m313">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf302">
<mml:math id="m314">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf303">
<mml:math id="m315">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)</td>
<td align="left">14.75</td>
<td align="left">12.49</td>
<td align="left">15.23</td>
<td align="left">11.82</td>
<td align="left">12.85</td>
<td align="left">8.05</td>
<td align="left">14.13</td>
<td align="left">14.73</td>
<td align="left">12.51</td>
<td align="left">11.79</td>
<td align="left">10.23</td>
<td align="left">16.73</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>As is evident from the average accuracy errors (MAE, MAPE, and RMSE) and equal forecasting accuracy statistical test (DM test) and graphical results (line plots), the <inline-formula id="inf304">
<mml:math id="m316">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf305">
<mml:math id="m317">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)<inline-formula id="inf306">
<mml:math id="m318">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> model outperforms its counterpart, the <inline-formula id="inf307">
<mml:math id="m319">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR model, and the standard classical time series models (AR, AR<inline-formula id="inf308">
<mml:math id="m320">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, ARIMA, and ARIMA<inline-formula id="inf309">
<mml:math id="m321">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>). However, the effect of modifying the function models by incorporating the deterministic part was clearly seen, where the exogenous variables are denoted by long trend, yearly periodicity, seasonal periodicity, bank holidays, and electricity demand. Using these exogenous variables, the functional model is modified to <inline-formula id="inf310">
<mml:math id="m322">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf311">
<mml:math id="m323">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf312">
<mml:math id="m324">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>). The optimal dimension and order are chosen through fFPE. The vector AR model uses a scores vector and then a 1-day forecast of the aforementioned model.</p>
<p>To sum up this section, we can say that the suggested functional forecasting model with exogenous variables has a high degree of accuracy and efficiency for day-ahead for British electricity prices based on the accuracy mean errors (MAE, MAPE, and RMSE) and equal forecast statistical test (the DM test).</p>
</sec>
</sec>
<sec sec-type="discussion" id="s4">
<title>4 Discussion</title>
<p>This section compares the best proposed functional (<inline-formula id="inf313">
<mml:math id="m325">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf314">
<mml:math id="m326">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf315">
<mml:math id="m327">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)) forecasting model in this study with the proposed best models in the literature. A detailed comparison of this study&#x2019;s best forecasting functional model with the literature&#x2019;s best models is listed in <xref ref-type="table" rid="T6">Table 6</xref>. This confirms that the proposed (Stochastic-AR) best model from <xref ref-type="bibr" rid="B29">Lisi and Pelagatti (2018)</xref> has been applied to the database utilized in the current work, and the average accuracy metrics have been calculated. The average accuracy metrics values reported for the proposed (Stochastic-AR) best model of <xref ref-type="bibr" rid="B29">Lisi and Pelagatti (2018)</xref> are MAPE &#x3d; 9.81 (65.01%), MAE &#x3d; 11.29 (170.61%), and RMSE &#x3d; 18.12 (40.00%), which are significantly higher than our accuracy mean error values: MAPE &#x3d; 5.95, MAE &#x3d; 4.17, and RMSE &#x3d; 12.94. The proposed (the FAR(P) model) best model in Jan et al. (2022) has been compared to the current research dataset and produced performance metrics comparatively higher than our proposal (the <inline-formula id="inf316">
<mml:math id="m328">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf317">
<mml:math id="m329">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf318">
<mml:math id="m330">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) model). For example, the computed forecasting average errors using the proposed (the FAR(P) model) best model in Jan et al. (2022) are 6.50, 5.18, and 14.55&#x2014;significantly higher than our proposed (<inline-formula id="inf319">
<mml:math id="m331">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf320">
<mml:math id="m332">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf321">
<mml:math id="m333">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)) best model forecasting average accuracy errors. Additionally, in <xref ref-type="bibr" rid="B21">Iftikhar et al. (2023c)</xref>, the proposed (the best model <sup>4</sup>
<inline-formula id="inf322">
<mml:math id="m334">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mtext>RSD</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>) was used in our dataset obtained mean accuracy metrics also comparatively greater than the <inline-formula id="inf323">
<mml:math id="m335">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf324">
<mml:math id="m336">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf325">
<mml:math id="m337">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) model at 4.46%, 20.81%, and 10.02% for the MAPE, MAE, and RMSE, respectively. Furthermore, the developed best model (Ensemble) of <xref ref-type="bibr" rid="B3">Bibi et al. (2021)</xref> was used in the current research database and the average metric errors computed, such as MAPE, MAE, and RMSE&#x2014;comparatively higher (5.30%, 23.20%, and 11.10%) than our best functional model. In <xref ref-type="bibr" rid="B38">Shah et al. (2022a)</xref>, the best forecasting model (<sup>NP</sup>
<inline-formula id="inf326">
<mml:math id="m338">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mtext>VAR</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>) was applied to our database and the average mean errors computed. However, in comparison, the computed mean errors in the <inline-formula id="inf327">
<mml:math id="m339">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mtext>NPVAR</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> forecasting model were 10.68%, 27.52%, and 11.18% for the MAPE, MAE, and RMSE, respectively&#x2014;higher than our best functional model. In summary, it is evident that the best functional model of this work achieved higher accuracy than the best models found in the literature.</p>
<table-wrap id="T6" position="float">
<label>TABLE 6</label>
<caption>
<p>British Electricity Market (pound/MWh): comparison of one-day-ahead average accuracy metrics between proposed functional best models and literature best models.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Model</th>
<th align="left">MAPE</th>
<th align="left">MAE</th>
<th align="left">RMSE</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">
<inline-formula id="inf328">
<mml:math id="m340">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf329">
<mml:math id="m341">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf330">
<mml:math id="m342">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)</td>
<td align="left">5.95</td>
<td align="left">4.17</td>
<td align="left">12.94</td>
</tr>
<tr>
<td align="left">Stochastic-AR <xref ref-type="bibr" rid="B29">Lisi and Pelagatti (2018)</xref>
</td>
<td align="left">9.81</td>
<td align="left">11.29</td>
<td align="left">18.12</td>
</tr>
<tr>
<td align="left">FAR(P) <xref ref-type="bibr" rid="B23">Jan et al. (2022)</xref>
</td>
<td align="left">6.50</td>
<td align="left">5.18</td>
<td align="left">14.55</td>
</tr>
<tr>
<td align="left">
<sup>4</sup>
<inline-formula id="inf331">
<mml:math id="m343">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mtext>RSD</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> <xref ref-type="bibr" rid="B21">Iftikhar et al. (2023c)</xref>
</td>
<td align="left">6.21</td>
<td align="left">5.04</td>
<td align="left">14.24</td>
</tr>
<tr>
<td align="left">Ensemble <xref ref-type="bibr" rid="B3">Bibi et al. (2021)</xref>
</td>
<td align="left">6.26</td>
<td align="left">5.14</td>
<td align="left">14.38</td>
</tr>
<tr>
<td align="left">
<sup>NP</sup>VAR<sub>E</sub> <xref ref-type="bibr" rid="B38">Shah et al. (2022a)</xref>
</td>
<td align="left">6.58</td>
<td align="left">5.32</td>
<td align="left">14.39</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T7" position="float">
<label>TABLE 7</label>
<caption>
<p>Table of nomenclature.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Abbreviations/Symbols</th>
<th align="center">Meaning</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">FDA</td>
<td align="center">Functional data analysis</td>
</tr>
<tr>
<td align="center">FTS</td>
<td align="center">Functional time series</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf332">
<mml:math id="m344">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR</td>
<td align="center">Functional autoregressive</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf333">
<mml:math id="m345">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf334">
<mml:math id="m346">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">Functional autoregressive with exogenous predictors</td>
</tr>
<tr>
<td align="center">AR</td>
<td align="center">Autoregressive</td>
</tr>
<tr>
<td align="center">AR<inline-formula id="inf335">
<mml:math id="m347">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">Autoregressive with exogenous predictors</td>
</tr>
<tr>
<td align="center">MAPE</td>
<td align="center">Mean absolute percentage error</td>
</tr>
<tr>
<td align="center">MAE</td>
<td align="center">Mean absolute error</td>
</tr>
<tr>
<td align="center">RMSE</td>
<td align="center">Rooted mean square error</td>
</tr>
<tr>
<td align="center">TS</td>
<td align="center">Time series</td>
</tr>
<tr>
<td align="center">fFPE</td>
<td align="center">Functional final prediction error</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf336">
<mml:math id="m348">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">Electricity prices</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf337">
<mml:math id="m349">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">Constant parameter</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf338">
<mml:math id="m350">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">Fourier basis functions</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf339">
<mml:math id="m351">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">Eigenvalues</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf340">
<mml:math id="m352">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">Eigenfunctions</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf341">
<mml:math id="m353">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">Eigenscores</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf342">
<mml:math id="m354">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">Mean function</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf343">
<mml:math id="m355">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a0;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf344">
<mml:math id="m356">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR operators</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The proposed functional time series model used in this study has proven to be very accurate and effective in predicting the next-day power price in the British electricity market. These precise forecasts can help sellers (buyers and suppliers) optimize their bid planning, maximize revenue, and better use the resources required to generate electricity. Offering a stable and cost-effective energy system benefits end users. Furthermore, the accurate projection and understanding of energy prices in developing countries can help traders make more effective commercial and trade plans and better asset allocations. Finally, sellers (buyers and suppliers) can create more robust trading strategies based on the proposed <inline-formula id="inf345">
<mml:math id="m357">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf346">
<mml:math id="m358">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf347">
<mml:math id="m359">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) model and choose models with the most remarkable risk reward ration.</p>
<p>The statistical computing language programming environment R-studio implements analysis models. In comparison, all computations were performed with Intel(R) Core(TM) i7-6600 @ 2.80 GHz CPU. R uses GAM, tsDyn, and forecast libraries to model and predict standard time series forecast models. We wrote our own source code to model and forecast <inline-formula id="inf348">
<mml:math id="m360">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf349">
<mml:math id="m361">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf350">
<mml:math id="m362">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf351">
<mml:math id="m363">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf352">
<mml:math id="m364">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) models, which also use R&#x2019;s fda library. The documentation of the packages provides detailed information on the algorithms used in the estimation.</p>
</sec>
<sec sec-type="conclusion" id="s5">
<title>5 Conclusion</title>
<p>Forecasting electricity prices in a deregulated power market is complex and crucial. The price time series of electric power exhibits features such as high frequency, long-term trends, multiple seasonal patterns, spikes or jumps, and the effects of bank holidays. Addressing these features is essential for accurate price forecasting. This study has focused on the problem of day-ahead electricity price forecasting using functional data analysis. The electricity prices were modeled and forecast through two functional models, employing four classical time series models (AR, AR<inline-formula id="inf353">
<mml:math id="m365">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, ARIMA, and ARIMA<inline-formula id="inf354">
<mml:math id="m366">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) for this purpose. The price series was transformed into a functional form, and <inline-formula id="inf355">
<mml:math id="m367">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf356">
<mml:math id="m368">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> was utilized for modeling and forecasting. The functional model was further modified by introducing some essential exogenous information (specific features): <inline-formula id="inf357">
<mml:math id="m369">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf358">
<mml:math id="m370">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>(<inline-formula id="inf359">
<mml:math id="m371">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>). Meanwhile, the AR, AR<inline-formula id="inf360">
<mml:math id="m372">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, ARIMA, and ARIMA<inline-formula id="inf361">
<mml:math id="m373">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> models employed conventional time series models for modeling and forecasting electricity prices. In comparison to the benchmark models (AR, AR<inline-formula id="inf362">
<mml:math id="m374">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, ARIMA, ARIMA<inline-formula id="inf363">
<mml:math id="m375">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and the proposed <inline-formula id="inf364">
<mml:math id="m376">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR model), the <inline-formula id="inf365">
<mml:math id="m377">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf366">
<mml:math id="m378">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> model reduces the day-ahead forecasting average MAPE by a range of 5.02%&#x2013;45.77%, 4.07%&#x2013;40.63%, 3.80%&#x2013;38.99%, 1.90%&#x2013;24.22%, and 0.95%&#x2013;13.78%; MAE by a range of 9.43%&#x2013;69.32%, 5.17%&#x2013;65.48%, 6.04%&#x2013;59.16%, 3.02%&#x2013;42.01%, and 1.51%&#x2013;26.59%; RMSE by a range of 8.98%&#x2013;40.97%, 6.68%&#x2013;34.03%, 4.22%&#x2013;24.58%, 3.91%&#x2013;23.20%, and 2.30%&#x2013;15.11%. Furthermore, compared with the literature&#x2019;s proposed best models, the <inline-formula id="inf367">
<mml:math id="m379">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf368">
<mml:math id="m380">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> model produces a significantly higher accuracy and efficient day-ahead forecast based on forecasting error indicators and an equal forecast statistical test. Compared with the best models proposed in the literature, the <inline-formula id="inf369">
<mml:math id="m381">
<mml:mrow>
<mml:mi mathvariant="double-struck">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>AR<inline-formula id="inf370">
<mml:math id="m382">
<mml:mrow>
<mml:mi mathvariant="double-struck">X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> model demonstrates significantly higher accuracy and efficiency in day-ahead forecasting, as evidenced by forecasting error indicators and an equal forecast statistical test.</p>
<p>This study focuses entirely on the British electricity market. The idea should include additional electrical markets, such as the European, American, and Chinese markets. Other energy market factors are electricity demand, production, consumption, curves, natural gas pricing, wind speed, and crude oil prices. This will enable a more in-depth assessment of the upgraded functional model&#x2019;s performance. There are various approaches to broaden the field of future study. Other functional factors, such as temperature, consumer load, fuel, carbon dioxide emission costs, average solar radiation, and wind speed, can be included in the model to improve electricity price forecasting accuracy.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>Publicly available datasets were analyzed in this study; the data can be found at: <ext-link ext-link-type="uri" xlink:href="https://www.kaggle.com/datasets/thedevastator/gb-electrical-grid-half-hourly-data-2008-present">https://www.kaggle.com/datasets/thedevastator/gb-electrical-grid-half-hourly-data-2008-present</ext-link>.</p>
</sec>
<sec sec-type="author-contributions" id="s7">
<title>Author contributions</title>
<p>FJ: conceptualization, data curation, formal analysis, investigation, methodology, resources, software, validation, visualization, writing&#x2013;original draft, and writing&#x2013;review and editing. HI: conceptualization, formal analysis, funding acquisition, methodology, project administration, resources, software, supervision, visualization, writing&#x2013;original draft, and writing&#x2013;review and editing. MT: data curation, formal analysis, investigation, resources, and writing&#x2013;review and editing. MK: funding acquisition, investigation, project administration, supervision, and writing&#x2013;review and editing. </p>
</sec>
<sec sec-type="funding-information" id="s8">
<title>Funding</title>
<p>The authors declare that no financial support was received for the research, authorship, and/or publication of this article.</p>
</sec>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s10">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors, and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Aue</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Norinho</surname>
<given-names>D. D.</given-names>
</name>
<name>
<surname>H&#xf6;rmann</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>On the prediction of stationary functional time series</article-title>. <source>J. Am. Stat. Assoc.</source> <volume>110</volume>, <fpage>378</fpage>&#x2013;<lpage>392</lpage>. <pub-id pub-id-type="doi">10.1080/01621459.2014.909317</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Baruah</surname>
<given-names>R. D.</given-names>
</name>
<name>
<surname>Organero</surname>
<given-names>M. M.</given-names>
</name>
</person-group> (<year>2023</year>). &#x201c;<article-title>Integrating explicit contexts with recurrent neural networks for improving prognostic models</article-title>,&#x201d; in <source>2023 IEEE aerospace conference</source> <publisher-loc>Germany</publisher-loc>, (<publisher-name>IEEE</publisher-name>), <fpage>1</fpage>&#x2013;<lpage>8</lpage>.</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bibi</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Shah</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Alsubie</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Ali</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Lone</surname>
<given-names>S. A.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Electricity spot prices forecasting based on ensemble learning</article-title>. <source>IEEE Access</source> <volume>9</volume>, <fpage>150984</fpage>&#x2013;<lpage>150992</lpage>. <pub-id pub-id-type="doi">10.1109/access.2021.3126545</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Bosq</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2000</year>). <source>Linear processes in function spaces: theory and applications</source>. <publisher-loc>Germany</publisher-loc>, <publisher-name>Springer Science and Business Media</publisher-name>. <volume>149</volume>.</citation>
</ref>
<ref id="B5">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Bosq</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Blanke</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2008</year>). <source>Inference and prediction in large dimensions</source>. <publisher-name>John Wiley and Sons</publisher-name>.</citation>
</ref>
<ref id="B6">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Box</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2013</year>). &#x201c;<article-title>Box and jenkins: time series analysis, forecasting and control</article-title>,&#x201d; in <source>A very British affair: six britons and the development of time series analysis during the 20th century</source> <publisher-loc>Germany</publisher-loc>, (<publisher-name>Springer</publisher-name>), <fpage>161</fpage>&#x2013;<lpage>215</lpage>.</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Carbo-Bustinza</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Iftikhar</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Belmonte</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Cabello-Torres</surname>
<given-names>R. J.</given-names>
</name>
<name>
<surname>De La Cruz</surname>
<given-names>A. R. H.</given-names>
</name>
<name>
<surname>L&#xf3;pez-Gonzales</surname>
<given-names>J. L.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Short-term forecasting of ozone concentration in metropolitan lima using hybrid combinations of time series models</article-title>. <source>Appl. Sci.</source> <volume>13</volume>, <fpage>10514</fpage>. <pub-id pub-id-type="doi">10.3390/app131810514</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chan</surname>
<given-names>S.-C.</given-names>
</name>
<name>
<surname>Tsui</surname>
<given-names>K. M.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Hou</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Y.-C.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>F. F.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Load/price forecasting and managing demand response for smart grids: methodologies and challenges</article-title>. <source>IEEE signal Process. Mag.</source> <volume>29</volume>, <fpage>68</fpage>&#x2013;<lpage>85</lpage>. <pub-id pub-id-type="doi">10.1109/msp.2012.2186531</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chaouch</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Clustering-based improvement of nonparametric functional time series forecasting: application to intra-day household-level load curves</article-title>. <source>IEEE Trans. Smart Grid</source> <volume>5</volume>, <fpage>411</fpage>&#x2013;<lpage>419</lpage>. <pub-id pub-id-type="doi">10.1109/tsg.2013.2277171</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Chua</surname>
<given-names>W. S.</given-names>
</name>
<name>
<surname>Koch</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Forecasting day-ahead high-resolution natural-gas demand and supply in Germany</article-title>. <source>Appl. energy</source> <volume>228</volume>, <fpage>1091</fpage>&#x2013;<lpage>1110</lpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2018.06.137</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>An adaptive functional autoregressive forecast model to predict electricity price curves</article-title>. <source>J. Bus. and Econ. Statistics</source> <volume>35</volume>, <fpage>371</fpage>&#x2013;<lpage>388</lpage>. <pub-id pub-id-type="doi">10.1080/07350015.2015.1092976</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Coelho</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Costa</surname>
<given-names>M. F. P.</given-names>
</name>
<name>
<surname>Ferr&#xe1;s</surname>
<given-names>L. L.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Enhancing continuous time series modelling with a latent ode-lstm approach</article-title>. <source>Appl. Math. Comput.</source> <volume>475</volume>, <fpage>128727</fpage>. <pub-id pub-id-type="doi">10.1016/j.amc.2024.128727</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Dudek</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2015</year>). &#x201c;<article-title>Short-term load forecasting using random forests</article-title>,&#x201d; in <conf-name>Intelligent systems&#x2019; 2014: proceedings of the 7th IEEE international conference intelligent systems IS&#x2019;2014</conf-name>, <conf-loc>Warsaw, Poland</conf-loc>, <conf-date>September 24-26, 2014</conf-date>, <comment>, volume 2: tools, architectures, systems, applications</comment> (<publisher-name>Springer</publisher-name>), <fpage>821</fpage>&#x2013;<lpage>828</lpage>.</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Fargalla</surname>
<given-names>M. A. M.</given-names>
</name>
<name>
<surname>Yan</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Deng</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Kiyingi</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>G.</given-names>
</name>
<etal/>
</person-group> (<year>2024</year>). <article-title>Timenet: time2vec attention-based cnn-bigru neural network for predicting production in shale and sandstone gas reservoirs</article-title>. <source>Energy</source> <volume>290</volume>, <fpage>130184</fpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2023.130184</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Gers</surname>
<given-names>F. A.</given-names>
</name>
<name>
<surname>Eck</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Schmidhuber</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2001</year>). &#x201c;<article-title>Applying lstm to time series predictable through time-window approaches</article-title>,&#x201d; in <conf-name>International conference on artificial neural networks</conf-name> <conf-loc>USA</conf-loc>, <conf-date>9 to September 12, 2025</conf-date>, (<publisher-name>Springer</publisher-name>), <fpage>669</fpage>&#x2013;<lpage>676</lpage>.</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gonzales</surname>
<given-names>S. M.</given-names>
</name>
<name>
<surname>Iftikhar</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>L&#xf3;pez-Gonzales</surname>
<given-names>J. L.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Analysis and forecasting of electricity prices using an improved time series ensemble approach: an application to the peruvian electricity market</article-title>. <source>AIMS Math.</source> <volume>9</volume>, <fpage>21952</fpage>&#x2013;<lpage>21971</lpage>. <pub-id pub-id-type="doi">10.3934/math.20241067</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hippert</surname>
<given-names>H. S.</given-names>
</name>
<name>
<surname>Pedreira</surname>
<given-names>C. E.</given-names>
</name>
<name>
<surname>Souza</surname>
<given-names>R. C.</given-names>
</name>
</person-group> (<year>2001</year>). <article-title>Neural networks for short-term load forecasting: a review and evaluation</article-title>. <source>IEEE Trans. power Syst.</source> <volume>16</volume>, <fpage>44</fpage>&#x2013;<lpage>55</lpage>. <pub-id pub-id-type="doi">10.1109/59.910780</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Horv&#xe1;th</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Kokoszka</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Inference for functional data with applications</article-title>, <source>Springer Science and Business Media</source>. <volume>200</volume>.</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Iftikhar</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Bibi</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Canas Rodrigues</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>L&#xf3;pez-Gonzales</surname>
<given-names>J. L.</given-names>
</name>
</person-group> (<year>2023a</year>). <article-title>Multiple novel decomposition techniques for time series forecasting: application to monthly forecasting of electricity consumption in Pakistan</article-title>. <source>Energies</source> <volume>16</volume>, <fpage>2579</fpage>. <pub-id pub-id-type="doi">10.3390/en16062579</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Iftikhar</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Turpo-Chaparro</surname>
<given-names>J. E.</given-names>
</name>
<name>
<surname>Canas Rodrigues</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>L&#xf3;pez-Gonzales</surname>
<given-names>J. L.</given-names>
</name>
</person-group> (<year>2023b</year>). <article-title>Day-ahead electricity demand forecasting using a novel decomposition combination method</article-title>. <source>Energies</source> <volume>16</volume>, <fpage>6675</fpage>. <pub-id pub-id-type="doi">10.3390/en16186675</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Iftikhar</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Turpo-Chaparro</surname>
<given-names>J. E.</given-names>
</name>
<name>
<surname>Canas Rodrigues</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>L&#xf3;pez-Gonzales</surname>
<given-names>J. L.</given-names>
</name>
</person-group> (<year>2023c</year>). <article-title>Forecasting day-ahead electricity prices for the Italian electricity market using a new decomposition&#x2014;combination technique</article-title>. <source>Energies</source> <volume>16</volume>, <fpage>6669</fpage>. <pub-id pub-id-type="doi">10.3390/en16186669</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Inglada-P&#xe9;rez</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Gil</surname>
<given-names>S. G. y.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>A study on the nature of complexity in the Spanish electricity market using a comprehensive methodological framework</article-title>. <source>Mathematics</source> <volume>12</volume>, <fpage>893</fpage>. <pub-id pub-id-type="doi">10.3390/math12060893</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jan</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Shah</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Ali</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Short-term electricity prices forecasting using functional time series analysis</article-title>. <source>Energies</source> <volume>15</volume>, <fpage>3423</fpage>. <pub-id pub-id-type="doi">10.3390/en15093423</pub-id>
</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Karakatsani</surname>
<given-names>N. V.</given-names>
</name>
<name>
<surname>Bunn</surname>
<given-names>D. W.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>Forecasting electricity prices: the impact of fundamentals and time-varying coefficients</article-title>. <source>Int. J. Forecast.</source> <volume>24</volume>, <fpage>764</fpage>&#x2013;<lpage>785</lpage>. <pub-id pub-id-type="doi">10.1016/j.ijforecast.2008.09.008</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Karim</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Majumdar</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Darabi</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Harford</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Multivariate lstm-fcns for time series classification</article-title>. <source>Neural Netw.</source> <volume>116</volume>, <fpage>237</fpage>&#x2013;<lpage>245</lpage>. <pub-id pub-id-type="doi">10.1016/j.neunet.2019.04.014</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kokoszka</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Reimherr</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Determining the order of the functional autoregressive model</article-title>. <source>J. Time Ser. Analysis</source> <volume>34</volume>, <fpage>116</fpage>&#x2013;<lpage>129</lpage>. <pub-id pub-id-type="doi">10.1111/j.1467-9892.2012.00816.x</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lago</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Marcjasz</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>De Schutter</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Weron</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Forecasting day-ahead electricity prices: a review of state-of-the-art algorithms, best practices and an open-access benchmark</article-title>. <source>Appl. Energy</source> <volume>293</volume>, <fpage>116983</fpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2021.116983</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Deng</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Cai</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>M.</given-names>
</name>
<etal/>
</person-group> (<year>2020</year>). <article-title>A novel hybrid short-term load forecasting method of smart grid using mlr and lstm neural network</article-title>. <source>IEEE Trans. Industrial Inf.</source> <volume>17</volume>, <fpage>2443</fpage>&#x2013;<lpage>2452</lpage>. <pub-id pub-id-type="doi">10.1109/tii.2020.3000184</pub-id>
</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lisi</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Pelagatti</surname>
<given-names>M. M.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Component estimation for electricity market data: deterministic or stochastic?</article-title> <source>Energy Econ.</source> <volume>74</volume>, <fpage>13</fpage>&#x2013;<lpage>37</lpage>. <pub-id pub-id-type="doi">10.1016/j.eneco.2018.05.027</pub-id>
</citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lisi</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Shah</surname>
<given-names>I.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Forecasting next-day electricity demand and prices based on functional models</article-title>. <source>Energy Syst.</source> <volume>11</volume>, <fpage>947</fpage>&#x2013;<lpage>979</lpage>. <pub-id pub-id-type="doi">10.1007/s12667-019-00356-w</pub-id>
</citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Fu</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Bielefield</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y. Q.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Forecasting of Chinese primary energy consumption in 2021 with gru artificial neural network</article-title>. <source>Energies</source> <volume>10</volume>, <fpage>1453</fpage>. <pub-id pub-id-type="doi">10.3390/en10101453</pub-id>
</citation>
</ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>McKenzie</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Mean absolute percentage error and bias in economic forecasting</article-title>. <source>Econ. Lett.</source> <volume>113</volume>, <fpage>259</fpage>&#x2013;<lpage>262</lpage>. <pub-id pub-id-type="doi">10.1016/j.econlet.2011.08.010</pub-id>
</citation>
</ref>
<ref id="B33">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Paparoditis</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Sapatinas</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Short-term load forecasting: the similar shape functional time-series predictor</article-title>. <source>IEEE Trans. power Syst.</source> <volume>28</volume>, <fpage>3818</fpage>&#x2013;<lpage>3825</lpage>. <pub-id pub-id-type="doi">10.1109/tpwrs.2013.2272326</pub-id>
</citation>
</ref>
<ref id="B34">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pinh&#xe3;o</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Fonseca</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Covas</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Electricity spot price forecast by modelling supply and demand curve</article-title>. <source>Mathematics</source> <volume>10</volume>, <fpage>2012</fpage>. <pub-id pub-id-type="doi">10.3390/math10122012</pub-id>
</citation>
</ref>
<ref id="B35">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Quispe</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Salcedo</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Iftikhar</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zafar</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Khan</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Turpo-Chaparro</surname>
<given-names>J. E.</given-names>
</name>
<etal/>
</person-group> (<year>2024</year>). <article-title>Multi-step ahead ozone level forecasting using a component-based technique: a case study in lima, Peru</article-title>. <source>AIMS Environ. Sci.</source> <volume>11</volume>, <fpage>401</fpage>&#x2013;<lpage>425</lpage>. <pub-id pub-id-type="doi">10.3934/environsci.2024020</pub-id>
</citation>
</ref>
<ref id="B36">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Qureshi</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Iftikhar</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Rodrigues</surname>
<given-names>P. C.</given-names>
</name>
<name>
<surname>Rehman</surname>
<given-names>M. Z.</given-names>
</name>
<name>
<surname>Salar</surname>
<given-names>S. A.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Statistical modeling to improve time series forecasting using machine learning, time series, and hybrid models: a case study of bitcoin price forecasting</article-title>. <source>Mathematics</source> <volume>12</volume>, <fpage>3666</fpage>. <pub-id pub-id-type="doi">10.3390/math12233666</pub-id>
</citation>
</ref>
<ref id="B37">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Rajabi</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Estebsari</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2019</year>). &#x201c;<article-title>Deep learning based forecasting of individual residential loads using recurrence plots</article-title>,&#x201d; in <source>2019 IEEE milan PowerTech</source> (<publisher-name>IEEE</publisher-name>), <fpage>1</fpage>&#x2013;<lpage>5</lpage>.</citation>
</ref>
<ref id="B38">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shah</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Iftikhar</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Ali</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2022a</year>). <article-title>Modeling and forecasting electricity demand and prices: a comparison of alternative approaches</article-title>. <source>J. Math.</source> <volume>2022</volume>, <fpage>3581037</fpage>. <pub-id pub-id-type="doi">10.1155/2022/3581037</pub-id>
</citation>
</ref>
<ref id="B39">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shah</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Iftikhar</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Ali</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Short-term electricity demand forecasting using components estimation technique</article-title>. <source>Energies</source> <volume>12</volume>, <fpage>2532</fpage>. <pub-id pub-id-type="doi">10.3390/en12132532</pub-id>
</citation>
</ref>
<ref id="B40">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shah</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Jan</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Ali</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2022b</year>). <article-title>Functional data approach for short-term electricity demand forecasting</article-title>. <source>Math. problems Eng.</source> <volume>2022</volume>, <fpage>1</fpage>&#x2013;<lpage>14</lpage>. <pub-id pub-id-type="doi">10.1155/2022/6709779</pub-id>
</citation>
</ref>
<ref id="B41">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Taheri</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Talebjedi</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Laukkanen</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Electricity demand time series forecasting based on empirical mode decomposition and long short-term memory</article-title>. <source>Energy Eng. J. Assoc. Energy Eng.</source> <volume>118</volume>, <fpage>1577</fpage>&#x2013;<lpage>1594</lpage>. <pub-id pub-id-type="doi">10.32604/ee.2021.017795</pub-id>
</citation>
</ref>
<ref id="B42">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Talebjedi</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Laukkanen</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Holmberg</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Integration of thermal energy storage for sustainable energy hubs in the forest industry: a comprehensive analysis of cost, thermodynamic efficiency, and availability</article-title>. <source>Heliyon</source> <volume>10</volume>, <fpage>e36519</fpage>. <pub-id pub-id-type="doi">10.1016/j.heliyon.2024.e36519</pub-id>
</citation>
</ref>
<ref id="B43">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ugurlu</surname>
<given-names>U.</given-names>
</name>
<name>
<surname>Oksuz</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Tas</surname>
<given-names>O.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Electricity price forecasting using recurrent neural networks</article-title>. <source>Energies</source> <volume>11</volume>, <fpage>1255</fpage>. <pub-id pub-id-type="doi">10.3390/en11051255</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>