<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">NEJSDS</journal-id>
<journal-title-group><journal-title>The New England Journal of Statistics in Data Science</journal-title></journal-title-group>
<issn pub-type="ppub">2693-7166</issn>
<issn-l>2693-7166</issn-l>
<publisher>
<publisher-name>New England Statistical Society</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">NEJSDS20</article-id>
<article-id pub-id-type="doi">10.51387/23-NEJSDS20</article-id>
<article-categories>
<subj-group subj-group-type="heading"><subject>Methodology Article</subject></subj-group>
<subj-group subj-group-type="area"><subject>Statistical Methodology</subject></subj-group>
</article-categories>
<title-group>
<article-title>Detection of Anomalies in Traffic Flows with Large Amounts of Missing Data</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>He</surname><given-names>Qing</given-names></name><email xlink:href="mailto:carsonqing@knights.ucf.edu">carsonqing@knights.ucf.edu</email><xref ref-type="aff" rid="j_nejsds20_aff_001"/><xref ref-type="corresp" rid="cor2">1</xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Harrison</surname><given-names>Charles W.</given-names></name><email xlink:href="mailto:charleswharrison@knights.ucf.edu">charleswharrison@knights.ucf.edu</email><xref ref-type="aff" rid="j_nejsds20_aff_002"/><xref ref-type="corresp" rid="cor2">1</xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Huang</surname><given-names>Hsin-Hsiung</given-names></name><email xlink:href="mailto:hsin.huang@ucf.edu">hsin.huang@ucf.edu</email><xref ref-type="aff" rid="j_nejsds20_aff_003"/><xref ref-type="corresp" rid="cor1">∗</xref>
</contrib>
<aff id="j_nejsds20_aff_001">Department of Statistics and Data Science, <institution>University of Central Florida</institution>, Orlando, Florida, <country>USA</country>. E-mail address: <email xlink:href="mailto:carsonqing@knights.ucf.edu">carsonqing@knights.ucf.edu</email></aff>
<aff id="j_nejsds20_aff_002">Department of Statistics and Data Science, <institution>University of Central Florida</institution>, Orlando, Florida, <country>USA</country>. E-mail address: <email xlink:href="mailto:charleswharrison@knights.ucf.edu">charleswharrison@knights.ucf.edu</email></aff>
<aff id="j_nejsds20_aff_003">Department of Statistics and Data Science, <institution>University of Central Florida</institution>, Orlando, Florida, <country>USA</country>. E-mail address: <email xlink:href="mailto:hsin.huang@ucf.edu">hsin.huang@ucf.edu</email></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>∗</label>Corresponding author.</corresp>
<fn id="cor2"><label>1</label><p>Advised by the corresponding author.</p></fn>
</author-notes>
<pub-date pub-type="ppub"><year>2023</year></pub-date><pub-date pub-type="epub"><day>11</day><month>1</month><year>2023</year></pub-date><volume>1</volume><issue>1</issue><fpage>84</fpage><lpage>94</lpage>
<history>
<date date-type="accepted"><day>4</day><month>1</month><year>2023</year></date>
</history>
<permissions><copyright-statement>© 2023 New England Statistical Society</copyright-statement><copyright-year>2023</copyright-year>
<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
<license-p>Open access article under the <ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/">CC BY</ext-link> license.</license-p></license></permissions>
<abstract>
<p>Anomaly detection plays an important role in traffic operations and control. Missingness in spatial-temporal datasets prohibits anomaly detection algorithms from learning characteristic rules and patterns due to the lack of large amounts of data. This paper proposes an anomaly detection scheme for the 2021 Algorithms for Threat Detection (ATD) challenge based on Gaussian process models that generate features used in a logistic regression model which leads to high prediction accuracy for sparse traffic flow data with a large proportion of missingness. The dataset is provided by the National Science Foundation (NSF) in conjunction with the National Geospatial-Intelligence Agency (NGA), and it consists of thousands of labeled traffic flow records for 400 sensors from 2011 to 2020. Each sensor is purposely downsampled by NSF and NGA in order to simulate missing completely at random, and the missing rates are 99%, 98%, 95%, and 90%. Hence, it is challenging to detect anomalies from the sparse traffic flow data. The proposed scheme makes use of traffic patterns at different times of day and on different days of week to recover the complete data. The proposed anomaly detection scheme is computationally efficient by allowing parallel computation on different sensors. The proposed method is one of the two top performing algorithms in the 2021 ATD challenge.</p>
</abstract>
<kwd-group>
<label>Keywords and phrases</label>
<kwd>Anomaly detection</kwd>
<kwd>Gaussian process</kwd>
<kwd>Spatiotemporal</kwd>
<kwd>High dimensional</kwd>
<kwd>Missing completely at random</kwd>
</kwd-group>
<funding-group>
<award-group>
<funding-source xlink:href="https://doi.org/10.13039/100000001">National Science Foundation</funding-source>
<award-id>DMS-1924792</award-id>
</award-group>
<funding-statement>This research was supported in part by the National Science Foundation grant, DMS-1924792. </funding-statement>
</funding-group>
</article-meta>
</front>
<body>
<sec id="j_nejsds20_s_001">
<label>1</label>
<title>Introduction</title>
<p>Spatial-temporal datasets collected over time in different locations are often encountered in practice, and one emerging application of interest in spatiotemporal datasets is anomaly detection. For traffic flow data, anomaly detection is an important component in traffic operations and control since abnormal traffic events can greatly reduce traffic efficiency [<xref ref-type="bibr" rid="j_nejsds20_ref_030">30</xref>]. There is an increasing demand for automated, efficient, and universal anomaly detection methods as more traffic cameras are deployed to record road data [<xref ref-type="bibr" rid="j_nejsds20_ref_002">2</xref>]. Recent literature has developed machine learning and deep learning-based methods for detecting spatial-temporal anomalies. For example, in supervised deep anomaly detection, both normal and anomalous data are used to train a binary or multi-class classifier [<xref ref-type="bibr" rid="j_nejsds20_ref_002">2</xref>]. Kut and Birant [<xref ref-type="bibr" rid="j_nejsds20_ref_013">13</xref>] proposed a point anomaly detection algorithm using a clustering-based and density-based approach to discover clusters according to non-spatial, spatial, and temporal values of the objects. Although anomaly detection has been well studied in a variety of research and application domains, few are focused on sparse data with missingness which is a practical challenge encountered in a spatial-temporal setting and concerns external factors interfering with the data collection process [<xref ref-type="bibr" rid="j_nejsds20_ref_029">29</xref>, <xref ref-type="bibr" rid="j_nejsds20_ref_025">25</xref>, <xref ref-type="bibr" rid="j_nejsds20_ref_016">16</xref>]. The sparsity manifests itself in a number of ways including the introduction of additional measurement errors in the collected data observations or preventing the collection of the entire data observations. Missingness may not present many challenges if most of the data are observable, but when the majority of the data are missing, these algorithms may not be feasible.</p>
<p>Missing data are a common occurrence in many areas of research. Missingness in a dataset can be categorized as missing completely at random, missing at random, or missing not at random [<xref ref-type="bibr" rid="j_nejsds20_ref_014">14</xref>]. Data are missing completely at random if the failure to observe a value does not depend on any values of the response, either observed or missing, or any other observed values. As the observed data are just a random sample of the complete data and the outcomes do not affect the model for the missing data, the missing and observed data are not systematically different [<xref ref-type="bibr" rid="j_nejsds20_ref_005">5</xref>]. For missing at random, there might be systematic differences between the missing and observed data, but these can be entirely explained by other observed variables. Missing not at random occurs if missingness depends not only on the observed data but also on the unobserved (missing) values.</p>
<p>The focus of this paper is to propose a spatial-temporal anomaly detection framework to identify an anomalous traffic flow (i.e., the number of vehicles at a specific sensor location at a given time and weekday) when most of the data observations are missing due to external factors. Since the provided data are extremely sparse, with missing rates ranging from 90% to 99%, using the data directly does not yield satisfying results. It is challenging to detect anomalous events because they rarely happen for most sensors, and even fewer are observed. The extreme scarcity of the incomplete dataset makes it more difficult to detect the occurrence of anomalous events directly. Our work contains the following contributions: 
<list>
<list-item id="j_nejsds20_li_001">
<label>•</label>
<p>A three-layer data engineering architecture is proposed for data transformation and augmentation based on spatial-temporal patterns.</p>
</list-item>
<list-item id="j_nejsds20_li_002">
<label>•</label>
<p>Gaussian process regression (GPR) is used to reconstruct the complete data and estimate features such as mean, standard deviation and percentiles.</p>
</list-item>
<list-item id="j_nejsds20_li_003">
<label>•</label>
<p>A logistic regression model is built to predict anomaly status where the cutoff is optimized through cross-validation.</p>
</list-item>
</list> 
The remainder of this paper is arranged as follows. In Section <xref rid="j_nejsds20_s_002">2</xref>, we provide a summary of the challenges. In Section <xref rid="j_nejsds20_s_004">3</xref>, we give a general introduction to GPR models. The proposed anomaly detection framework is introduced in <xref rid="j_nejsds20_s_006">4</xref>. Evaluation of the proposed method and some key patterns identified from the study are shown in Section <xref rid="j_nejsds20_s_011">5</xref>. The final section <xref rid="j_nejsds20_s_015">6</xref> provides a discussion and offers directions for future research.</p>
</sec>
<sec id="j_nejsds20_s_002">
<label>2</label>
<title>Overview</title>
<sec id="j_nejsds20_s_003">
<label>2.1</label>
<title>Traffic Flow Dataset</title>
<p>This work is motivated by a challenging traffic data problem provided by the 2021 Algorithms for Threat Detection (ATD) program sponsored by the National Science Foundation (NSF) and the National Geospatial-Intelligence Agency (NGA) [<xref ref-type="bibr" rid="j_nejsds20_ref_001">1</xref>]. The complete dataset (i.e., without missing values) consists of hourly traffic flow (i.e., the number of vehicles) for 400 sensors (locations) in California from 2011 to 2020. A sample of the complete data is provided in Table <xref rid="j_nejsds20_tab_001">1</xref>.</p>
<p>The goal of the 2021 ATD challenge is to detect traffic flow anomalies at a sensor <italic>s</italic> at hour <italic>h</italic> on weekday <italic>w</italic> for an incomplete dataset where the majority of the data is not observed. A sample of the incomplete data is provided in Table <xref rid="j_nejsds20_tab_002">2</xref>. In fact, the ATD organizers downsampled each sensor by a particular sampling rate (i.e., one minus the missing rate): 1%, 2%, 5%, or 10%. The incomplete dataset has the same form as the complete dataset except that a large number of rows are missing as depicted in Table <xref rid="j_nejsds20_tab_002">2</xref>.</p>
<table-wrap id="j_nejsds20_tab_001">
<label>Table 1</label>
<caption>
<p>A sample of the complete dataset of hourly traffic flow. This dataset is detrended within each slice (see Definition <xref rid="j_nejsds20_stat_001">2.1</xref>) and used to define the true labels, but only a random subsample of this dataset is provided for analysis.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: center; border-top: double; border-bottom: solid thin">Sensor</td>
<td style="vertical-align: top; text-align: center; border-top: double; border-bottom: solid thin">Date</td>
<td style="vertical-align: top; text-align: center; border-top: double; border-bottom: solid thin">Weekday</td>
<td style="vertical-align: top; text-align: center; border-top: double; border-bottom: solid thin">Hour</td>
<td style="vertical-align: top; text-align: center; border-top: double; border-bottom: solid thin">Traffic</td>
</tr>
</thead><tbody>
<tr>
<td style="vertical-align: top; text-align: center">1</td>
<td style="vertical-align: top; text-align: center">2011/1/1</td>
<td style="vertical-align: top; text-align: center">Saturday</td>
<td style="vertical-align: top; text-align: center">0</td>
<td style="vertical-align: top; text-align: center">2240</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: center">1</td>
<td style="vertical-align: top; text-align: center">2011/1/1</td>
<td style="vertical-align: top; text-align: center">Saturday</td>
<td style="vertical-align: top; text-align: center">1</td>
<td style="vertical-align: top; text-align: center">1835</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: center">1</td>
<td style="vertical-align: top; text-align: center">2011/1/1</td>
<td style="vertical-align: top; text-align: center">Saturday</td>
<td style="vertical-align: top; text-align: center">2</td>
<td style="vertical-align: top; text-align: center">1580</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: center">⋮</td>
<td style="vertical-align: top; text-align: center">⋮</td>
<td style="vertical-align: top; text-align: center">⋮</td>
<td style="vertical-align: top; text-align: center">⋮</td>
<td style="vertical-align: top; text-align: center">⋮</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: center">400</td>
<td style="vertical-align: top; text-align: center">2020/12/31</td>
<td style="vertical-align: top; text-align: center">Thursday</td>
<td style="vertical-align: top; text-align: center">22</td>
<td style="vertical-align: top; text-align: center">320</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: center; border-bottom: solid thin">400</td>
<td style="vertical-align: top; text-align: center; border-bottom: solid thin">2020/12/31</td>
<td style="vertical-align: top; text-align: center; border-bottom: solid thin">Thursday</td>
<td style="vertical-align: top; text-align: center; border-bottom: solid thin">23</td>
<td style="vertical-align: top; text-align: center; border-bottom: solid thin">266</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="j_nejsds20_tab_002">
<label>Table 2</label>
<caption>
<p>A sample of the incomplete dataset that is provided to build an algorithm for anomaly detection with a sampling rate (the last column in the table) at <inline-formula id="j_nejsds20_ineq_001"><alternatives>
<mml:math><mml:mn>1</mml:mn><mml:mi mathvariant="normal">%</mml:mi></mml:math>
<tex-math><![CDATA[$1\% $]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_nejsds20_ineq_002"><alternatives>
<mml:math><mml:mn>2</mml:mn><mml:mi mathvariant="normal">%</mml:mi></mml:math>
<tex-math><![CDATA[$2\% $]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_nejsds20_ineq_003"><alternatives>
<mml:math><mml:mn>5</mml:mn><mml:mi mathvariant="normal">%</mml:mi></mml:math>
<tex-math><![CDATA[$5\% $]]></tex-math></alternatives></inline-formula>, or <inline-formula id="j_nejsds20_ineq_004"><alternatives>
<mml:math><mml:mn>10</mml:mn><mml:mi mathvariant="normal">%</mml:mi></mml:math>
<tex-math><![CDATA[$10\% $]]></tex-math></alternatives></inline-formula> for each sensor.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: center; border-top: double; border-bottom: solid thin">Sensor</td>
<td style="vertical-align: top; text-align: center; border-top: double; border-bottom: solid thin">Date</td>
<td style="vertical-align: top; text-align: center; border-top: double; border-bottom: solid thin">Weekday</td>
<td style="vertical-align: top; text-align: center; border-top: double; border-bottom: solid thin">Hour</td>
<td style="vertical-align: top; text-align: center; border-top: double; border-bottom: solid thin">Traffic</td>
<td style="vertical-align: top; text-align: center; border-top: double; border-bottom: solid thin">Rate</td>
</tr>
</thead><tbody>
<tr>
<td style="vertical-align: top; text-align: center">1</td>
<td style="vertical-align: top; text-align: center">2011/1/1</td>
<td style="vertical-align: top; text-align: center">Saturday</td>
<td style="vertical-align: top; text-align: center">16</td>
<td style="vertical-align: top; text-align: center">6278</td>
<td style="vertical-align: top; text-align: center">1%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: center">1</td>
<td style="vertical-align: top; text-align: center">2011/1/19</td>
<td style="vertical-align: top; text-align: center">Wednesday</td>
<td style="vertical-align: top; text-align: center">17</td>
<td style="vertical-align: top; text-align: center">6302</td>
<td style="vertical-align: top; text-align: center">1%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: center">⋮</td>
<td style="vertical-align: top; text-align: center">⋮</td>
<td style="vertical-align: top; text-align: center">⋮</td>
<td style="vertical-align: top; text-align: center">⋮</td>
<td style="vertical-align: top; text-align: center">⋮</td>
<td style="vertical-align: top; text-align: center">⋮</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: center">400</td>
<td style="vertical-align: top; text-align: center">2020/12/30</td>
<td style="vertical-align: top; text-align: center">Wednesday</td>
<td style="vertical-align: top; text-align: center">21</td>
<td style="vertical-align: top; text-align: center">388</td>
<td style="vertical-align: top; text-align: center">5%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: center; border-bottom: solid thin">400</td>
<td style="vertical-align: top; text-align: center; border-bottom: solid thin">2020/12/30</td>
<td style="vertical-align: top; text-align: center; border-bottom: solid thin">Thursday</td>
<td style="vertical-align: top; text-align: center; border-bottom: solid thin">19</td>
<td style="vertical-align: top; text-align: center; border-bottom: solid thin">466</td>
<td style="vertical-align: top; text-align: center; border-bottom: solid thin">5%</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The definition of an anomaly is determined by the ATD program organizers. All analyses are at the granular level of sensor <italic>s</italic>, hour <italic>h</italic>, and weekday <italic>w</italic>, which is called a slice (see definition <xref rid="j_nejsds20_stat_001">2.1</xref>). The traffic flow data are detrended for each slice as the anomaly definition assumes stationarity. Specifically, a linear trend model is fit on the complete hourly data over time, and its predicted linear trend is then subtracted from the original data. The average traffic flow is added back to the resulting data. We refer to the dataset that results from the aforementioned steps as the complete detrended dataset <italic>D</italic>.</p>
<p>Let the detrended traffic flow be denoted by <italic>f</italic>. We refer to the complete detrended data (i.e., no missing values) concerning sensor <italic>s</italic> at hour <italic>h</italic> on weekday <italic>w</italic> as the “slice” which has the following definition.</p><statement id="j_nejsds20_stat_001"><label>Definition 2.1</label>
<title>(slice).</title>
<p>Let <italic>i</italic> be the <italic>i</italic>th row in the complete detrended dataset <italic>D</italic>. The slice refers to the complete detrended traffic flow data (i.e., no missing values) with respect to sensor <italic>s</italic> at hour <italic>h</italic> on weekday <italic>w</italic>: 
<disp-formula id="j_nejsds20_eq_001">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"><mml:msub><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="align-even"><mml:mo>:</mml:mo><mml:mo>=</mml:mo><mml:mfenced separators="" open="{" close="}"><mml:mrow><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>:</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo>∩</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">h</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∩</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo>∩</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">o</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mfenced></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:mo>:</mml:mo><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mfenced separators="" open="{" close="}"><mml:mrow><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:mfenced></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}{D_{s,h,w}}& :=\left\{{D_{f}^{i}}:{D_{s}^{i}}=s\cap {D_{h}^{i}}=h\cap {D_{w}^{i}}=w\cap {D_{o}^{i}}=1\right\}\\ {} & :={\left\{{D_{s,h,w}^{{i^{\prime }}}}\right\}_{{i^{\prime }}=1}^{{i^{\prime }}={n_{s,h,w}}}}\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_nejsds20_ineq_005"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${D_{s}^{i}}$]]></tex-math></alternatives></inline-formula> is the sensor index number in <italic>i</italic>th row, <inline-formula id="j_nejsds20_ineq_006"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">h</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${D_{h}^{i}}$]]></tex-math></alternatives></inline-formula> is the hour value in the <italic>i</italic>th row, <inline-formula id="j_nejsds20_ineq_007"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${D_{w}^{i}}$]]></tex-math></alternatives></inline-formula> is the weekday value in the <italic>i</italic>th row, <inline-formula id="j_nejsds20_ineq_008"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">o</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math>
<tex-math><![CDATA[${D_{o}^{i}}=1$]]></tex-math></alternatives></inline-formula> if the observation is sampled and <inline-formula id="j_nejsds20_ineq_009"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">o</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math>
<tex-math><![CDATA[${D_{o}^{i}}=0$]]></tex-math></alternatives></inline-formula> otherwise., and <inline-formula id="j_nejsds20_ineq_010"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">|</mml:mo></mml:math>
<tex-math><![CDATA[${n_{s,h,w}}=|{D_{s,h,w}}|$]]></tex-math></alternatives></inline-formula>.</p></statement>
<p>Consequently, the true mean traffic flow for the slice is: 
<disp-formula id="j_nejsds20_eq_002">
<label>(2.1)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="italic">μ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {\mu _{s,h,w}}=\frac{1}{{n_{s,h,w}}}\sum \limits_{i}{D_{s,h,w}^{i}}\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_nejsds20_ineq_011"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${D_{s,h,w}^{i}}$]]></tex-math></alternatives></inline-formula> is the <italic>i</italic>th traffic flow for sensor <italic>s</italic> at hour <italic>h</italic> on weekday <italic>w</italic> (i.e. multiple values collected from 2011 to 2020). Similarly, the true standard deviation for the slice is 
<disp-formula id="j_nejsds20_eq_003">
<label>(2.2)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:munder><mml:mrow><mml:mo largeop="false" movablelimits="false">∑</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:munder><mml:msup><mml:mrow><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">μ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:msqrt></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {\sigma _{s,h,w}}=\sqrt{\frac{\textstyle\sum \limits_{i}{({D_{s,h,w}^{i}}-{\mu _{s,h,w}})^{2}}}{{n_{s,h,w}}}}\]]]></tex-math></alternatives>
</disp-formula> 
The true anomaly label is determined by the ATD program organizers and is defined as the following: 
<disp-formula id="j_nejsds20_eq_004">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right"><mml:mtr><mml:mtd class="align-odd"><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">I</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mfenced separators="" open="{" close=""><mml:mrow><mml:mtable columnspacing="10.0pt" equalrows="false" columnlines="none" equalcolumns="false" columnalign="left left"><mml:mtr><mml:mtd class="array"><mml:mn>1</mml:mn><mml:mspace width="0.2778em"/><mml:mtext>(anomaly),</mml:mtext><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mo stretchy="false">|</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">μ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">|</mml:mo><mml:mo stretchy="false">≥</mml:mo><mml:mn>3</mml:mn><mml:msub><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mn>0</mml:mn><mml:mspace width="0.2778em"/><mml:mtext>(normal),</mml:mtext><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mo stretchy="false">|</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">μ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">|</mml:mo><mml:mo mathvariant="normal">&lt;</mml:mo><mml:mn>3</mml:mn><mml:msub><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {I_{s,h,w}^{i}}=\left\{\begin{array}{l@{\hskip10.0pt}l}1\hspace{0.2778em}\text{(anomaly),}\hspace{1em}& |{D_{s,h,w}^{i}}-{\mu _{s,h,w}}|\ge 3{\sigma _{s,h,w}}\\ {} 0\hspace{0.2778em}\text{(normal),}\hspace{1em}& |{D_{s,h,w}^{i}}-{\mu _{s,h,w}}|<3{\sigma _{s,h,w}}\end{array}\right..\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>In this project, the complete dataset <italic>D</italic> is not available. The sampling rate is provided for each sensor. As the definition of anomaly infers, the anomaly status is defined based on the complete dataset, but only the incomplete data are available to predict the anomaly. The purpose of this study is to use the incomplete data to accurately predict anomalies whose status is determined using the complete data.</p>
</sec>
</sec>
<sec id="j_nejsds20_s_004" sec-type="methods">
<label>3</label>
<title>Methodology</title>
<sec id="j_nejsds20_s_005">
<label>3.1</label>
<title>Gaussian Process Regression</title>
<p>Gaussian Process Regression (GPR) models are non-parametric kernel-based models based on the assumption that each observed response value <inline-formula id="j_nejsds20_ineq_012"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${y_{i}}$]]></tex-math></alternatives></inline-formula> is sampled from a multivariate normal distribution. Different from linear regressions, GP regression models are built on random processes with a Gaussian prior instead of a parametric formulation for the latent function. It also provides uncertainty measures over predictions In GPR models, the relationship between a latent function <inline-formula id="j_nejsds20_ineq_013"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$f({x_{i}})$]]></tex-math></alternatives></inline-formula> and the target (response) <inline-formula id="j_nejsds20_ineq_014"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${y_{i}}$]]></tex-math></alternatives></inline-formula> can be written as follows: 
<disp-formula id="j_nejsds20_eq_005">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right"><mml:mtr><mml:mtd class="align-odd"><mml:msub><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="0.2778em"/><mml:msub><mml:mrow><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∼</mml:mo><mml:mtext>N</mml:mtext><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {y_{i}}=f({x_{i}})+{\epsilon _{i}},\hspace{0.2778em}{\epsilon _{i}}\sim \text{N}(0,{\sigma ^{2}}),\]]]></tex-math></alternatives>
</disp-formula> 
where the random noise <inline-formula id="j_nejsds20_ineq_015"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\epsilon _{i}}$]]></tex-math></alternatives></inline-formula> is normally distributed with mean 0 and variance <inline-formula id="j_nejsds20_ineq_016"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${\sigma ^{2}}$]]></tex-math></alternatives></inline-formula>. The covariance function of the response in a GPR is <inline-formula id="j_nejsds20_ineq_017"><alternatives>
<mml:math><mml:mtext>cov</mml:mtext><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">y</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="italic">K</mml:mi><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi mathvariant="italic">I</mml:mi></mml:math>
<tex-math><![CDATA[$\text{cov}(y)=K+{\sigma ^{2}}I$]]></tex-math></alternatives></inline-formula> where the entry at the <italic>i</italic>-th row and <italic>j</italic>-th column of <italic>K</italic>, <inline-formula id="j_nejsds20_ineq_018"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${K_{i,j}}=k({x_{i}},{x_{j}})$]]></tex-math></alternatives></inline-formula>. The covariance matrix characterizes correlations between different responses in the process. If <inline-formula id="j_nejsds20_ineq_019"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${x_{i}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_nejsds20_ineq_020"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${x_{j}}$]]></tex-math></alternatives></inline-formula> have similar kernel function values, then their GPR outputs, <inline-formula id="j_nejsds20_ineq_021"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$f({x_{i}})$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_nejsds20_ineq_022"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$f({x_{j}})$]]></tex-math></alternatives></inline-formula>, shall also be similar. For some new points <inline-formula id="j_nejsds20_ineq_023"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${X_{\ast }}$]]></tex-math></alternatives></inline-formula>, the prediction <inline-formula id="j_nejsds20_ineq_024"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$f({X_{\ast }})$]]></tex-math></alternatives></inline-formula> can be obtained from the joint distribution of <italic>f</italic> on the input <italic>X</italic> and <inline-formula id="j_nejsds20_ineq_025"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${f_{\ast }}$]]></tex-math></alternatives></inline-formula> on the new points <inline-formula id="j_nejsds20_ineq_026"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${X_{\ast }}$]]></tex-math></alternatives></inline-formula>, a simplified notation of <inline-formula id="j_nejsds20_ineq_027"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$f({X_{\ast }})$]]></tex-math></alternatives></inline-formula> as follows: 
<disp-formula id="j_nejsds20_eq_006">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" columnalign="center"><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">f</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo stretchy="false">∼</mml:mo><mml:mtext>N</mml:mtext><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mtable equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" columnalign="center"><mml:mtr><mml:mtd class="array"><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" columnalign="center"><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">m</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">X</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">m</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo mathvariant="normal">,</mml:mo><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable columnspacing="10.0pt" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" columnalign="center center"><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">K</mml:mi></mml:mtd><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow></mml:msubsup></mml:mtd><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo><mml:mo>∗</mml:mo></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ \left[\begin{array}{c}f\\ {} {f_{\ast }}\end{array}\right]\sim \text{N}\left(\left[\begin{array}{c}m(X)\\ {} m({X_{\ast }})\end{array}\right],\left[\begin{array}{c@{\hskip10.0pt}c}K& {K_{\ast }}\\ {} {K_{\ast }^{T}}& {K_{\ast \ast }}\end{array}\right]\right),\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_nejsds20_ineq_028"><alternatives>
<mml:math><mml:mi mathvariant="italic">K</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">K</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">X</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">X</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$K=K(X,X)$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_nejsds20_ineq_029"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">K</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">X</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${K_{\ast }}=K(X,{X_{\ast }})$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_nejsds20_ineq_030"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo><mml:mo>∗</mml:mo></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">K</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${K_{\ast \ast }}=K({X_{\ast }},{X_{\ast }})$]]></tex-math></alternatives></inline-formula> is a covariance matrix, whose entries are given by the covariance function (kernel), <inline-formula id="j_nejsds20_ineq_031"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${K_{i,j}}=k({x_{i}},{x_{j}})$]]></tex-math></alternatives></inline-formula>, and <inline-formula id="j_nejsds20_ineq_032"><alternatives>
<mml:math><mml:mi mathvariant="italic">m</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">X</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="italic">m</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math>
<tex-math><![CDATA[$m(X)=m({X_{\ast }})=0$]]></tex-math></alternatives></inline-formula> for convenience. The posterior predictive distribution is obtained by marginalizing out the training set latent variables [<xref ref-type="bibr" rid="j_nejsds20_ref_021">21</xref>]: 
<disp-formula id="j_nejsds20_eq_007">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mi mathvariant="italic">p</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">y</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∫</mml:mo></mml:mstyle><mml:mi mathvariant="italic">p</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">y</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mi mathvariant="italic">d</mml:mi><mml:mi mathvariant="italic">f</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">y</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∫</mml:mo></mml:mstyle><mml:mi mathvariant="italic">p</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">y</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mi mathvariant="italic">p</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mi mathvariant="italic">d</mml:mi><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ p({f_{\ast }}|y)=\int p(f,{f_{\ast }}|y)df=\frac{1}{p(y)}\int p(y|f)p(f,{f_{\ast }})df,\]]]></tex-math></alternatives>
</disp-formula> 
and it can be written as 
<disp-formula id="j_nejsds20_eq_008">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"><mml:mi mathvariant="italic">p</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">y</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mtd><mml:mtd class="align-even"><mml:mo>=</mml:mo><mml:mi mathvariant="italic">N</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">f</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">f</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi mathvariant="italic">I</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mi mathvariant="italic">y</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">f</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">f</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi mathvariant="italic">I</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}p({f_{\ast }}|y)& =N({K_{{f_{\ast }},f}}{({K_{f,f}}+{\sigma ^{2}}I)^{-1}}y,{K_{{f_{\ast }},{f_{\ast }}}}\\ {} & -{K_{{f_{\ast }},f}}{({K_{f,f}}+{\sigma ^{2}}I)^{-1}}{K_{f,{f_{\ast }}}}).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
Notice that the covariance does not depend on the observed output <italic>y</italic> but only on the inputs <italic>X</italic> and <inline-formula id="j_nejsds20_ineq_033"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${X_{\ast }}$]]></tex-math></alternatives></inline-formula>.</p>
<p>Recently, GPs have become a popular method for non-parametric modeling, and there are several reasons for using GPs. First, the locations of the observations used to train the model do not necessarily correspond to the locations of the points for which we wish to investigate the function at [<xref ref-type="bibr" rid="j_nejsds20_ref_022">22</xref>]. Inference for the GP at a set of locations <inline-formula id="j_nejsds20_ineq_034"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${X_{\ast }}$]]></tex-math></alternatives></inline-formula> that differ from those corresponding to <italic>X</italic> can be achieved by evaluating the posterior distribution of <inline-formula id="j_nejsds20_ineq_035"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$f({X_{\ast }})$]]></tex-math></alternatives></inline-formula>. Second, there are various kernel functions that can be proposed to meet the modeling expectations. For example, if we believe the informativeness of past observations in explaining current data is a function of their time difference, the squared exponential function can be used in the covariance function, i.e., <inline-formula id="j_nejsds20_ineq_036"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">h</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo movablelimits="false">exp</mml:mo><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">λ</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo fence="true" stretchy="false">]</mml:mo></mml:math>
<tex-math><![CDATA[$f({x_{i}},{x_{j}})={h^{2}}\exp [-{(\frac{{x_{i}}-{x_{j}}}{\lambda })^{2}}]$]]></tex-math></alternatives></inline-formula>, where hyperparameters <italic>h</italic> and <italic>λ</italic> control the output scale of the function and the input, or time, scale. Kernels can also be combined together (e.g., addition and multiplication) to develop flexible nonlinear correlations.</p>
<p>Other non-parametric models, such as splines are also commonly used for spatiotemporal data analysis as they rely on fewer assumptions about the underlying data generating mechanisms. Although spline models can implement complex nonlinear functions, they are less efficient in modeling the effects of covariate interactions when compared to GPs.</p>
<p>Approximate Bayesian computation (ABC) has been used widely for parameter inference in ecology and biology as it does not require the specification of a likelihood function [<xref ref-type="bibr" rid="j_nejsds20_ref_008">8</xref>, <xref ref-type="bibr" rid="j_nejsds20_ref_004">4</xref>]. The ABC approach estimates the posterior distributions of parameters by simulation data with parameters sampled from the prior distribution. A value for the tolerance (<italic>ϵ</italic>) is pre-specified to determine if the distance between a simulation dataset and the observed dataset is less than or equal to <italic>ϵ</italic>, it is retained. Otherwise, it is discarded.</p>
<p>GPs have been used as a replacement for supervised neural networks in nonlinear regression and extended for classification [<xref ref-type="bibr" rid="j_nejsds20_ref_026">26</xref>, <xref ref-type="bibr" rid="j_nejsds20_ref_020">20</xref>]. Previous research has shown that these two approaches were equivalent for a neural network model with a single-layer fully-connected neural network in the limit of infinite width [<xref ref-type="bibr" rid="j_nejsds20_ref_017">17</xref>, <xref ref-type="bibr" rid="j_nejsds20_ref_027">27</xref>, <xref ref-type="bibr" rid="j_nejsds20_ref_028">28</xref>]. For such a neural network with independent and identically distributed (i.i.d.) random parameters, as a result of an affine transformation of the final hidden layer, each scalar output contains a sum of i.i.d. terms. According to the Central Limit Theorem, the neural network’s computed function is drawn from a generalized projection (GP) when the width is infinite [<xref ref-type="bibr" rid="j_nejsds20_ref_027">27</xref>]. Multilayer Perceptron (MLP) neural networks are popular in capturing nonlinear relationships. It has been shown that a MLP neural network and GP have similar behavior when the number of hidden neurons tends to infinity and weight decay is employed. Based on such correspondence, it is possible to provide exact Bayesian inference for neural networks with infinite width by evaluating the corresponding generalized partials. There are kernel functions designed to mimic multi-layer random neural networks, but they are only available outside of a Bayesian network and have not yet been identified as covariance functions for GP in previous work [<xref ref-type="bibr" rid="j_nejsds20_ref_027">27</xref>].</p>
</sec>
</sec>
<sec id="j_nejsds20_s_006">
<label>4</label>
<title>Anomaly Detection Framework</title>
<p>The proposed anomaly detection framework consists of the following steps which are discussed in detail in the subsections below. First, we pre-process the observed data by detrending and normalizing the data of each slice, and then we augment the incomplete data by transforming the observed traffic flow from temporal neighbors (e.g., prior and post hours as described in Section <xref rid="j_nejsds20_s_007">4.1</xref>). Then, GPR models are built to recover the complete data based on the augmented data as described in Section <xref rid="j_nejsds20_s_008">4.2</xref> and <xref rid="j_nejsds20_s_009">4.3</xref>. The GPR model is fit at the level of the slice (sensor, hour, and weekday) by exploiting the temporal correlations. With the reconstructed complete traffic flow, the means and standard deviations of the fitted traffic flow are computed for all slices. Finally, the anomaly and non-anomaly classification algorithm is built using logistic regression models, as described in Section <xref rid="j_nejsds20_s_010">4.4</xref>. These steps are illustrated in Figure <xref rid="j_nejsds20_fig_001">1</xref>, where the data engineering step is included in the dashed rectangle. As the downsampled data have four different sampling rates (i.e., 1%, 2%, 5%, and 10%), we apply the proposed model to each sampling rate. A detailed algorithm for the proposed anomaly detection framework is in Algorithm <xref rid="j_nejsds20_fig_002">1</xref>.</p>
<fig id="j_nejsds20_fig_001">
<label>Figure 1</label>
<caption>
<p>The proposed anomaly detection framework.</p>
</caption>
<graphic xlink:href="nejsds20_g001.jpg"/>
</fig>
<fig id="j_nejsds20_fig_002">
<label>Algorithm 1:</label>
<caption>
<p>The Proposed Anomaly Detection Algorithm.</p>
</caption>
<graphic xlink:href="nejsds20_g002.jpg"/>
</fig>
<sec id="j_nejsds20_s_007">
<label>4.1</label>
<title>Data Engineering</title>
<p>In this subsection, we describe how to pre-process the incomplete data which includes detrending the data in the same way as the ATD organizer, normalizing the data, and augmenting the data from similar groups: a) nearby hours of the same day and b) same hour of other weekdays. We first detrend the traffic flow following the same strategy described in Section <xref rid="j_nejsds20_s_003">2.1</xref>. The resulting detrended data is denoted by <italic>d</italic>, and <inline-formula id="j_nejsds20_ineq_037"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${d_{s,h,w}}$]]></tex-math></alternatives></inline-formula> is the detrended total flow for slice <inline-formula id="j_nejsds20_ineq_038"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(s,h,w)$]]></tex-math></alternatives></inline-formula>.</p>
<p>In the normalization step, instead of normalizing the data based on the slice of <italic>s</italic>, <italic>h</italic>, and <italic>w</italic> which has high sparsity, the day of week is aggregated into weekdays or weekends to increase the sample size for normalization. A weekend indicator <inline-formula id="j_nejsds20_ineq_039"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${w_{c}}$]]></tex-math></alternatives></inline-formula> is created to recode the day of week variable to a dichotomous variable with value 1 indicating weekends and 0 indicating weekdays, 
<disp-formula id="j_nejsds20_eq_009">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfenced separators="" open="{" close=""><mml:mrow><mml:mtable columnspacing="10.0pt" equalrows="false" columnlines="none" equalcolumns="false" columnalign="left left"><mml:mtr><mml:mtd class="array"><mml:mn>1</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">∈</mml:mo><mml:mtext>{Sat., Sun.}</mml:mtext><mml:mo>∩</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">o</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">∈</mml:mo><mml:mtext>{Mon., Tue., Wed., Thu., Fri.}</mml:mtext><mml:mo>∩</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">o</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {w_{c}}=\left\{\begin{array}{l@{\hskip10.0pt}l}1\hspace{1em}& {D_{w}^{i}}\in \text{{Sat., Sun.}}\cap {D_{o}^{i}}=1,\\ {} 0\hspace{1em}& {D_{w}^{i}}\in \text{{Mon., Tue., Wed., Thu., Fri.}}\cap {D_{o}^{i}}=1.\end{array}\right.\]]]></tex-math></alternatives>
</disp-formula> 
Then we normalize the data for each slice of <italic>s</italic> (sensor), <italic>h</italic> (hour), and <inline-formula id="j_nejsds20_ineq_040"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${w_{c}}$]]></tex-math></alternatives></inline-formula> (weekdays or weekends). That is, data at the same locations and hours of weekdays are pooled together, and data at the same locations and hours of weekends are pooled together for normalization as follows, 
<disp-formula id="j_nejsds20_eq_010">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>′</mml:mo><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {d^{\prime \hspace{0.1667em}i}_{s,h,{w_{c}}}}=\frac{{d_{s,h,{w_{c}}}^{i}}-{\bar{d}_{s,h,{w_{c}}}}}{{s_{{d_{s,h,{w_{c}}}}}}}\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_nejsds20_ineq_041"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\bar{d}_{s,h,{w_{c}}}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_nejsds20_ineq_042"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${s_{{d_{s,h,{w_{c}}}}}}$]]></tex-math></alternatives></inline-formula> are the mean and standard deviation of slice <inline-formula id="j_nejsds20_ineq_043"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(s,h,{w_{c}})$]]></tex-math></alternatives></inline-formula>. This approach is advantageous as compared to normalizing the data based on the slice of <italic>s</italic>, <italic>h</italic>, and <italic>w</italic> since there are only a few points available for each slice. It also works better than normalizing based on the slice of <italic>s</italic> and <italic>h</italic> because the traffic flows of weekdays and weekends are significantly different and thus not suitable for pooling.</p>
<p>In the data augmentation step, it is assumed that the traffic flow data is smooth so that observed data can be duplicated to other slices. We augment data from similar groups: 
<list>
<list-item id="j_nejsds20_li_004">
<p>nearby hours of the same day.</p>
</list-item>
<list-item id="j_nejsds20_li_005">
<p>same hour of other weekdays.</p>
</list-item>
</list> 
First let <inline-formula id="j_nejsds20_ineq_044"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${d^{\prime }_{s,h,w}}$]]></tex-math></alternatives></inline-formula> be the detrended and normalized data for slice <inline-formula id="j_nejsds20_ineq_045"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(s,h,w)$]]></tex-math></alternatives></inline-formula> from the downsampled data <italic>d</italic>, <inline-formula id="j_nejsds20_ineq_046"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${d^{\prime i}_{s,h,w}}$]]></tex-math></alternatives></inline-formula> be the its <italic>i</italic>-th observation. Denote the augmented data of slice <inline-formula id="j_nejsds20_ineq_047"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(s,h,w)$]]></tex-math></alternatives></inline-formula> by <inline-formula id="j_nejsds20_ineq_048"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${y^{\prime }_{s,h,w}}$]]></tex-math></alternatives></inline-formula> and the initial values are the same as <inline-formula id="j_nejsds20_ineq_049"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${d^{\prime }_{s,h,w}}$]]></tex-math></alternatives></inline-formula> (i.e., set <inline-formula id="j_nejsds20_ineq_050"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${y^{\prime }_{s,h,w}}={d^{\prime }_{s,h,w}}$]]></tex-math></alternatives></inline-formula> before the augmentation starts). To augment the data from nearby hours of the same day, let <italic>k</italic> be the parameter that determines the size of nearby hours to predict. Then, the traffic flow data are transformed as follows for the previous hours <inline-formula id="j_nejsds20_ineq_051"><alternatives>
<mml:math><mml:mi mathvariant="italic">h</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>−</mml:mo><mml:mi mathvariant="italic">k</mml:mi></mml:math>
<tex-math><![CDATA[$h-1,\dots ,h-k$]]></tex-math></alternatives></inline-formula> and post hours <inline-formula id="j_nejsds20_ineq_052"><alternatives>
<mml:math><mml:mi mathvariant="italic">h</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="italic">k</mml:mi></mml:math>
<tex-math><![CDATA[$h+1,\dots ,h+k$]]></tex-math></alternatives></inline-formula>: 
<disp-formula id="j_nejsds20_eq_011">
<label>(4.1)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mtd><mml:mtd class="align-even"><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>×</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}{y^{\prime (n+1)}_{s,h+j,w}}& ={g_{1}}({d^{\prime i}_{s,h,w}})\\ {} & =\frac{{d^{\prime i}_{s,h,w}}-{\bar{{d^{\prime }}}_{s,h,w}}}{{s_{{d^{\prime }_{s,h,w}}}}}\times {s_{{d^{\prime }_{s,h+j,w}}}}+{\bar{{d^{\prime }}}_{s,h+j,w}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_nejsds20_ineq_053"><alternatives>
<mml:math><mml:mi mathvariant="italic">j</mml:mi><mml:mo>=</mml:mo><mml:mo>±</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mo>±</mml:mo><mml:mi mathvariant="italic">k</mml:mi></mml:math>
<tex-math><![CDATA[$j=\pm 1,\dots ,\pm k$]]></tex-math></alternatives></inline-formula>, <italic>n</italic> is the current sample size of <inline-formula id="j_nejsds20_ineq_054"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${y^{\prime }_{s,h+j,w}}$]]></tex-math></alternatives></inline-formula> and updated after each augmentation step, <inline-formula id="j_nejsds20_ineq_055"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\bar{{d^{\prime }}}_{s,h,w}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_nejsds20_ineq_056"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${s_{{d^{\prime }_{s,h,w}}}}$]]></tex-math></alternatives></inline-formula> are the sample mean and standard deviation of the data for slice <inline-formula id="j_nejsds20_ineq_057"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(s,h,w)$]]></tex-math></alternatives></inline-formula>, and <inline-formula id="j_nejsds20_ineq_058"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\bar{{d^{\prime }}}_{s,h+j,w}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_nejsds20_ineq_059"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${s_{{d^{\prime }_{s,h+j,w}}}}$]]></tex-math></alternatives></inline-formula> are the sample mean and standard deviation of the data for slice <inline-formula id="j_nejsds20_ineq_060"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(s,h+j,w)$]]></tex-math></alternatives></inline-formula>. Notice that in this step, we do not consider the weekday/weekend variable. Besides, we use grid search to find the optimum value of <italic>k</italic> (e.g., neighboring day window size for augmentation) for each sampling rate. The downsampled dataset with a lower sampling rate reasonably needs a larger value of <italic>k</italic> to achieve better results.</p>
<p>Similarly, the observed data from the same hour on other weekdays are also transformed for data augmentation. For slice <inline-formula id="j_nejsds20_ineq_061"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(s,h,w)$]]></tex-math></alternatives></inline-formula>, its traffic flow data are also used for other days of the week that have the same weekday category (weekday vs. weekend), i.e., slice <inline-formula id="j_nejsds20_ineq_062"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mspace width="2.5pt"/><mml:mtext>s.t.</mml:mtext><mml:mspace width="2.5pt"/><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(s,h,{w^{\prime }})\hspace{2.5pt}\text{s.t.}\hspace{2.5pt}{w_{c}}({w^{\prime }})={w_{c}}(w)$]]></tex-math></alternatives></inline-formula>. The transformation formula is described as follows: <disp-formula-group id="j_nejsds20_dg_001">
<disp-formula id="j_nejsds20_eq_012">
<label>(4.2)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mo>′</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mtd><mml:mtd class="align-even"><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}{y^{\prime (n+1)}_{s,h,{w^{\prime }}}}& ={g_{2}}({d^{\prime i}_{s,h,w}})\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_nejsds20_eq_013">
<label>(4.3)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>×</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& =\frac{{d^{\prime i}_{s,h,w}}-{\bar{{d^{\prime }}}_{s,h,w}}}{{s_{{d^{\prime }_{s,h,w}}}}}\times {s_{{d^{\prime }_{s,h,{w^{\prime }}}}}}+{\bar{{d^{\prime }}}_{s,h,{w^{\prime }}}}\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group> where <italic>n</italic> is the current sample size of <inline-formula id="j_nejsds20_ineq_063"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${y^{\prime }_{s,h,{w^{\prime }}}}$]]></tex-math></alternatives></inline-formula> and updated after each augmentation step, <inline-formula id="j_nejsds20_ineq_064"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\bar{{d^{\prime }}}_{s,h,w}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_nejsds20_ineq_065"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${s_{{d^{\prime }_{s,h,w}}}}$]]></tex-math></alternatives></inline-formula> are the sample mean and standard deviation of the data for slice <inline-formula id="j_nejsds20_ineq_066"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(s,h,w)$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_nejsds20_ineq_067"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\bar{{d^{\prime }}}_{s,h,{w^{\prime }}}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_nejsds20_ineq_068"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${s_{{d^{\prime }_{s,h,{w^{\prime }}}}}}$]]></tex-math></alternatives></inline-formula> are the sample mean and standard deviation of the data for slice <inline-formula id="j_nejsds20_ineq_069"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(s,h,{w^{\prime }})$]]></tex-math></alternatives></inline-formula>.</p>
<p>When the augmentation process completes, <inline-formula id="j_nejsds20_ineq_070"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${y^{\prime }_{s,h,w}}$]]></tex-math></alternatives></inline-formula> contains the detrended data from the original incomplete dataset, transformed data from the neighboring hours of the same day, and transformed data from other similar days of week at the same hour and same week. 
<disp-formula id="j_nejsds20_eq_014">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right"><mml:mtr><mml:mtd class="align-odd"><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>∪</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>±</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>∪</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {y^{\prime }_{s,h,w}}={d^{\prime }_{s,h,w}}\cup {g_{1}}({d^{\prime }_{s,h\pm j,w}})\cup {g_{2}}({d^{\prime }_{s,h,{w^{\prime }}}})\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_nejsds20_ineq_071"><alternatives>
<mml:math><mml:mi mathvariant="italic">j</mml:mi><mml:mo>=</mml:mo><mml:mo>±</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mo>±</mml:mo><mml:mi mathvariant="italic">k</mml:mi></mml:math>
<tex-math><![CDATA[$j=\pm 1,\dots ,\pm k$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_nejsds20_ineq_072"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${w_{c}}({w^{\prime }})={w_{c}}(w)$]]></tex-math></alternatives></inline-formula>. The augmentation strategy can be extended to incorporate spatial patterns by using data from the closest stations on the same day and same hour. It is not used in our project as it does not improve the model’s performance.</p>
</sec>
<sec id="j_nejsds20_s_008">
<label>4.2</label>
<title>Gaussian Process Regression Models</title>
<p>Although the data augmentation step has increased the sample size to a certain degree, it is based on observed data and does not infer what the unobserved looks like. Temporal patterns could be further explored to get a full picture of the data. The purpose of GPR models is to recover the unobserved traffic flow from the augmented data <inline-formula id="j_nejsds20_ineq_073"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${d^{\prime }_{s,h,w}}$]]></tex-math></alternatives></inline-formula>. To reconstruct the complete traffic flow data, we apply the fitted GPR models for each slice to predict the unobserved traffic flow from the posterior predictive distribution. With the augmented data <inline-formula id="j_nejsds20_ineq_074"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${y^{\prime }_{s,h,w}}$]]></tex-math></alternatives></inline-formula>, we apply GPR to recover the complete traffic flow data from 2011 to 2020 based on its date information, denoted by <inline-formula id="j_nejsds20_ineq_075"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${t_{s,h,w}}$]]></tex-math></alternatives></inline-formula>. The dependent variable in the GPR is the traffic flow, and the dependent variable is the time index <italic>x</italic>, a new feature introduced to recover the time series pattern of the data. To find <italic>x</italic>, we first list all the possible dates that correspond to the hour and weekday value in slice <inline-formula id="j_nejsds20_ineq_076"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(h,w)$]]></tex-math></alternatives></inline-formula>: 
<disp-formula id="j_nejsds20_eq_015">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mtext>dates between 2011 and 2020</mml:mtext><mml:mo>:</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">h</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∪</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {T_{h,w}}=\{\text{dates between 2011 and 2020}:{T_{h}}=h\cup {T_{w}}=w\}.\]]]></tex-math></alternatives>
</disp-formula> 
Let <inline-formula id="j_nejsds20_ineq_077"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${N_{h,w}}$]]></tex-math></alternatives></inline-formula> be the size of <inline-formula id="j_nejsds20_ineq_078"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${T_{h,w}}$]]></tex-math></alternatives></inline-formula>. Then the time index for <italic>i</italic>-th observation in slice <inline-formula id="j_nejsds20_ineq_079"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(s,w,h)$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_nejsds20_ineq_080"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${x_{s,h,w}^{i}}$]]></tex-math></alternatives></inline-formula> for <inline-formula id="j_nejsds20_ineq_081"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${y^{\prime }_{s,h,w}}$]]></tex-math></alternatives></inline-formula> can be identified by matching its dates with <italic>T</italic> as follows, 
<disp-formula id="j_nejsds20_eq_016">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo>:</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo fence="true" stretchy="false">}</mml:mo><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {x_{s,h,w}^{i}}=\{j:{T_{h,w}^{j}}={t_{s,h,w}^{i}}\},\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_nejsds20_ineq_082"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${t_{s,h,w}^{i}}$]]></tex-math></alternatives></inline-formula> is the date of <italic>i</italic>-th observation in slice <inline-formula id="j_nejsds20_ineq_083"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(s,h,w)$]]></tex-math></alternatives></inline-formula>. We have a collection <inline-formula id="j_nejsds20_ineq_084"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">⊂</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[${X_{s,h,w}}\subset \{1,\dots ,{N_{h,w}}\}$]]></tex-math></alternatives></inline-formula> by definition. Let <inline-formula id="j_nejsds20_ineq_085"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${n_{s,h,w}}$]]></tex-math></alternatives></inline-formula> be the size of <inline-formula id="j_nejsds20_ineq_086"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${X_{s,h,w}}$]]></tex-math></alternatives></inline-formula>. For the set of observed data <inline-formula id="j_nejsds20_ineq_087"><alternatives>
<mml:math><mml:mi mathvariant="italic">G</mml:mi><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[$G=\{({x_{s,h,w}^{i}},{y^{\prime \hspace{0.1667em}i}_{s,h,w}}),i=1,\dots ,{n_{s,h,w}}\}$]]></tex-math></alternatives></inline-formula>, we use the GPR to model the relationship between the traffic flow and the time index on the augmented data. Assume that 
<disp-formula id="j_nejsds20_eq_017">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mo stretchy="false">∼</mml:mo><mml:mtext>N</mml:mtext><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi mathvariant="italic">I</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {y^{\prime }_{s,h,w}}=f({x_{s,h,w}})+\epsilon ,\epsilon \sim \text{N}(0,{\sigma ^{2}}I).\]]]></tex-math></alternatives>
</disp-formula> 
A GP prior is placed over <inline-formula id="j_nejsds20_ineq_088"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$f({x_{s,h,w}})$]]></tex-math></alternatives></inline-formula> and simplifying the notation by removing the subscript <inline-formula id="j_nejsds20_ineq_089"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(s,h,w)$]]></tex-math></alternatives></inline-formula> as follows: 
<disp-formula id="j_nejsds20_eq_018">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mi mathvariant="italic">p</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">x</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">x</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mtext>N</mml:mtext><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">K</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ p(f(x)|x)=\text{N}(0,K)\]]]></tex-math></alternatives>
</disp-formula> 
where <italic>K</italic> is the covariance matrix determined by the kernel function. In this project, the rational quadratic kernel is implemented, 
<disp-formula id="j_nejsds20_eq_019">
<label>(4.4)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">α</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">l</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:msup><mml:mrow><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">α</mml:mi><mml:msup><mml:mrow><mml:mi>ℓ</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow><mml:mrow><mml:mo>−</mml:mo><mml:mi mathvariant="italic">α</mml:mi></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {k_{\alpha ,l}}({x_{i}},{x_{j}})={\left(1+\frac{d{({x_{i}},{x_{j}})^{2}}}{2\alpha {\ell ^{2}}}\right)^{-\alpha }},\]]]></tex-math></alternatives>
</disp-formula> 
where <italic>α</italic> is the scale mixture parameter which determines the weighting of large or small-scale variations, <italic>l</italic> is the length scale of the kernel, and <inline-formula id="j_nejsds20_ineq_090"><alternatives>
<mml:math><mml:mi mathvariant="italic">d</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mo>·</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mo>·</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$d(\cdot ,\cdot )$]]></tex-math></alternatives></inline-formula> is the Euclidean distance. The details of the kernel selection are discussed in the following section.</p>
<p>There are several advantages of recovering the complete sequence. First, the true mean and standard deviation could be approximated from the recovered data and fed into the classification process. Second, with the reconstructed complete time series data, other features such as the 5-th, 25-th, 50-th, 75-th, and 95-th percentiles can be computed and used when building the final prediction model. These summary statistics might not be represented well by the original incomplete data which have less than five observations (<inline-formula id="j_nejsds20_ineq_091"><alternatives>
<mml:math><mml:mi mathvariant="italic">n</mml:mi><mml:mo mathvariant="normal">&lt;</mml:mo><mml:mn>5</mml:mn></mml:math>
<tex-math><![CDATA[$n<5$]]></tex-math></alternatives></inline-formula>) on average for each slice.</p>
</sec>
<sec id="j_nejsds20_s_009">
<label>4.3</label>
<title>Kernel Selection</title>
<p>The choice of kernel profoundly affects the performance of a GP on a given task [<xref ref-type="bibr" rid="j_nejsds20_ref_023">23</xref>] as it controls properties of latent functions including smoothness and periodicity. In practice, sophisticated kernels are often achieved by composing a few standard kernel functions, which may also lead to overfitting. Commonly used kernels include the Gaussian radial basis function (RBF) kernel, rational quadratic kernel, expsine kernel, and Matérn kernel. 
<list>
<list-item id="j_nejsds20_li_006">
<p>The RBF kernel is also known as the squared-exponential kernel and takes the form as follows: 
<disp-formula id="j_nejsds20_eq_020">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right"><mml:mtr><mml:mtd class="align-odd"><mml:msub><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">l</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo movablelimits="false">exp</mml:mo><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mo>−</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:msup><mml:mrow><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:msup><mml:mrow><mml:mi mathvariant="italic">l</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {k_{l}}({x_{i}},{x_{j}})=\exp \left(-\frac{d{({x_{i}},{x_{j}})^{2}}}{2{l^{2}}}\right)\]]]></tex-math></alternatives>
</disp-formula> 
where <italic>l</italic> determines the length scale of the associated hypothesis space of functions. A large value of <italic>γ</italic> shrinks the covariance between nearby sets of observations, which results in a more smooth output.</p>
</list-item>
<list-item id="j_nejsds20_li_007">
<p>The rational quadratic kernel is described in Equation <xref rid="j_nejsds20_eq_019">4.4</xref>.</p>
</list-item>
<list-item id="j_nejsds20_li_008">
<p>The expsine kernel is in the form 
<disp-formula id="j_nejsds20_eq_021">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right"><mml:mtr><mml:mtd class="align-odd"><mml:msub><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">l</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mtext>exp</mml:mtext><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mo>−</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:msup><mml:mrow><mml:mo movablelimits="false">sin</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">π</mml:mi><mml:mi mathvariant="italic">d</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:mi mathvariant="italic">p</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">l</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {k_{l,p}}({x_{i}},{x_{j}})=\text{exp}\left(-\frac{2{\sin ^{2}}(\pi d({x_{i}},{x_{j}})/p)}{{l^{2}}}\right)\]]]></tex-math></alternatives>
</disp-formula> 
where <italic>l</italic> is the length scale of the kernel, <italic>p</italic> is the periodicity of the kernel.</p>
</list-item>
<list-item id="j_nejsds20_li_009">
<p>The Matérn kernel is a generation of the Gaussian RBF kernel and given by: 
<disp-formula id="j_nejsds20_eq_022">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"><mml:msub><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ν</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">l</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mtd><mml:mtd class="align-even"><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">ν</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ν</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:msup><mml:mrow><mml:mo maxsize="2.45em" minsize="2.45em" fence="true" mathvariant="normal">(</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">ν</mml:mi></mml:mrow></mml:msqrt></mml:mrow><mml:mrow><mml:mi mathvariant="italic">l</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="italic">d</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo maxsize="2.45em" minsize="2.45em" fence="true" mathvariant="normal">)</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ν</mml:mi></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ν</mml:mi></mml:mrow></mml:msub><mml:mo maxsize="2.45em" minsize="2.45em" fence="true" mathvariant="normal">(</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">ν</mml:mi></mml:mrow></mml:msqrt></mml:mrow><mml:mrow><mml:mi mathvariant="italic">l</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="italic">d</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo maxsize="2.45em" minsize="2.45em" fence="true" mathvariant="normal">)</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}{k_{\nu ,l}}({x_{i}},{x_{j}})& =\frac{1}{\Gamma (\nu ){2^{\nu -1}}}{\Bigg(\frac{\sqrt{2\nu }}{l}d({x_{i}},{x_{j}})\Bigg)^{\nu }}\\ {} & {K_{\nu }}\Bigg(\frac{\sqrt{2\nu }}{l}d({x_{i}},{x_{j}})\Bigg)\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_nejsds20_ineq_092"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ν</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mo>·</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${K_{\nu }}(\cdot )$]]></tex-math></alternatives></inline-formula> is a modified Bessel function and <inline-formula id="j_nejsds20_ineq_093"><alternatives>
<mml:math><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mo>·</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$\Gamma (\cdot )$]]></tex-math></alternatives></inline-formula> is the gamma function.</p>
</list-item>
</list> 
In this project, we propose a few candidate kernels (i.e., the RBF kernel, rational quadratic kernel, expsine squared kernel, and Matérn kernel) and then use the cross-validation method to compute the mean absolute error (MAE) of the traffic flow for each candidate kernel. Specifically, we first random sample 20 different sensors and used the 3-fold cross-validation with five repetitions through the Python Scikit-learn package [<xref ref-type="bibr" rid="j_nejsds20_ref_019">19</xref>] to obtain the training and test indices for each slice <inline-formula id="j_nejsds20_ineq_094"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(s,h,w)$]]></tex-math></alternatives></inline-formula>. The GP regression is fit on the training dataset, and predictions are performed for the test dataset. The prediction errors from all the slices of the 20 sensors are collected to compute the MAE for each candidate kernel. The MAE comparison is shown in Table <xref rid="j_nejsds20_tab_003">3</xref>. The RBF, rational quadratic, and Matérn have comparable results, while ExpSine squared kernel gives a much higher MAE. Among the four sampling rates, the rational quadratic has the lowest MAE compared to RBF and Matérn, and is therefore selected to be the kernel function in GPR.</p>
<table-wrap id="j_nejsds20_tab_003">
<label>Table 3</label>
<caption>
<p>The cross-validation MAE of four different kernels in GPR.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: justify; border-top: double; border-bottom: solid thin">Sampling</td>
<td style="vertical-align: top; text-align: justify; border-top: double; border-bottom: solid thin">RBF</td>
<td style="vertical-align: top; text-align: justify; border-top: double; border-bottom: solid thin">Rational Quadratic</td>
<td style="vertical-align: top; text-align: justify; border-top: double; border-bottom: solid thin">ExpSine Squared</td>
<td style="vertical-align: top; text-align: justify; border-top: double; border-bottom: solid thin">Matérn</td>
</tr>
</thead><tbody>
<tr>
<td style="vertical-align: top; text-align: justify">1%</td>
<td style="vertical-align: top; text-align: justify">0.760</td>
<td style="vertical-align: top; text-align: justify">0.723</td>
<td style="vertical-align: top; text-align: justify">38.062</td>
<td style="vertical-align: top; text-align: justify">0.753</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: justify">2%</td>
<td style="vertical-align: top; text-align: justify">0.697</td>
<td style="vertical-align: top; text-align: justify">0.620</td>
<td style="vertical-align: top; text-align: justify">36.849</td>
<td style="vertical-align: top; text-align: justify">0.678</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: justify">5%</td>
<td style="vertical-align: top; text-align: justify">0.666</td>
<td style="vertical-align: top; text-align: justify">0.575</td>
<td style="vertical-align: top; text-align: justify">10.031</td>
<td style="vertical-align: top; text-align: justify">0.648</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: justify">10%</td>
<td style="vertical-align: top; text-align: justify">0.598</td>
<td style="vertical-align: top; text-align: justify">0.490</td>
<td style="vertical-align: top; text-align: justify">1.257</td>
<td style="vertical-align: top; text-align: justify">0.567</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: justify; border-bottom: solid thin">overall</td>
<td style="vertical-align: top; text-align: justify; border-bottom: solid thin">0.602</td>
<td style="vertical-align: top; text-align: justify; border-bottom: solid thin">0.680</td>
<td style="vertical-align: top; text-align: justify; border-bottom: solid thin">21.549</td>
<td style="vertical-align: top; text-align: justify; border-bottom: solid thin">0.661</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>We use the Python Scikit-learn package [<xref ref-type="bibr" rid="j_nejsds20_ref_018">18</xref>] to optimize the hyperparameters in the kernel function, which are tuned in order to maximize the log-marginal-likelihood. Specifically, we use 0.1 and 1 as initial values for <italic>α</italic> and <italic>l</italic>, respectively. And the bounds are <inline-formula id="j_nejsds20_ineq_095"><alternatives>
<mml:math><mml:mi mathvariant="italic">α</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">l</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>0.1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>10</mml:mn><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$\alpha ,l\in (0.1,10)$]]></tex-math></alternatives></inline-formula>.</p>
<p>In Figure <xref rid="j_nejsds20_fig_003">2</xref>, we show the reconstructed time series for an arbitrary sensor (sensor 1) using GPR with a rational quadratic kernel. Sensor 1 has a 2% sampling rate. The blue curve represents the complete traffic flow and the orange is the reconstructed total flow. We only show the first two week’s estimation (2011-01-01 to 2011-01-14) for better resolution. Overall, the estimated total flow resembles the true values, but it does not fully recover the true distribution due to the sparsity of the observed data.</p>
<fig id="j_nejsds20_fig_003">
<label>Figure 2</label>
<caption>
<p>Actual traffic flow vs. the estimated flow using GP.</p>
</caption>
<graphic xlink:href="nejsds20_g003.jpg"/>
</fig>
</sec>
<sec id="j_nejsds20_s_010">
<label>4.4</label>
<title>Predictions via Logistic Regression</title>
<p>The incomplete traffic flow data has been detrended and normalized in the previous steps. There are additional features from the complete reconstructed data using GPR (i.e., estimated mean, standard deviation and percentiles). In this section, we will use <inline-formula id="j_nejsds20_ineq_096"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${d^{\prime }}$]]></tex-math></alternatives></inline-formula> (i.e., the detrended and normalized downsampled data), as well as features from GPR to build a logistic regression model for each sampling rate. All variables are normalized using the estimated mean and standard deviation of its corresponding slice. For example, data for slice <inline-formula id="j_nejsds20_ineq_097"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(s,h,w)$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_nejsds20_ineq_098"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${d^{\prime \hspace{0.1667em}i}_{s,h,w}}$]]></tex-math></alternatives></inline-formula> is normalized as follows: 
<disp-formula id="j_nejsds20_eq_023">
<label>(4.5)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right"><mml:mtr><mml:mtd class="align-odd"><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mfenced separators="" open="|" close="|"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi mathvariant="italic">μ</mml:mi></mml:mrow><mml:mo stretchy="false">ˆ</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mo stretchy="false">ˆ</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {z_{s,h,w}^{i}}=\left|\frac{{d^{\prime \hspace{0.1667em}i}_{s,h,w}}-{\hat{\mu }_{s,h,w}}}{{\hat{\sigma }_{s,h,w}}}\right|\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_nejsds20_ineq_099"><alternatives>
<mml:math><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">|</mml:mo></mml:math>
<tex-math><![CDATA[$i=1,\dots ,|{d^{\prime }_{s,h,w}}|$]]></tex-math></alternatives></inline-formula>, and <inline-formula id="j_nejsds20_ineq_100"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi mathvariant="italic">μ</mml:mi></mml:mrow><mml:mo stretchy="false">ˆ</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\hat{\mu }_{s,h,w}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_nejsds20_ineq_101"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mo stretchy="false">ˆ</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\hat{\sigma }_{s,h,w}}$]]></tex-math></alternatives></inline-formula> are the mean and standard deviation of the reconstructed complete traffic flow for slice <inline-formula id="j_nejsds20_ineq_102"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(\{s,h,w)$]]></tex-math></alternatives></inline-formula> from GPR. Denote the normalized data of <inline-formula id="j_nejsds20_ineq_103"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${d^{\prime }}$]]></tex-math></alternatives></inline-formula> by <italic>z</italic>. Features from the reconstructed data are also normalized in the same fashion. For example, the 5-th percentile w.r.t. the reconstructed data for slice <inline-formula id="j_nejsds20_ineq_104"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(s,h,w)$]]></tex-math></alternatives></inline-formula> is normalized as follows: 
<disp-formula id="j_nejsds20_eq_024">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo>;</mml:mo><mml:mn>5</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mfenced separators="" open="|" close="|"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo>;</mml:mo><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi mathvariant="italic">μ</mml:mi></mml:mrow><mml:mo stretchy="false">ˆ</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mo stretchy="false">ˆ</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {p^{\prime }_{s,h,w;5}}=\left|\frac{{p_{s,h,w;5}}-{\hat{\mu }_{s,h,w}}}{{\hat{\sigma }_{s,h,w}}}\right|\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>With the normalized data <inline-formula id="j_nejsds20_ineq_105"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">z</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>5</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>50</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>75</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>95</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[$\{z,{p^{\prime }_{5}},{p^{\prime }_{50}},{p^{\prime }_{75}},{p^{\prime }_{95}}\}$]]></tex-math></alternatives></inline-formula>, we train the logistic regression for each sampling rate. Define <inline-formula id="j_nejsds20_ineq_106"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${N_{j}}$]]></tex-math></alternatives></inline-formula> be the size of sampling rate <italic>j</italic> where <inline-formula id="j_nejsds20_ineq_107"><alternatives>
<mml:math><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mn>0.01</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>0.02</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>005</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>0.1</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[$j\in \{0.01,0.02,005,0.1\}$]]></tex-math></alternatives></inline-formula>. Omitting the slice notation <inline-formula id="j_nejsds20_ineq_108"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[$\{s,h,w\}$]]></tex-math></alternatives></inline-formula>, the logistic regression model for sampling rate <italic>j</italic> can be written as <disp-formula-group id="j_nejsds20_dg_002">
<disp-formula id="j_nejsds20_eq_025">
<label>(4.6)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"><mml:mo movablelimits="false">log</mml:mo><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mtd><mml:mtd class="align-even"><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msubsup><mml:msup><mml:mrow><mml:mi mathvariant="italic">z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>5</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>25</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}\log \left(\frac{{p^{i}}}{1-{p^{i}}}\right)& ={\beta _{0}^{j}}+{\beta _{1}^{j}}{z^{i}}+{\beta _{2}^{j}}{p^{\prime i}_{5}}+{\beta _{3}^{j}}{p^{\prime i}_{25}}\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_nejsds20_eq_026">
<label>(4.7)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>50</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mn>5</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>75</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mn>6</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>95</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& +{\beta _{4}^{j}}{p^{\prime i}_{50}}+{\beta _{5}^{j}}{p^{\prime i}_{75}}+{\beta _{6}^{j}}{p^{\prime i}_{95}}\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group> where <inline-formula id="j_nejsds20_ineq_109"><alternatives>
<mml:math><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>2</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$i=1,2,\dots ,{N_{j}}$]]></tex-math></alternatives></inline-formula>.</p>
<p>The logistic regression model returns the probability that a traffic flow is anomalous, and a cutoff threshold <inline-formula id="j_nejsds20_ineq_110"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${c_{j}}$]]></tex-math></alternatives></inline-formula> needs to be specified to determine the anomaly status for each sampling rate <italic>j</italic> where <inline-formula id="j_nejsds20_ineq_111"><alternatives>
<mml:math><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mn>0.01</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>0.02</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>005</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>0.1</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[$j\in \{0.01,0.02,005,0.1\}$]]></tex-math></alternatives></inline-formula>. A grid search is used to choose the optimal value of <inline-formula id="j_nejsds20_ineq_112"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${c_{j}}$]]></tex-math></alternatives></inline-formula>. Note that the three standard deviation method to find anomalies is a special case for logistic regression when <inline-formula id="j_nejsds20_ineq_113"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math>
<tex-math><![CDATA[${\beta _{0}}={\beta _{2}}={\beta _{3}}={\beta _{4}}={\beta _{5}}={\beta _{6}}=0$]]></tex-math></alternatives></inline-formula> and cutoff becomes <inline-formula id="j_nejsds20_ineq_114"><alternatives>
<mml:math><mml:mstyle displaystyle="false"><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn><mml:msub><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn><mml:msub><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:math>
<tex-math><![CDATA[$\frac{{e^{3{\beta _{1}}}}}{1+{e^{3{\beta _{1}}}}}$]]></tex-math></alternatives></inline-formula> as <inline-formula id="j_nejsds20_ineq_115"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math>
<tex-math><![CDATA[${z^{i}}=3$]]></tex-math></alternatives></inline-formula>. So, the logistic regression model encompasses the three-standard deviation criterion. But it is more flexible than the three-standard deviation criterion because it allows the tuning process for <inline-formula id="j_nejsds20_ineq_116"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${c_{j}}$]]></tex-math></alternatives></inline-formula> to obtain better prediction results.</p>
<p>Once the optimal values are selected, an observation is classified as an anomaly if its predicted probability of being anomalous is greater than <italic>c</italic>. For example, the optimal value of <italic>c</italic> was found to be 0.31 for a sampling rate of 0.1 so that an observation with predicted anomaly probability <inline-formula id="j_nejsds20_ineq_117"><alternatives>
<mml:math><mml:mo stretchy="false">≥</mml:mo><mml:mn>0.31</mml:mn></mml:math>
<tex-math><![CDATA[$\ge 0.31$]]></tex-math></alternatives></inline-formula> is classified as an anomaly. This is defined in the formula below. 
<disp-formula id="j_nejsds20_eq_027">
<label>(4.8)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right"><mml:mtr><mml:mtd class="align-odd"><mml:mi mathvariant="italic">I</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mfenced separators="" open="{" close=""><mml:mrow><mml:mtable columnspacing="10.0pt" equalrows="false" columnlines="none" equalcolumns="false" columnalign="left left"><mml:mtr><mml:mtd class="array"><mml:mn>1</mml:mn><mml:mspace width="0.2778em"/><mml:mtext>(anomaly),</mml:mtext><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:msubsup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mo stretchy="false">ˆ</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">≥</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mn>0</mml:mn><mml:mspace width="0.2778em"/><mml:mtext>(not anomaly),</mml:mtext><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:msubsup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mo stretchy="false">ˆ</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">&lt;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ I({z_{s,h,w}^{i}})=\left\{\begin{array}{l@{\hskip10.0pt}l}1\hspace{0.2778em}\text{(anomaly),}\hspace{1em}& {\hat{p}_{s,h,w}^{i}}\ge {c_{j}}\\ {} 0\hspace{0.2778em}\text{(not anomaly),}\hspace{1em}& {\hat{p}_{s,h,w}^{i}}<{c_{j}}\end{array}\right.\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_nejsds20_ineq_118"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${c_{j}}$]]></tex-math></alternatives></inline-formula> is the optimal value for sampling rate <italic>j</italic> that sensor <italic>s</italic> corresponds to. Then we can compute the corresponding F1 score using Equation (<xref rid="j_nejsds20_eq_028">5.1</xref>).</p>
</sec>
</sec>
<sec id="j_nejsds20_s_011">
<label>5</label>
<title>Results and Discussion</title>
<sec id="j_nejsds20_s_012">
<label>5.1</label>
<title>Assessment of Predictive Performance</title>
<p>The classification results were evaluated with F1 score which is the metric adopted by the challenge organizer. It is defined as follows: 
<disp-formula id="j_nejsds20_eq_028">
<label>(5.1)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right"><mml:mtr><mml:mtd class="align-odd"><mml:mtext>F1</mml:mtext><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:mtext>true positive</mml:mtext></mml:mrow><mml:mrow><mml:mtext>true positive</mml:mtext><mml:mo>+</mml:mo><mml:mn>0.5</mml:mn><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mtext>false positive + false negative)</mml:mtext></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ \text{F1}=\frac{\text{true positive}}{\text{true positive}+0.5(\text{false positive + false negative)}}.\]]]></tex-math></alternatives>
</disp-formula> 
F1 score is widely used in many applications such as image classification and documentation classification. Unlike classification accuracy which is the proportion of the number of correct predictions from all predictions made, F1 score conveys the balance between precision and recall. For example, in the imbalanced setting when negative cases dominate, the classification accuracy would be high by simply labeling all observations negative. However, the F1 score would be 0 as the predictions for the negative observations are incorrect.</p>
<p>To test the performance of the proposed method, we randomly sample 200 for training and the remaining 200 sensors for testing. The proposed algorithm is run in parallel at the sampling rate level. Within each sampling rate run, it can be further paralleled at the slice level for GPR hyperparameter tuning, which is comparably the most computationally expensive part among all components. Overall, the proposed algorithm is efficient and takes about 1 hour for training and 7 minutes for testing. The test F1 score for each sampling rate is given in Table <xref rid="j_nejsds20_tab_004">4</xref>. We also compute the F1 score on the test dataset using the baseline algorithm provided by NSF, which labels an observation as an anomaly if the detrended traffic flow is above or below three standard deviations from the observed mean.</p>
<table-wrap id="j_nejsds20_tab_004">
<label>Table 4</label>
<caption>
<p>F1 scores on the test dataset by sampling rates. XGBoost-1 is the comparison model that replaces GP with XGBoost for the proposed model to reconstruct the complete total flow, while XGBoost-2 is the comparison model that replaces logistic regression with XGBoost to predict the anomaly status. The Baseline model used the three-standard deviation rule based on the downsampled data. For the ABC approach, we estimate the parameters from the posterior distribution and then use a three standard deviation rule to find anomalies. The proposed model consistently outperforms the comparison models.</p>
</caption>
<table>
<thead>
<tr>
<td colspan="6" style="vertical-align: top; text-align: center; border-top: double; border-bottom: solid thin">Test Set F1 Score</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: justify; border-bottom: solid thin">Rate</td>
<td style="vertical-align: top; text-align: justify; border-bottom: solid thin">Proposed</td>
<td style="vertical-align: top; text-align: justify; border-bottom: solid thin">XGBoost-1</td>
<td style="vertical-align: top; text-align: justify; border-bottom: solid thin">XGBoost-2</td>
<td style="vertical-align: top; text-align: justify; border-bottom: solid thin">ABC</td>
<td style="vertical-align: top; text-align: justify; border-bottom: solid thin">Baseline</td>
</tr>
</thead><tbody>
<tr>
<td style="vertical-align: top; text-align: justify">1%</td>
<td style="vertical-align: top; text-align: justify">0.5505</td>
<td style="vertical-align: top; text-align: justify">0.4074</td>
<td style="vertical-align: top; text-align: justify">0.3838</td>
<td style="vertical-align: top; text-align: justify">0.2651</td>
<td style="vertical-align: top; text-align: justify">0.0000</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: justify">2%</td>
<td style="vertical-align: top; text-align: justify">0.6588</td>
<td style="vertical-align: top; text-align: justify">0.6779</td>
<td style="vertical-align: top; text-align: justify">0.6153</td>
<td style="vertical-align: top; text-align: justify">0.4758</td>
<td style="vertical-align: top; text-align: justify">0.2010</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: justify">5%</td>
<td style="vertical-align: top; text-align: justify">0.7382</td>
<td style="vertical-align: top; text-align: justify">0.4000</td>
<td style="vertical-align: top; text-align: justify">0.7018</td>
<td style="vertical-align: top; text-align: justify">0.4844</td>
<td style="vertical-align: top; text-align: justify">0.6078</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: justify; border-bottom: solid thin">10%</td>
<td style="vertical-align: top; text-align: justify; border-bottom: solid thin">0.8170</td>
<td style="vertical-align: top; text-align: justify; border-bottom: solid thin">0.8249</td>
<td style="vertical-align: top; text-align: justify; border-bottom: solid thin">0.7913</td>
<td style="vertical-align: top; text-align: justify; border-bottom: solid thin">0.5785</td>
<td style="vertical-align: top; text-align: justify; border-bottom: solid thin">0.7570</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Although this paper focuses on the use of the Gaussian Process in the anomaly detection framework (see Figure <xref rid="j_nejsds20_fig_001">1</xref>), other methods may be used to reconstruct the complete total flow. One method applied is stochastic gradient boosting [<xref ref-type="bibr" rid="j_nejsds20_ref_011">11</xref>, <xref ref-type="bibr" rid="j_nejsds20_ref_012">12</xref>]. Specifically, we use the XGboost library [<xref ref-type="bibr" rid="j_nejsds20_ref_007">7</xref>] to implement the XGBoost method. The GPR has an average F1 score of 0.6911 whereas the XGBoost has an average F1 score of 0.5776. The GPR has a descent F1 score for the sampling rate of 1% (0.5505) as compared to XGBoost (0.4074).</p>
<p>We also test the proposed framework by replacing logistic regression with XGBoost (column XGBoost-2 in Table <xref rid="j_nejsds20_tab_004">4</xref>). We observe that the XGBoost tends to overfit the training dataset and logistic regression gives better results for all four sampling rates in the test dataset.</p>
<p>We also applied the ABC algorithm to estimate the mean and standard deviation of each slice through the Python abcpy package [<xref ref-type="bibr" rid="j_nejsds20_ref_010">10</xref>]. Specifically, the parameter samples are generated from a uniform distribution (<inline-formula id="j_nejsds20_ineq_119"><alternatives>
<mml:math><mml:mi mathvariant="italic">μ</mml:mi><mml:mo stretchy="false">∼</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mo>−</mml:mo><mml:mn>0.5</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>0.5</mml:mn><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$\mu \sim (-0.5,0.5)$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_nejsds20_ineq_120"><alternatives>
<mml:math><mml:mi mathvariant="italic">σ</mml:mi><mml:mo stretchy="false">∼</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>0.5</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>1.5</mml:mn><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$\sigma \sim (0.5,1.5)$]]></tex-math></alternatives></inline-formula>) and a Gaussian likelihood is assumed for the distribution of the total flow. The posterior mean and standard deviation are then used to determine if a traffic flow is anomalous based on the three-standard deviation rule. We examine the hyperparameter <italic>ϵ</italic> (the distance tolerance) at two different values, 8 and 10, after comparing the simulation datasets and the observed data. We find the results for <inline-formula id="j_nejsds20_ineq_121"><alternatives>
<mml:math><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mo>=</mml:mo><mml:mn>8</mml:mn></mml:math>
<tex-math><![CDATA[$\epsilon =8$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_nejsds20_ineq_122"><alternatives>
<mml:math><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mo>=</mml:mo><mml:mn>10</mml:mn></mml:math>
<tex-math><![CDATA[$\epsilon =10$]]></tex-math></alternatives></inline-formula> are very close; therefore only the first one is shown in Table <xref rid="j_nejsds20_tab_004">4</xref>. It is shown that the proposed algorithm has higher F1 scores than the ABC algorithm for all four sampling rates.</p>
<p>Furthermore, the F1 score on the test dataset using the baseline algorithm is also computed for comparison purposes. The baseline algorithm labels an observation as an anomaly if the detrended traffic flow is above or below three standard deviations from the observed mean. The proposed method has a higher F1 score for all four sampling rates than the baseline approach.</p>
</sec>
<sec id="j_nejsds20_s_013">
<label>5.2</label>
<title>Spatial Pattern of Traffic Anomalies</title>
<p>In this section, we show the anomaly probability on a map using the standardized latitude and longitude information to reveal the spatial pattern of anomalies (i.e., the original latitude and longitude values are not provided). Due to the nature of the data, we aggregate the anomalies by year and compute both the observed and predicted anomaly probability for each sensor. The left and right plots in Figure <xref rid="j_nejsds20_fig_004">3</xref> are the true and predicted anomaly probability in 2016, respectively. In general, the predicted anomaly probability is close to the observed anomaly probability. In both plots, it is shown that sensors with large anomaly probabilities are mainly located in the northwestern area which is likely close to downtown Los Angeles. We are not able to show it on the exact map since the latitude and longitude provided by NSF are normalized. Few sensors located in the southeastern area also have relatively high anomaly probabilities. The scatter plot also showed that sensors that are close to each other had similar anomaly probability.</p>
<fig id="j_nejsds20_fig_004">
<label>Figure 3</label>
<caption>
<p>The left and right plots show the observed and predicted anomaly probability represented by the bubble size for each sensor in year 2016. The sensors that are close to each other have similar anomaly probabilities.</p>
</caption>
<graphic xlink:href="nejsds20_g004.jpg"/>
</fig>
</sec>
<sec id="j_nejsds20_s_014">
<label>5.3</label>
<title>Holiday and Weekday Pattern of Traffic Anomalies</title>
<p>In this section we examine the hourly traffic patterns of holidays and non-holidays and their daily profiles.</p>
<p><bold>Holidays vs. non-holidays.</bold> We analyze the hourly anomaly probability to investigate holiday and weekday patterns (see Figure <xref rid="j_nejsds20_fig_005">4</xref>). In general, holidays have a higher probability of experiencing unusual traffic than non-holidays. Moreover, holidays generally had anomalous traffic in the morning (4 AM to 10 AM), whereas non-holidays had higher anomaly probabilities from 10 AM to 8 PM. For holidays, people tend to leave home early, so this may explain the peak of the anomaly probability in the early morning [<xref ref-type="bibr" rid="j_nejsds20_ref_006">6</xref>]. For non-holidays, the anomaly probability patterns coincide with daily work commute patterns. Figure <xref rid="j_nejsds20_fig_005">4</xref> indicated that the daily profile had two peaks for non-holidays, corresponding to two rush hour periods: one in the morning (11 AM to 12 PM) corresponding to lunch breaks and another one in the afternoon (7 PM to 8 PM) which corresponds to the end of a working day.</p>
<fig id="j_nejsds20_fig_005">
<label>Figure 4</label>
<caption>
<p>Hourly anomaly probability for holidays and non-holiday. The left vertical axis number is the probability of anomalies in holidays and the right vertical axis number is the estimated probability of anomalies in non-holidays.</p>
</caption>
<graphic xlink:href="nejsds20_g005.jpg"/>
</fig>
<p><bold>Daily profiles in holidays and non-holidays.</bold> Stratifying the traffic flow data by holidays and non-holidays, the hourly anomaly probabilities are further analyzed at the weekday level. Figure <xref rid="j_nejsds20_fig_006">5</xref> showed the daily profiles by days of the week for holidays and non-holidays. We observe that there are large traffic flows on holidays that occurred on Mondays through Saturdays from 7 AM to 8 PM whereas Sunday has large traffic flows at 1 AM and a lower anomaly probability overall. We also found that Tuesday, Wednesday and Thursday have higher a probability of experiencing anomalous traffic than other days in the holiday group. Also, we found that 1 AM has the second highest probability of experiencing anomalies for most holidays which is consistent with a previous study [<xref ref-type="bibr" rid="j_nejsds20_ref_015">15</xref>].</p>
<p>For non-holidays, we find that Monday, Tuesday, Wednesday, and Thursday have similar patterns: a) two peaks at 11 AM to 12 PM and 7 PM to 8 PM and b) fewer anomalies at 8 AM. Friday’s pattern differes in that its anomaly probability gradually increases after 1 AM instead of dropping in the morning which is similar to Saturday and Sunday. It is interesting to point out that morning traffic volumes from Monday to Friday may be high but has a relatively smaller chance of reporting anomalies as compared to other time frames.</p>
<fig id="j_nejsds20_fig_006">
<label>Figure 5</label>
<caption>
<p>Hourly anomaly probability by weekday for holidays (right panel) and non-holidays (left panel). For holidays, all days have a high peak at 7 AM and 8 AM except for Sunday which have a high peak at 1 AM. For non-holidays, Monday, Tuesday, Wednesday, and Thursday have similar patterns, while Friday, Saturday and Sunday are similar.</p>
</caption>
<graphic xlink:href="nejsds20_g006.jpg"/>
</fig>
</sec>
</sec>
<sec id="j_nejsds20_s_015">
<label>6</label>
<title>Conclusions</title>
<p>In the proposed algorithm, we introduce a data engineering process which consists of detrending, normalization based on weekdays and weekends, and data augmentation using temporal or spatial patterns. The data engineering step plays an important role in the algorithm and can be generalized to settings with missing data. The GPR works on data with low and high signal-to-noise ratios and can be scaled to very large traffic flow datasets using a straightforward, practical, and generally applicable model specification. It retains the temporal correlation and helps estimate the true mean and standard deviation for each slice of data together with linear regression models. The logistic regression model predicts anomaly probabilities for each slice of data, which can be used for improving traffic and road safety by roadway designers and traffic management departments.</p>
<p>There are several potential areas for future work. Although the Python scikit-learn package [<xref ref-type="bibr" rid="j_nejsds20_ref_018">18</xref>] optimizes the hyperparameters in GPR, other optimization strategies such as Bayesian optimization may be implemented to recover the complete data and approximate the mean and standard deviation [<xref ref-type="bibr" rid="j_nejsds20_ref_024">24</xref>]. Future work might also consider spatial correlation in GPR. For example, it can be extended to accommodate high-dimensional geostatistic data by using reduced rank and hierarchical nearest-neighbor Gaussian process models [<xref ref-type="bibr" rid="j_nejsds20_ref_003">3</xref>, <xref ref-type="bibr" rid="j_nejsds20_ref_009">9</xref>]. The model could also be extended to a deep learning model by using GP as a hidden layer [<xref ref-type="bibr" rid="j_nejsds20_ref_028">28</xref>].</p>
</sec>
<sec id="j_nejsds20_s_016">
<title>Conflicts of Interest</title>
<p>The authors declare no conflict of interest. All authors reviewed the results and approved the final version of the manuscript.</p>
</sec>
</body>
<back>
<ref-list id="j_nejsds20_reflist_001">
<title>References</title>
<ref id="j_nejsds20_ref_001">
<label>[1]</label><mixed-citation publication-type="other"> Algorithms for threat detection (atd). URL. <uri>https://www.nsf.gov/pubs/2020/nsf20531/nsf20531.htm</uri>.</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_002">
<label>[2]</label><mixed-citation publication-type="chapter"> <string-name><surname>Bai</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>He</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Lei</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Wu</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Zhu</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Sun</surname>, <given-names>M.</given-names></string-name> and <string-name><surname>Yan</surname>, <given-names>J.</given-names></string-name> <chapter-title>Traffic anomaly detection via perspective map based on spatial-temporal information matrix</chapter-title>. In <source>CVPR Workshops</source> <fpage>117</fpage>–<lpage>124</lpage> (<year>2019</year>).</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_003">
<label>[3]</label><mixed-citation publication-type="journal"> <string-name><surname>Banerjee</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Dunson</surname>, <given-names>D. B.</given-names></string-name> and <string-name><surname>Tokdar</surname>, <given-names>S. T.</given-names></string-name> <article-title>Efficient gaussian process regression for large datasets</article-title>. <source>Biometrika</source> <volume>100</volume>(<issue>1</issue>) <fpage>75</fpage>–<lpage>89</lpage> (<year>2013</year>). <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1093/biomet/ass068" xlink:type="simple">https://doi.org/10.1093/biomet/ass068</ext-link>. <ext-link ext-link-type="uri" xlink:href="https://mathscinet.ams.org/mathscinet-getitem?mr=3034325">MR3034325</ext-link></mixed-citation>
</ref>
<ref id="j_nejsds20_ref_004">
<label>[4]</label><mixed-citation publication-type="journal"> <string-name><surname>Beaumont</surname>, <given-names>M. A.</given-names></string-name> <article-title>Approximate bayesian computation in evolution and ecology</article-title>. <source>Annual review of ecology, evolution, and systematics</source> <fpage>379</fpage>–<lpage>406</lpage> (<year>2010</year>). <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1146/annurev-statistics-030718-105212" xlink:type="simple">https://doi.org/10.1146/annurev-statistics-030718-105212</ext-link>. <ext-link ext-link-type="uri" xlink:href="https://mathscinet.ams.org/mathscinet-getitem?mr=3939526">MR3939526</ext-link></mixed-citation>
</ref>
<ref id="j_nejsds20_ref_005">
<label>[5]</label><mixed-citation publication-type="journal"> <string-name><surname>Bhaskaran</surname>, <given-names>K.</given-names></string-name> and <string-name><surname>Smeeth</surname>, <given-names>L.</given-names></string-name> <article-title>What is the difference between missing completely at random and missing at random?</article-title> <source>International Journal of Epidemiology</source> <volume>43</volume>(<issue>4</issue>) <fpage>1336</fpage>–<lpage>1339</lpage> (<year>2014</year>).</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_006">
<label>[6]</label><mixed-citation publication-type="journal"> <string-name><surname>Calafate</surname>, <given-names>C. T.</given-names></string-name>, <string-name><surname>Soler</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Cano</surname>, <given-names>J.-C.</given-names></string-name> and <string-name><surname>Manzoni</surname>, <given-names>P.</given-names></string-name> <article-title>Traffic management as a service: The traffic flow pattern classification problem</article-title>. <source>Mathematical Problems in Engineering</source> (<year>2015</year>).</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_007">
<label>[7]</label><mixed-citation publication-type="chapter"> <string-name><surname>Chen</surname>, <given-names>T.</given-names></string-name> and <string-name><surname>Guestrin</surname>, <given-names>C.</given-names></string-name> <chapter-title>XGBoost: A scalable tree boosting system</chapter-title>. In <source>Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD ‘16</source>, <conf-loc>New York, NY, USA</conf-loc> <fpage>785</fpage>–<lpage>794</lpage> (<year>2016</year>). <comment>ACM. <uri>http://doi.acm.org/10.1145/2939672.2939785</uri></comment>. ISBN <isbn>978-1-4503-4232-2</isbn>.</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_008">
<label>[8]</label><mixed-citation publication-type="journal"> <string-name><surname>Csilléry</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Blum</surname>, <given-names>M. G.</given-names></string-name>, <string-name><surname>Gaggiotti</surname>, <given-names>O. E.</given-names></string-name> and <string-name><surname>François</surname>, <given-names>O.</given-names></string-name> <article-title>Approximate bayesian computation (abc) in practice</article-title>. <source>Trends in Ecology &amp; Evolution</source> <volume>25</volume>(<issue>7</issue>) <fpage>410</fpage>–<lpage>418</lpage> (<year>2010</year>).</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_009">
<label>[9]</label><mixed-citation publication-type="journal"> <string-name><surname>Datta</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Banerjee</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Finley</surname>, <given-names>A. O.</given-names></string-name> and <string-name><surname>Gelfand</surname>, <given-names>A. E.</given-names></string-name> <article-title>Hierarchical nearest-neighbor gaussian process models for large geostatistical datasets</article-title>. <source>Journal of the American Statistical Association</source> <volume>111</volume>(<issue>514</issue>) <fpage>800</fpage>–<lpage>812</lpage> (<year>2016</year>). <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1080/01621459.2015.1044091" xlink:type="simple">https://doi.org/10.1080/01621459.2015.1044091</ext-link>. <ext-link ext-link-type="uri" xlink:href="https://mathscinet.ams.org/mathscinet-getitem?mr=3538706">MR3538706</ext-link></mixed-citation>
</ref>
<ref id="j_nejsds20_ref_010">
<label>[10]</label><mixed-citation publication-type="chapter"> <string-name><surname>Dutta</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Schoengens</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Onnela</surname>, <given-names>J.-P.</given-names></string-name> and <string-name><surname>Abcpy</surname>, <given-names>A. M.</given-names></string-name> <chapter-title>A user-friendly, extensible, and parallel library for approximate Bayesian computation</chapter-title>. In <source>Proceedings of the platform for advanced scientific computing conference</source> <fpage>1</fpage>–<lpage>9</lpage> (<year>2017</year>).</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_011">
<label>[11]</label><mixed-citation publication-type="journal"> <string-name><surname>Friedman</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Hastie</surname>, <given-names>T.</given-names></string-name> and <string-name><surname>Tibshirani</surname>, <given-names>R.</given-names></string-name> <article-title>Additive logistic regression: a statistical view of boosting (with discussion and a rejoinder by the authors)</article-title>. <source>The Annals of Statistics</source> <volume>28</volume>(<issue>2</issue>) <fpage>337</fpage>–<lpage>407</lpage> (<year>2000</year>). <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1214/aos/1016218223" xlink:type="simple">https://doi.org/10.1214/aos/1016218223</ext-link>. <ext-link ext-link-type="uri" xlink:href="https://mathscinet.ams.org/mathscinet-getitem?mr=1790002">MR1790002</ext-link></mixed-citation>
</ref>
<ref id="j_nejsds20_ref_012">
<label>[12]</label><mixed-citation publication-type="journal"> <string-name><surname>Friedman</surname>, <given-names>J. H.</given-names></string-name> <article-title>Greedy function approximation: a gradient boosting machine</article-title>. <source>Annals of Statistics</source> <fpage>1189</fpage>–<lpage>1232</lpage> (<year>2001</year>). <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1214/aos/1013203451" xlink:type="simple">https://doi.org/10.1214/aos/1013203451</ext-link>. <ext-link ext-link-type="uri" xlink:href="https://mathscinet.ams.org/mathscinet-getitem?mr=1873328">MR1873328</ext-link></mixed-citation>
</ref>
<ref id="j_nejsds20_ref_013">
<label>[13]</label><mixed-citation publication-type="journal"> <string-name><surname>Kut</surname>, <given-names>A.</given-names></string-name> and <string-name><surname>Birant</surname>, <given-names>D.</given-names></string-name> <article-title>Spatio-temporal outlier detection in large databases</article-title>. <source>Journal of Computing and Information Technology</source> <volume>14</volume>(<issue>4</issue>) <fpage>291</fpage>–<lpage>297</lpage> (<year>2006</year>).</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_014">
<label>[14]</label><mixed-citation publication-type="book"> <string-name><surname>Little</surname>, <given-names>R. J.</given-names></string-name> and <string-name><surname>Rubin</surname>, <given-names>D. B.</given-names></string-name> <source>Statistical analysis with missing data</source> <volume>793</volume>. <publisher-name>John Wiley &amp; Sons</publisher-name>, (<year>2019</year>). <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1002/9781119013563" xlink:type="simple">https://doi.org/10.1002/9781119013563</ext-link>. <ext-link ext-link-type="uri" xlink:href="https://mathscinet.ams.org/mathscinet-getitem?mr=1925014">MR1925014</ext-link></mixed-citation>
</ref>
<ref id="j_nejsds20_ref_015">
<label>[15]</label><mixed-citation publication-type="other"> <string-name><surname>Mihaita</surname>, <given-names>A.-S.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>H.</given-names></string-name> and <string-name><surname>Rizoiu</surname>, <given-names>M.-A.</given-names></string-name> Traffic congestion anomaly detection and prediction using deep learning (2020). arXiv preprint. <ext-link ext-link-type="uri" xlink:href="https://arxiv.org/abs/arXiv:2006.13215">arXiv:2006.13215</ext-link>.</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_016">
<label>[16]</label><mixed-citation publication-type="chapter"> <string-name><surname>Münz</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>S.</given-names></string-name> and <string-name><surname>Carle</surname>, <given-names>G.</given-names></string-name> <chapter-title>Traffic anomaly detection using k-means clustering</chapter-title>. In <source>GI/ITG Workshop MMBnet</source> <fpage>13</fpage>–<lpage>14</lpage> (<year>2007</year>).</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_017">
<label>[17]</label><mixed-citation publication-type="chapter"> <string-name><surname>Neal</surname>, <given-names>R. M.</given-names></string-name> <chapter-title>Priors for infinite networks</chapter-title>. In <source>Bayesian Learning for Neural Networks</source> <fpage>29</fpage>–<lpage>53</lpage>. <publisher-name>Springer</publisher-name>, (<year>1996</year>).</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_018">
<label>[18]</label><mixed-citation publication-type="journal"> <string-name><surname>Pedregosa</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Varoquaux</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Gramfort</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Michel</surname>, <given-names>V.</given-names></string-name>, <string-name><surname>Thirion</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Grisel</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Blondel</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Prettenhofer</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Weiss</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Dubourg</surname>, <given-names>V.</given-names></string-name>, <string-name><surname>Vanderplas</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Passos</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Cournapeau</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Brucher</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Perrot</surname>, <given-names>M.</given-names></string-name> and <string-name><surname>Scikit-learn</surname>, <given-names>E. D.</given-names></string-name> <article-title>Machine learning in Python</article-title>. <source>Journal of Machine Learning Research</source> <volume>12</volume>. <fpage>2825</fpage>–<lpage>2830</lpage> (<year>2011</year>). <ext-link ext-link-type="uri" xlink:href="https://mathscinet.ams.org/mathscinet-getitem?mr=2854348">MR2854348</ext-link></mixed-citation>
</ref>
<ref id="j_nejsds20_ref_019">
<label>[19]</label><mixed-citation publication-type="journal"> <string-name><surname>Pedregosa</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Varoquaux</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Gramfort</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Michel</surname>, <given-names>V.</given-names></string-name>, <string-name><surname>Thirion</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Grisel</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Blondel</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Prettenhofer</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Weiss</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Dubourg</surname>, <given-names>V.</given-names></string-name> <etal>et al.</etal><article-title>Scikit-learn: Machine learning in python</article-title>. <source>the Journal of machine Learning research</source> <volume>12</volume>. <fpage>2825</fpage>–<lpage>2830</lpage> (<year>2011</year>). <ext-link ext-link-type="uri" xlink:href="https://mathscinet.ams.org/mathscinet-getitem?mr=2854348">MR2854348</ext-link></mixed-citation>
</ref>
<ref id="j_nejsds20_ref_020">
<label>[20]</label><mixed-citation publication-type="chapter"> <string-name><surname>Quinonero-Candela</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Rasmussen</surname>, <given-names>C. E.</given-names></string-name> and <string-name><surname>Williams</surname>, <given-names>C. K.</given-names></string-name> <chapter-title>Approximation methods for gaussian process regression</chapter-title>. In <source>Large-scale kernel machines</source> <fpage>203</fpage>–<lpage>223</lpage>. <publisher-name>MIT Press</publisher-name>, (<year>2007</year>).</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_021">
<label>[21]</label><mixed-citation publication-type="chapter"> <string-name><surname>Rasmussen</surname>, <given-names>C. E.</given-names></string-name> <chapter-title>Gaussian processes in machine learning</chapter-title>. In <source>Summer school on machine learning</source> <fpage>63</fpage>–<lpage>71</lpage>. <publisher-name>Springer</publisher-name>, (<year>2003</year>).</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_022">
<label>[22]</label><mixed-citation publication-type="journal"> <string-name><surname>Roberts</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Osborne</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Ebden</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Reece</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Gibson</surname>, <given-names>N.</given-names></string-name> and <string-name><surname>Aigrain</surname>, <given-names>S.</given-names></string-name> <article-title>Gaussian processes for time-series modelling</article-title>. <source>Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences</source> <volume>371</volume>, <elocation-id>20110550</elocation-id> (<year>1984</year>). <comment>2013</comment>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1098/rsta.2011.0550" xlink:type="simple">https://doi.org/10.1098/rsta.2011.0550</ext-link>. <ext-link ext-link-type="uri" xlink:href="https://mathscinet.ams.org/mathscinet-getitem?mr=3005668">MR3005668</ext-link>.</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_023">
<label>[23]</label><mixed-citation publication-type="journal"> <string-name><surname>Schulz</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Speekenbrink</surname>, <given-names>M.</given-names></string-name> and <string-name><surname>Krause</surname>, <given-names>A.</given-names></string-name> <article-title>A tutorial on gaussian process regression: Modelling, exploring, and exploiting functions</article-title>. <source>Journal of Mathematical Psychology</source> <volume>85</volume>. <fpage>1</fpage>–<lpage>16</lpage> (<year>2018</year>). <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.jmp.2018.03.001" xlink:type="simple">https://doi.org/10.1016/j.jmp.2018.03.001</ext-link>. <ext-link ext-link-type="uri" xlink:href="https://mathscinet.ams.org/mathscinet-getitem?mr=3852577">MR3852577</ext-link>.</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_024">
<label>[24]</label><mixed-citation publication-type="journal"> <string-name><surname>Snoek</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Larochelle</surname>, <given-names>H.</given-names></string-name> and <string-name><surname>Adams</surname>, <given-names>R. P.</given-names></string-name> <article-title>Practical Bayesian optimization of machine learning algorithms</article-title>. <source>Advances in Neural Information Processing Systems</source> <volume>25</volume> (<year>2012</year>).</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_025">
<label>[25]</label><mixed-citation publication-type="chapter"> <string-name><surname>Sofuoglu</surname>, <given-names>S. E.</given-names></string-name> and <string-name><surname>Gloss</surname>, <given-names>S. A.</given-names></string-name> <chapter-title>Tensor-based anomaly detection in spatiotemporal urban traffic data</chapter-title>. In <source>Signal Processing</source> <fpage>108370</fpage> (<year>2021</year>).</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_026">
<label>[26]</label><mixed-citation publication-type="journal"> <string-name><surname>Williams</surname>, <given-names>C. K.</given-names></string-name> <article-title>Computing with infinite networks</article-title>. <source>Advances in neural information processing Systems</source> <fpage>295</fpage>–<lpage>301</lpage> (<year>1997</year>).</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_027">
<label>[27]</label><mixed-citation publication-type="chapter"> <string-name><surname>Wilson</surname>, <given-names>A. G.</given-names></string-name>, <string-name><surname>Hu</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Salakhutdinov</surname>, <given-names>R.</given-names></string-name> and <string-name><surname>Xing</surname>, <given-names>E. P.</given-names></string-name> <chapter-title>Deep kernel learning</chapter-title>. In <source>Artificial intelligence and statistics</source> <fpage>370</fpage>–<lpage>378</lpage>. <publisher-name>PMLR</publisher-name>, (<year>2016</year>).</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_028">
<label>[28]</label><mixed-citation publication-type="journal"> <string-name><surname>Wilson</surname>, <given-names>A. G.</given-names></string-name>, <string-name><surname>Hu</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Salakhutdinov</surname>, <given-names>R. R.</given-names></string-name> and <string-name><surname>Xing</surname>, <given-names>E. P.</given-names></string-name> <article-title>Stochastic variational deep kernel learning</article-title>. <source>Advances in Neural Information Processing Systems</source> <volume>29</volume>. <fpage>2586</fpage>–<lpage>2594</lpage> (<year>2016</year>).</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_029">
<label>[29]</label><mixed-citation publication-type="chapter"> <string-name><surname>Zhang</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Shi</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>Y.</given-names></string-name> and <string-name><surname>Hui</surname>, <given-names>P.</given-names></string-name> <chapter-title>A decomposition approach for urban anomaly detection across spatiotemporal data</chapter-title>. In <source>IJCAI International Joint Conference on Artificial Intelligence. International Joint Conferences on Artificial Intelligence</source> (<year>2019</year>).</mixed-citation>
</ref>
<ref id="j_nejsds20_ref_030">
<label>[30]</label><mixed-citation publication-type="journal"> <string-name><surname>Zhang</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>He</surname>, <given-names>Q.</given-names></string-name>, <string-name><surname>Tong</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Gou</surname>, <given-names>J.</given-names></string-name> and <string-name><surname>Li</surname>, <given-names>X.</given-names></string-name> <article-title>Spatial-temporal traffic flow pattern identification and anomaly detection with dictionary-based compression theory in a large-scale urban network</article-title>. <source>Transportation Research Part C: Emerging Technologies</source> <volume>71</volume>. <fpage>284</fpage>–<lpage>302</lpage> (<year>2016</year>).</mixed-citation>
</ref>
</ref-list>
</back>
</article>
