<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="2.3" xml:lang="EN">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Clin. Diabetes Healthc.</journal-id>
<journal-title>Frontiers in Clinical Diabetes and Healthcare</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Clin. Diabetes Healthc.</abbrev-journal-title>
<issn pub-type="epub">2673-6616</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fcdhc.2023.1095859</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Clinical Diabetes and Healthcare</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Automatic inference of hypoglycemia causes in type 1 diabetes: a feasibility study</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Zaitcev</surname>
<given-names>Aleksandr</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2147015"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Eissa</surname>
<given-names>Mohammad R.</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="author-notes" rid="fn001">
<sup>*</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2092313"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Hui</surname>
<given-names>Zheng</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Good</surname>
<given-names>Tim</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Elliott</surname>
<given-names>Jackie</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Benaissa</surname>
<given-names>Mohammed</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2146687"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Department of Electronic and Electrical Engineering, University of Sheffield</institution>, <addr-line>Sheffield</addr-line>, <country>United Kingdom</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Department of Oncology and Metabolism, University of Sheffield</institution>, <addr-line>Sheffield</addr-line>, <country>United Kingdom</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>Department of Diabetes and Endocrinology, Sheffield Teaching Hospitals NHS FT</institution>, <addr-line>Sheffield</addr-line>, <country>United Kingdom</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>Edited by: Petra Hanson, University of Warwick, United Kingdom</p>
</fn>
<fn fn-type="edited-by">
<p>Reviewed by: Eleonora M. Aiello, University of Trento, Italy; Andrea M P Romani, Case Western Reserve University, United States</p>
</fn>
<fn fn-type="corresp" id="fn001">
<p>*Correspondence: Mohammad R. Eissa, <email xlink:href="mailto:m.eissa@sheffield.ac.uk">m.eissa@sheffield.ac.uk</email>
</p>
</fn>
<fn fn-type="other" id="fn002">
<p>This article was submitted to Diabetes Innovative Devices, a section of the journal Frontiers in Clinical Diabetes and Healthcare</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>17</day>
<month>04</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="collection">
<year>2023</year>
</pub-date>
<volume>4</volume>
<elocation-id>1095859</elocation-id>
<history>
<date date-type="received">
<day>11</day>
<month>11</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>16</day>
<month>03</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2023 Zaitcev, Eissa, Hui, Good, Elliott and Benaissa</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Zaitcev, Eissa, Hui, Good, Elliott and Benaissa</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<sec>
<title>Background</title>
<p>Hypoglycemia is the most common adverse consequence of treating diabetes, and is often due to suboptimal patient self-care. Behavioral interventions by health professionals and self-care education helps avoid recurrent hypoglycemic episodes by targeting problematic patient behaviors. This relies on time-consuming investigation of reasons behind the observed episodes, which involves manual interpretation of personal diabetes diaries and communication with patients. Therefore, there is a clear motivation to automate this process using a supervised machine learning paradigm. This manuscript presents a feasibility study of automatic identification of hypoglycemia causes.</p>
</sec>
<sec>
<title>Methods</title>
<p>Reasons for 1885 hypoglycemia events were labeled by 54 participants with type 1 diabetes over a 21 months period. A broad range of possible predictors were extracted describing a hypoglycemic episode and the subject&#x2019;s general self-care from participants&#x2019; routinely collected data on the Glucollector, their diabetes management platform. Thereafter, the possible hypoglycemia reasons were categorized for two major analysis sections - statistical analysis of relationships between the data features of self-care and hypoglycemia reasons, and classification analysis investigating the design of an automated system to determine the reason for hypoglycemia.</p>
</sec>
<sec>
<title>Results</title>
<p>Physical activity contributed to 45% of hypoglycemia reasons on the real world collected data. The statistical analysis provided a number of interpretable predictors of different hypoglycemia reasons based on self-care behaviors. The classification analysis showed the performance of a reasoning system in practical settings with different objectives under F1-score, recall and precision metrics.</p>
</sec>
<sec>
<title>Conclusion</title>
<p>The data acquisition characterized the incidence distribution of the various hypoglycemia reasons. The analyses highlighted many interpretable predictors of the various hypoglycemia types. Also, the feasibility study presented a number of concerns valuable in the design of the decision support system for automatic hypoglycemia reason classification. Therefore, automating the identification of the causes of hypoglycemia may help objectively to target behavioral and therapeutic changes in patients' care.</p>
</sec>

</abstract>
<kwd-group>
<kwd>biomedical informatics</kwd>
<kwd>classification algorithms</kwd>
<kwd>machine learning</kwd>
<kwd>medical expert systems</kwd>
<kwd>statistical analysis</kwd>
<kwd>hypoglycemia</kwd>
<kwd>exercise</kwd>
<kwd>physical activity</kwd>
</kwd-group>
<contract-num rid="cn001">RP- PG-0514-20013</contract-num>
<contract-sponsor id="cn001">Programme Grants for Applied Research<named-content content-type="fundref-id">10.13039/501100007602</named-content>
</contract-sponsor>
<counts>
<fig-count count="4"/>
<table-count count="3"/>
<equation-count count="3"/>
<ref-count count="29"/>
<page-count count="13"/>
<word-count count="7899"/>
</counts>
</article-meta>
</front>
<body>
<sec id="s1" sec-type="intro">
<label>1</label>
<title>Introduction</title>
<p>The general goal of type 1 diabetes (T1D) care is maintenance of near normal levels of blood glucose (BG) (<xref ref-type="bibr" rid="B1">1</xref>). Avoidance of higher than normal BG (hyperglycemia) reduces the risk of long-term complications, such as eye, kidney or nerve damage (<xref ref-type="bibr" rid="B2">2</xref>). Whilst avoidance of low BGs (hypoglycemia) reduces the risk of cognitive impairment and accidents. Successful T1D management largely depends on patient self-care, which requires education and frequent decision making including regular blood glucose (BG) monitoring, insulin intake and its dose adjustment, carbohydrate counting, and planning for dose adjustments due to physical activity (<xref ref-type="bibr" rid="B3">3</xref>).</p>
<p>In conventional diabetes care BG levels and food/medication intake are registered by patients in individual diabetes diaries and are examined by clinicians at personal appointments generally occurring once every 3-6 months (<xref ref-type="bibr" rid="B4">4</xref>). However, with current and projected advances in sensing and communication technologies, diabetes care is progressively becoming more data-driven and patient-centered, focused on e-learning, decision support and remote supervision of self-care practices based on multimodal data acquisition (<xref ref-type="bibr" rid="B5">5</xref>&#x2013;<xref ref-type="bibr" rid="B9">9</xref>). A novel developed Glucollector system (<xref ref-type="fig" rid="f1">
<bold>Figure&#xa0;1</bold>
</xref>) follows this approach. This data acquisition and management suite facilitates the collection, management and visualization of self-monitored blood glucose (SMBG) measurements, continuous glucose monitoring (CGM) data, carbohydrate and insulin intake, and provides a platform for clinician-patient communication and e-learning. Glucollector has been deployed in the DAFNEplus (Dose Adjustment for Normal Eating) Randomized Controlled Trial (RCT) (<xref ref-type="bibr" rid="B10">10</xref>).</p>
<fig id="f1" position="float">
<label>Figure&#xa0;1</label>
<caption>
<p>The functionality of Glucollector.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcdhc-04-1095859-g001.tif"/>
</fig>
<p>In both personal appointments and remote monitoring, the clinicians supervisory role is to detect problematic self-care patterns in diabetes diaries, to clarify the context of the abnormal pattern with the patient to identify the underlying reason, and to suggest changes to self-care routines to avoid such patterns reoccurring. Such manual interpretation of every episode is problematic considering the time lags between personal appointments and the amounts of data aggregated between them. This process is more feasible in a day-to-day patient supervision paradigm facilitated by the diabetes data management system, such as the Glucollector, where clinicians can examine the remotely collected self-care data in a convenient form. However, this process still becomes a tedious routine for clinicians often supervising tens or hundreds of patients, and therefore, there is a clear motivation to automate such BG pattern interpretation and provide clinical decision support driven by artificial intelligence (AI) and machine learning technology.</p>
<p>The modern diabetes treatment is associated with large amounts of data generated from health records, food/medication diaries and various smart monitoring devices. Taking this into account and that hypoglycemia represents a major adverse consequence of diabetes treatment, substantial research effort was committed to design data-driven tools based on machine learning that would provide assistance in clinical practice and personal day-to-day hypoglycemia prevention. A number of recent systematic reviews outline these research efforts (<xref ref-type="bibr" rid="B11">11</xref>&#x2013;<xref ref-type="bibr" rid="B14">14</xref>). However, from these studies it is evident that in context of hypoglycemia prevention the pattern recognition and machine learning research mainly focuses on hypoglycemic event prediction, while the retrospective data-driven interpretation of reasons behind such events (automated hypoglycemia cause classification), that is needed for behavioral intervention, remains understudied.</p>
<p>This manuscript aims to fill this gap by conducting a feasibility study aiming to determine the practicality and limitations of automated hypoglycemia reason classification from patterns of T1D self-care data, collected by the modern diabetes management software. The key objectives of this study are to design indicative predictor variables from time series of self-care data, assess their statistical relationship with reasons behind hypoglycemic events, design an automated system for hypoglycemia cause classification and assess its practicality.</p>
</sec>
<sec id="s2" sec-type="materials|methods">
<label>2</label>
<title>Materials and methods</title>
<sec id="s2_1">
<label>2.1</label>
<title>Data acquisition</title>
<p>Data was collected between March 2018 and December 2019 from a cohort of 54 Glucollector users who were also patients of Sheffield Teaching Hospitals (STH) NHS Foundation Trust taking part in the DAFNEplus RCT, for details refer to the protocol paper of the trial (<xref ref-type="bibr" rid="B10">10</xref>). Ethics approvals were granted under REC ref: 16/NW/0573 and 18/SW/0100. For the purpose of data collection, the 10 most common reasons behind hypoglycemia episodes, defined as &lt; 4mmol/L SMBG measurements, were identified by the diabetes specialists based on their clinical practice and patient interviews.</p>
<p>These reasons were presented to the participating people with type 1 diabetes who were asked to label their recent hypoglycemia episodes from the preceding two weeks on their Glucollector diabetes diary interface. For every episode, they were allowed to select up to two possible reasons with a confidence level of 1 to 5 for every answer with 5 being the highest confidence.</p>
<p>The 54 participants were 36 female (18 male), and the average age was 46.8&#xb1; 15.2 years. These participants labeled a total of 1885 hypoglycemia observations which were obtained during the data collection period. Episodes that did not belong to class &#x201c;Other&#x201d; or &#x201c;Don&#x2019;t know&#x201d; and which were labeled with confidence levels 4-5 were included into the analysis dataset, yielding a total of 821 observations. <xref ref-type="fig" rid="f2">
<bold>Figure&#xa0;2</bold>
</xref> shows the class distribution of the collected dataset. Considering the vast disbalance in class observations the cases were grouped into the three general categories of hypoglycemia causes for statistical and predictive analysis: physical activity, mistakes in food intake, mistakes in medication dosage selection. It can be noted that cases related to physical activity constitute about 45% of the dataset. The second most prominent category of episodes is associated with carbohydrate counting and food intake (&#x2248;33%). Cases related to insulin dosage selection and intake comprise the third most common category with &#x2248;15%. These three groups are used as possible class labels in the classification analysis section, i.e. the proposed machine learning system aims to &#x201c;guess&#x201d; the cause of hypoglycemic event from patterns of self-care data around the event.</p>
<fig id="f2" position="float">
<label>Figure&#xa0;2</label>
<caption>
<p>The distribution of the observed hypoglycemia cases by reasons. Gray color bars mark the total number of collected cases and the blue color bars denote the number of high-confidence cases included in the analysis dataset.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcdhc-04-1095859-g002.tif"/>
</fig>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>Event representation</title>
<p>For purposes of statistical and classification analyses discussed in the further sections, each labeled hypoglycemic case was represented as a set of predictor variables or &#x201c;features&#x201d; that describe the context of the observed hypoglycemia. These features were extracted from a variety of data sources in the Glucollector: static subject demographics from health records, user-uploaded self-care data (BG, insulin intake, carbohydrate intake), and Glucollector website usage statistics.</p>
<p>One of the key stages of the proposed analysis is to identify factors in data that are indicative of a particular hypoglycemia episode. To the best of our knowledge no such analyses have been conducted before, therefore, a broad range of possible predictors describing both the episode and the subject&#x2019;s general self-care were considered. <xref ref-type="table" rid="T1">
<bold>Table&#xa0;1</bold>
</xref> lists the extracted features by categories, gives their description and short encodings. Each hypoglycemic case was represented by a total of 83numerical variables. Features that are not self-explanatory are further detailed below.</p>
<table-wrap id="T1" position="float">
<label>Table&#xa0;1</label>
<caption>
<p>Considered predictor variables.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="top" align="left">#</th>
<th valign="top" align="left">Feature description</th>
<th valign="top" align="left">Encoding</th>
<th valign="top" align="left">#</th>
<th valign="top" align="left">Feature description</th>
<th valign="top" align="left">Encoding</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left"/>
<td valign="top" align="left">
<bold>Demographics</bold>
</td>
<td valign="top" align="left"/>
<td valign="top" align="left">40</td>
<td valign="top" align="left">Total insulin advice</td>
<td valign="top" align="left">ba_total_ins</td>
</tr>
<tr>
<td valign="top" align="left">1</td>
<td valign="top" align="left">Age</td>
<td valign="top" align="left">age</td>
<td valign="top" align="left">41</td>
<td valign="top" align="left">Difference between advised and logged intake</td>
<td valign="top" align="left">ba_diff</td>
</tr>
<tr>
<td valign="top" align="left">2</td>
<td valign="top" align="left">Gender</td>
<td valign="top" align="left">gender</td>
<td valign="top" align="left">42</td>
<td valign="top" align="left">Meal rise setting</td>
<td valign="top" align="left">ba_meal_rise</td>
</tr>
<tr>
<td valign="top" align="left">3</td>
<td valign="top" align="left">Years with diabetes</td>
<td valign="top" align="left">y_w_diab</td>
<td valign="top" align="left">43</td>
<td valign="top" align="left">The presence of &#x2018;Excercise&#x2019; tag before the event</td>
<td valign="top" align="left">ba_has_excercise</td>
</tr>
<tr>
<td valign="top" align="left"/>
<td valign="top" align="left">
<bold>Self-care during the episode</bold>
</td>
<td valign="top" align="left"/>
<td valign="top" align="left"/>
<td valign="top" align="left">
<bold>General self-care behavior over the past 3 months</bold>
</td>
<td valign="top" align="left"/>
</tr>
<tr>
<td valign="top" align="left"/>
<td valign="top" align="left">
<bold>Temporal features</bold>
</td>
<td valign="top" align="left"/>
<td valign="top" align="left"/>
<td valign="top" align="left">
<bold>Blood glucose</bold>
</td>
<td valign="top" align="left"/>
</tr>
<tr>
<td valign="top" align="left">4</td>
<td valign="top" align="left">Relative time of day as a single float variable [0,1]</td>
<td valign="top" align="left">tod</td>
<td valign="top" align="left">44</td>
<td valign="top" align="left">BG mean</td>
<td valign="top" align="left">glu_mean</td>
</tr>
<tr>
<td valign="top" align="left">5</td>
<td valign="top" align="left">Absolute time offset from noon</td>
<td valign="top" align="left">cos_tod</td>
<td valign="top" align="left">45</td>
<td valign="top" align="left">BG standard deviation</td>
<td valign="top" align="left">glu_std</td>
</tr>
<tr>
<td valign="top" align="left">6</td>
<td valign="top" align="left">Absolute time offset from midnight</td>
<td valign="top" align="left">sin_tod</td>
<td valign="top" align="left">46</td>
<td valign="top" align="left">BG range</td>
<td valign="top" align="left">glu_range</td>
</tr>
<tr>
<td valign="top" align="left">7</td>
<td valign="top" align="left">Local offset from the usual wake up time</td>
<td valign="top" align="left">wake_up_offset</td>
<td valign="top" align="left">47</td>
<td valign="top" align="left">BG maximum</td>
<td valign="top" align="left">glu_max</td>
</tr>
<tr>
<td valign="top" align="left">8</td>
<td valign="top" align="left">Is business day</td>
<td valign="top" align="left">is_bday</td>
<td valign="top" align="left">48</td>
<td valign="top" align="left">BG minimum</td>
<td valign="top" align="left">glu_min</td>
</tr>
<tr>
<td valign="top" align="left"/>
<td valign="top" align="left">
<bold>Interpolated BG curve</bold>
</td>
<td valign="top" align="left"/>
<td valign="top" align="left">49</td>
<td valign="top" align="left">BG rate of mean value crossing</td>
<td valign="top" align="left">glu_mean_x</td>
</tr>
<tr>
<td valign="top" align="left">8</td>
<td valign="top" align="left">Mean of interpolated BG</td>
<td valign="top" align="left">bgi_mean</td>
<td valign="top" align="left">50</td>
<td valign="top" align="left">BG skewness</td>
<td valign="top" align="left">glu_skew</td>
</tr>
<tr>
<td valign="top" align="left">9</td>
<td valign="top" align="left">Standard deviation of interpolated BG</td>
<td valign="top" align="left">bgi_std</td>
<td valign="top" align="left">51</td>
<td valign="top" align="left">BG kurtosis</td>
<td valign="top" align="left">glu_kurt</td>
</tr>
<tr>
<td valign="top" align="left">10</td>
<td valign="top" align="left">Range of interpolated BG</td>
<td valign="top" align="left">bgi_range</td>
<td valign="top" align="left">52</td>
<td valign="top" align="left">Mean of negative BG slopes</td>
<td valign="top" align="left">neg_slopes_mean</td>
</tr>
<tr>
<td valign="top" align="left">11</td>
<td valign="top" align="left">Minimum of interpolated</td>
<td valign="top" align="left">BG_bgi_min</td>
<td valign="top" align="left">53</td>
<td valign="top" align="left">Mean of positive BG slopes</td>
<td valign="top" align="left">pos_slopes_mean</td>
</tr>
<tr>
<td valign="top" align="left">12</td>
<td valign="top" align="left">Maximum of interpolated BG</td>
<td valign="top" align="left">bgi_max</td>
<td valign="top" align="left"/>
<td valign="top" align="left">
<bold>QA insulin intake dosages</bold>
</td>
<td valign="top" align="left"/>
</tr>
<tr>
<td valign="top" align="left">13</td>
<td valign="top" align="left">Slope of interpolated BG</td>
<td valign="top" align="left">bgi_slope</td>
<td valign="top" align="left">54</td>
<td valign="top" align="left">QA insulin mean</td>
<td valign="top" align="left">ins_mean</td>
</tr>
<tr>
<td valign="top" align="left">14</td>
<td valign="top" align="left">Skewness of interpolated BG</td>
<td valign="top" align="left">bgi_skew</td>
<td valign="top" align="left">55</td>
<td valign="top" align="left">QA insulin standard deviation</td>
<td valign="top" align="left">ins_std</td>
</tr>
<tr>
<td valign="top" align="left">15</td>
<td valign="top" align="left">Kurtosis of interpolated BG</td>
<td valign="top" align="left">bgi_kurt</td>
<td valign="top" align="left">56</td>
<td valign="top" align="left">QA insulin range</td>
<td valign="top" align="left">ins_range</td>
</tr>
<tr>
<td valign="top" align="left"/>
<td valign="top" align="left">
<bold>Recent SMBG before the episode</bold>
</td>
<td valign="top" align="left"/>
<td valign="top" align="left">57</td>
<td valign="top" align="left">QA insulin maximum</td>
<td valign="top" align="left">ins_max</td>
</tr>
<tr>
<td valign="top" align="left">16</td>
<td valign="top" align="left">Previous BG reading value</td>
<td valign="top" align="left">pre_g_val</td>
<td valign="top" align="left">58</td>
<td valign="top" align="left">QA insulin minimum</td>
<td valign="top" align="left">ins_min</td>
</tr>
<tr>
<td valign="top" align="left">17</td>
<td valign="top" align="left">Time offset from the previous BG reading</td>
<td valign="top" align="left">pre_g_offset</td>
<td valign="top" align="left">59</td>
<td valign="top" align="left">QA insulin rate of mean value crossing</td>
<td valign="top" align="left">ins_mean_x</td>
</tr>
<tr>
<td valign="top" align="left">18</td>
<td valign="top" align="left">Time offset from the previous hyperglycemia</td>
<td valign="top" align="left">pre_H_offset</td>
<td valign="top" align="left">60</td>
<td valign="top" align="left">QA insulin skewness</td>
<td valign="top" align="left">ins_skew</td>
</tr>
<tr>
<td valign="top" align="left">19</td>
<td valign="top" align="left">Time offset from the previous hypoglycemia</td>
<td valign="top" align="left">pre_h_offset</td>
<td valign="top" align="left">61</td>
<td valign="top" align="left">QA insulin kurtosis</td>
<td valign="top" align="left">ins_kurt</td>
</tr>
<tr>
<td valign="top" align="left">20</td>
<td valign="top" align="left">Time offset from the previous in-target reading</td>
<td valign="top" align="left">pre_t_offset</td>
<td valign="top" align="left"/>
<td valign="top" align="left">
<bold>Basal insulin intake dosages</bold>
</td>
<td valign="top" align="left"/>
</tr>
<tr>
<td valign="top" align="left"/>
<td valign="top" align="left">
<bold>SMBG after the episode</bold>
</td>
<td valign="top" align="left"/>
<td valign="top" align="left">62</td>
<td valign="top" align="left">Basal insulin mean</td>
<td valign="top" align="left">bas_mean</td>
</tr>
<tr>
<td valign="top" align="left">21</td>
<td valign="top" align="left">Next BG reading value</td>
<td valign="top" align="left">post_g_val</td>
<td valign="top" align="left">63</td>
<td valign="top" align="left">Basal insulin standard deviation</td>
<td valign="top" align="left">bas_std</td>
</tr>
<tr>
<td valign="top" align="left">22</td>
<td valign="top" align="left">Time offset to the next BG reading</td>
<td valign="top" align="left">post_g_offset</td>
<td valign="top" align="left">64</td>
<td valign="top" align="left">Basal insulin range</td>
<td valign="top" align="left">bas_range</td>
</tr>
<tr>
<td valign="top" align="left">23</td>
<td valign="top" align="left">Time offset to the next hyperglycemia</td>
<td valign="top" align="left">post_H_offset</td>
<td valign="top" align="left">65</td>
<td valign="top" align="left">Basal insulin maximum</td>
<td valign="top" align="left">bas_max</td>
</tr>
<tr>
<td valign="top" align="left">24</td>
<td valign="top" align="left">Time offset to the next hypoglycemia</td>
<td valign="top" align="left">post_h_offset</td>
<td valign="top" align="left">66</td>
<td valign="top" align="left">Basal insulin minimum</td>
<td valign="top" align="left">bas_min</td>
</tr>
<tr>
<td valign="top" align="left">25</td>
<td valign="top" align="left">Time offset to the next in-target reading</td>
<td valign="top" align="left">post_t_offset</td>
<td valign="top" align="left">67</td>
<td valign="top" align="left">Basal insulin rate of mean value crossing</td>
<td valign="top" align="left">bas_mean_x</td>
</tr>
<tr>
<td valign="top" align="left"/>
<td valign="top" align="left">
<bold>QA insulin intake</bold>
</td>
<td valign="top" align="left"/>
<td valign="top" align="left">68</td>
<td valign="top" align="left">Basal insulin skewness</td>
<td valign="top" align="left">bas_ skew</td>
</tr>
<tr>
<td valign="top" align="left">26</td>
<td valign="top" align="left">Previous QA insulin dosage</td>
<td valign="top" align="left">pre_ins_dosage</td>
<td valign="top" align="left">69</td>
<td valign="top" align="left">Basal insulin kurtosis</td>
<td valign="top" align="left">bas_kurt</td>
</tr>
<tr>
<td valign="top" align="left">27</td>
<td valign="top" align="left">Time offset from previous QA insulin intake</td>
<td valign="top" align="left">pre_ins_offset</td>
<td valign="top" align="left"/>
<td valign="top" align="left">
<bold>Carbohydrate intake</bold>
</td>
<td valign="top" align="left"/>
</tr>
<tr>
<td valign="top" align="left">28</td>
<td valign="top" align="left">Next QA insulin dosage post ins dosage</td>
<td valign="top" align="left"/>
<td valign="top" align="left">70</td>
<td valign="top" align="left">Carb mean</td>
<td valign="top" align="left">car_mean</td>
</tr>
<tr>
<td valign="top" align="left">29</td>
<td valign="top" align="left">Time offset to the next QA insulin intake</td>
<td valign="top" align="left">post_ins_offset</td>
<td valign="top" align="left">71</td>
<td valign="top" align="left">Carb standard deviation</td>
<td valign="top" align="left">car_std</td>
</tr>
<tr>
<td valign="top" align="left"/>
<td valign="top" align="left">
<bold>Basal insulin intake</bold>
</td>
<td valign="top" align="left"/>
<td valign="top" align="left">72</td>
<td valign="top" align="left">Carb range</td>
<td valign="top" align="left">car_range</td>
</tr>
<tr>
<td valign="top" align="left">30</td>
<td valign="top" align="left">Previous basal insulin dosage</td>
<td valign="top" align="left">pre_bas_dosage</td>
<td valign="top" align="left">73</td>
<td valign="top" align="left">Carb maximum</td>
<td valign="top" align="left">car_max</td>
</tr>
<tr>
<td valign="top" align="left">31</td>
<td valign="top" align="left">Time offset from previous basal insulin intake</td>
<td valign="top" align="left">pre_bas_offset</td>
<td valign="top" align="left">74</td>
<td valign="top" align="left">Carb minimum</td>
<td valign="top" align="left">car_min</td>
</tr>
<tr>
<td valign="top" align="left">32</td>
<td valign="top" align="left">Next basal insulin dosage</td>
<td valign="top" align="left">post_bas_dosage</td>
<td valign="top" align="left">75</td>
<td valign="top" align="left">Carb rate of mean value crossing</td>
<td valign="top" align="left">car_mean_x</td>
</tr>
<tr>
<td valign="top" align="left">33</td>
<td valign="top" align="left">Time offset to the next basal insulin intake</td>
<td valign="top" align="left">post_bas_offset</td>
<td valign="top" align="left">76</td>
<td valign="top" align="left">Carb skewness</td>
<td valign="top" align="left">car_skew</td>
</tr>
<tr>
<td valign="top" align="left"/>
<td valign="top" align="left">
<bold>Food intake</bold>
</td>
<td valign="top" align="left"/>
<td valign="top" align="left">77</td>
<td valign="top" align="left">Carb kurtosis</td>
<td valign="top" align="left">car_kurt</td>
</tr>
<tr>
<td valign="top" align="left">34</td>
<td valign="top" align="left">Previous carbohydrate intake amount</td>
<td valign="top" align="left">pre_car_dosage</td>
<td valign="top" align="left"/>
<td valign="top" align="left">
<bold>Engagement with GlucoChallenge quiz</bold>
</td>
<td valign="top" align="left"/>
</tr>
<tr>
<td valign="top" align="left">35</td>
<td valign="top" align="left">Time offset from previous carbohydrate intake</td>
<td valign="top" align="left">pre_car_offset</td>
<td valign="top" align="left">78</td>
<td valign="top" align="left">Number of quiz answers</td>
<td valign="top" align="left">cnc_ansnum</td>
</tr>
<tr>
<td valign="top" align="left">36</td>
<td valign="top" align="left">Next carbohydrate intake amount</td>
<td valign="top" align="left">post_car_dosage</td>
<td valign="top" align="left">79</td>
<td valign="top" align="left">Number of separate days with any quiz answers</td>
<td valign="top" align="left">cnc_daysnum</td>
</tr>
<tr>
<td valign="top" align="left">37</td>
<td valign="top" align="left">Time offset to the next carbohydrate intake</td>
<td valign="top" align="left">post_car_offset</td>
<td valign="top" align="left">80</td>
<td valign="top" align="left">Average of quiz points</td>
<td valign="top" align="left">cnc_points_avg</td>
</tr>
<tr>
<td valign="top" align="left"/>
<td valign="top" align="left">
<bold>Bolus advisor</bold>
</td>
<td valign="top" align="left"/>
<td valign="top" align="left">81</td>
<td valign="top" align="left">Standard deviation of quiz points</td>
<td valign="top" align="left">cnc_points_std</td>
</tr>
<tr>
<td valign="top" align="left">38</td>
<td valign="top" align="left">Most recent food insulin advice</td>
<td valign="top" align="left">ba_food_ins</td>
<td valign="top" align="left">82</td>
<td valign="top" align="left">Average number of answers per session</td>
<td valign="top" align="left">cnc_dist_avg</td>
</tr>
<tr>
<td valign="top" align="left">39</td>
<td valign="top" align="left">Most recent correction insulin advice</td>
<td valign="top" align="left">ba_corr_ins</td>
<td valign="top" align="left">83</td>
<td valign="top" align="left">Standard deviation of answers per session</td>
<td valign="top" align="left">cnc_dist_std</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The temporal features section contains the absolute time offsets in hours from noon and midnight to alleviate the boundary issue of a single float time representation (tod feature), e.g. 23:55 and 00:05 being represented by a very large and a very small value respectively, while being just 10 minutes apart. The <italic>wake_up_offset</italic> feature is extracted as a difference between the 3 month median time of day&#x2019;s first BG reading (after 4:30) and the episode day&#x2019;s first BG reading time. This feature was included to describe the discrepancy from subject&#x2019;s usual day schedule. All time offsets (features 5-7, 17-20, 22-25, 27, 29, 31, 33, 35, 37) were expressed in hours.</p>
<p>Features 8-15 in <xref ref-type="table" rid="T1">
<bold>Table&#xa0;1</bold>
</xref> encode the BG trajectory around the hypoglycemic episode. To obtain them, SMBG readings from the 6 hours long time segment around each episode were interpolated using the piecewise cubic Hermite interpolating polynomial (PCHIP) (<xref ref-type="bibr" rid="B15">15</xref>) and summarized using a number of commonly used statistical functionals.</p>
<p>Features 26, 28, 30, 32, 34, 36 describing the most recent and the next intakes of food/medication were centered using the subject-specific means in order to take into account subjects&#x2019; physiological differences and their general food/medication intake amounts. For example, with <inline-formula>
<mml:math display="inline" id="im1">
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> being the average QA (quick acting) insulin dosage for subject k (feature 54), and  <inline-formula>
<mml:math display="inline" id="im2">
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> being their most recent QA insulin intake dosage in a particular episode, the feature 26 was expressed as a difference <inline-formula>
<mml:math display="inline" id="im3">
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Features 38-43 were extracted from patient personal Bolus Advisor devices which were used for QA insulin dosage calculation shortly before episodes.</p>
<p>The general self-care features 44-83 describe the overall statistics of BG, food and medication intake over the 3 months preceding the episode. In addition to that, each case included features of engagement with one of the Glucollector&#x2019;s e-learning tools GlucoChallenge, which reflects the subject ability to estimate carbohydrate amount.</p>
</sec>
<sec id="s2_3">
<label>2.3</label>
<title>Statistical analysis</title>
<p>The aim of this analysis is to characterize the patterns of self-care during the different categories of causes of hypoglycemia. More specifically, the aim is to identify statistically significant relationships between the considered predictors and the target class labels. This analysis was conducted by fitting statistical models with binary outputs separately for each considered class of hypoglycemia.</p>
<p>The dataset is characterized by the three important qualities, which define the applicable types of such analysis: the observations are clustered by subjects, the considered predictors have different distributions and a high degree of collinearity. The former arises from the fact that each subject has provided multiple observations, which violates the observation independence assumption of the majority of statistical modeling tools. Therefore, Mixed Effect Generalized Linear Models (MEGLM) (<xref ref-type="bibr" rid="B16">16</xref>) and Generalized Estimating Equations (<xref ref-type="bibr" rid="B17">17</xref>) were considered, as they are capable of dealing with panel data and have no assumptions about the variable distributions.</p>
<p>The multicollinearity means that many of the considered data features are correlated. While there are no formal orthogonality assumptions in MEGLM and GEE methods, statistical significance of effect size estimates and model stability are deteriorated in the presence of highly collinear features (<xref ref-type="bibr" rid="B18">18</xref>). In the selected dataset the collinearity is mainly intrinsic and arises from how the predictors are defined, for example the predictor insulin range naturally correlates with both predictors minimum insulin value and maximum insulin value. <xref ref-type="fig" rid="f3">
<bold>Figure&#xa0;3</bold>
</xref> shows the correlation matrix of the highly collinear non-binary features (Pearson <italic>&#x3c1;</italic>&#x2265; 0.7 with any other feature).</p>
<fig id="f3" position="float">
<label>Figure&#xa0;3</label>
<caption>
<p>The correlation matrix of features that have exhibited <italic>&#x3c1;</italic>&#x2265;0.7 with at least one other feature. Color scale denotes the correlation between the variables.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcdhc-04-1095859-g003.tif"/>
</fig>
<p>The statistical significance of the relationships between the considered predictors and the target class labels were analyzed by fitting statistical models with binary outputs for each considered class of hypoglycemia. Not all of the considered features were available in some of the episode observations, especially the ones related to Bolus Advisor settings as they were often not provided by the users. This significantly reduces the dataset size in multiple regression analysis. Therefore, two types of regression were employed - single variable regression, allowing for a larger sample size, and multiple regression, allowing for a better model fit.</p>
<p>MEGLM models with binary output, logit link and random subject-specific intercepts were used in both single-variable and multiple regressions. This method was chosen over GEE due to the improved convergence stability. The generalized form of a MEGLM model is defined as follows:</p>
<disp-formula>
<label>(1)</label>
<mml:math display="block" id="M1">
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi>X</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>Z</mml:mi>
<mml:mi>b</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <italic>g</italic> is the link function, <italic>&#x3bc;</italic> is n-by-1 vector of conditional probability of the outcome given the random effect <italic>b</italic> with n denoting the number of observations (events). <bold>
<italic>X</italic>
</bold> is n-by-f design matrix of predictor variables from <xref ref-type="table" rid="T1">
<bold>Table&#xa0;1</bold>
</xref> with f denoting the number of features. <italic>&#x3b2;</italic> is the f-by-1 fixed effects vector. <bold>
<italic>Z</italic>
</bold> is n-by-q random effect design matrix and b is the random effects q-by-1 vector with q denoting the number of participants. <italic>&#x3b4;</italic> is the model offset vector.</p>
<p>With logit link function, subject id <italic>i</italic>, observation (event) <italic>j</italic>, hypoglycemia category <italic>k</italic>, single predictor variable <italic>x</italic> from <xref ref-type="table" rid="T1">
<bold>Table&#xa0;1</bold>
</xref>, equation (1) takes the following form:</p>
<disp-formula>
<label>(2)</label>
<mml:math display="block" id="M2">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi>l</mml:mi>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>&#x3f5;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <italic>p<sub>ijk</sub>
</italic> is the probability of event <italic>j</italic> from subject <italic>i</italic> belonging to category <italic>k</italic>. <italic>&#x3b2;</italic>
<sub>0</sub> denotes the model bias and <italic>&#x3b2;<sub>1</sub>
</italic> is the fixed effect coefficient of variable <italic>x</italic>. <italic>b<sub>i</sub>
</italic> is the random-effect intercept for each subject <italic>i</italic> which accounts for behavioral and physiological variability. <inline-formula>
<mml:math display="inline" id="im4">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3f5;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the model fit error.</p>
<p>Beta coefficient <italic>&#x3b2;<sub>1</sub>
</italic> is the main product of this single variable association strength analysis. Term <italic>p</italic>/(1&#x2212;<italic>p</italic>) is known as <italic>odds</italic>, hence the obtained beta coefficient can be interpreted as follows: increase in predictor variable x by 1 leads to an increase by <italic>&#x3b2;<sub>1</sub>
</italic> in the logarithm of odds, that the observed event belongs to category <italic>k</italic>. As explained before, not all predictor variables were available for each observed event, hence the single variable analysis allowed to employ more data. The beta coefficients obtained separately for each predictor from <xref ref-type="table" rid="T1">
<bold>Table&#xa0;1</bold>
</xref> are given in the left half of <xref ref-type="table" rid="T2">
<bold>Table&#xa0;2</bold>
</xref>, with z-statistic from Wald test in parentheses.</p>
<table-wrap id="T2" position="float">
<label>Table&#xa0;2</label>
<caption>
<p>Regression analysis.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="top" align="left" rowspan="2">Hypoglycemia types</th>
<th valign="top" colspan="3" align="center">Separate simple regressions</th>
<th valign="top" colspan="3" align="center">Multiple regression, N=647</th>
</tr>
<tr>
<th valign="top" align="center">Physical activity</th>
<th valign="top" align="center">Carbohydrate intake</th>
<th valign="top" align="center">Medication intake</th>
<th valign="top" align="center">Physical activity</th>
<th valign="top" align="center">Carbohydrate intake</th>
<th valign="top" align="center">Medication intake</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">age</td>
<td valign="top" align="center">0.00700 (0.44)</td>
<td valign="top" align="center">-0.00325 (-0.26)</td>
<td valign="top" align="center">-0.00490 (-0.21)</td>
<td valign="top" align="center">
<bold>0.0206* (2.05)</bold>
</td>
<td valign="top" align="center">-0.0126 (-1.27)</td>
<td valign="top" align="center">
<bold>-0.0456** (-3.27)</bold>
</td>
</tr>
<tr>
<td valign="top" align="left">gender</td>
<td valign="top" align="center">0.501 (1.29)</td>
<td valign="top" align="center">0.311 (1.01)</td>
<td valign="top" align="center">-0.768 (-1.29)</td>
<td valign="top" align="center">
<bold>0.579** (2.63)</bold>
</td>
<td valign="top" align="center">0.353 (1.60)</td>
<td valign="top" align="center">
<bold>-1.263*** (-3.64)</bold>
</td>
</tr>
<tr>
<td valign="top" align="left">time_of_day</td>
<td valign="top" align="center">
<bold>-2.073*** (-5.74)</bold>
</td>
<td valign="top" align="center">
<bold>1.483*** (4.35)</bold>
</td>
<td valign="top" align="center">0.601 (1.19)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">cos tod</td>
<td valign="top" align="center">-0.120 (-1.06)</td>
<td valign="top" align="center">-0.201 (-1.77)</td>
<td valign="top" align="center">0.0477 (0.29)</td>
<td valign="top" align="center">
<bold>-0.336** (-3.17)</bold>
</td>
<td valign="top" align="center">0.0497 (0.46)</td>
<td valign="top" align="center">-0.259 (-1.36)</td>
</tr>
<tr>
<td valign="top" align="left">sin_tod</td>
<td valign="top" align="center">
<bold>1.197*** (8.50)</bold>
</td>
<td valign="top" align="center">
<bold>-0.681*** (-5.48)</bold>
</td>
<td valign="top" align="center">-0.211 (-1.11)</td>
<td valign="top" align="center">
<bold>0.711*** (6.36)</bold>
</td>
<td valign="top" align="center">
<bold>-0.365*** (-3.49)</bold>
</td>
<td valign="top" align="center">-0.180 (-1.10)</td>
</tr>
<tr>
<td valign="top" align="left">wake_up_offset</td>
<td valign="top" align="center">-0.0200 (-0.34)</td>
<td valign="top" align="center">-0.00736 (-0.13)</td>
<td valign="top" align="center">0.00975 (0.12)</td>
<td valign="top" align="center">0.0955 (1.72)</td>
<td valign="top" align="center">-0.0679 (-1.23)</td>
<td valign="top" align="center">-0.0839 (-1.00)</td>
</tr>
<tr>
<td valign="top" align="left">is_bday</td>
<td valign="top" align="center">0.00571 (0.04)</td>
<td valign="top" align="center">-0.147 (-0.89)</td>
<td valign="top" align="center">
<bold>0.568* (2.16)</bold>
</td>
<td valign="top" align="center">0.160 (1.21)</td>
<td valign="top" align="center">
<bold>-0.316* (-2.36)</bold>
</td>
<td valign="top" align="center">
<bold>0.544* (2.53)</bold>
</td>
</tr>
<tr>
<td valign="top" align="left">bgi_mean</td>
<td valign="top" align="center">0.0374 (0.86)</td>
<td valign="top" align="center">-0.0499 (-1.12)</td>
<td valign="top" align="center">0.0669 (1.07)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">bgi_std</td>
<td valign="top" align="center">-0.0285 (-0.45)</td>
<td valign="top" align="center">-0.0171 (-0.27)</td>
<td valign="top" align="center">0.0801 (0.90)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">bgi_range</td>
<td valign="top" align="center">-0.00831 (-0.36)</td>
<td valign="top" align="center">-0.00627 (-0.28)</td>
<td valign="top" align="center">0.0237 (0.72)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">bgi_min</td>
<td valign="top" align="center">0.333 (1.83)</td>
<td valign="top" align="center">-0.286 (-1.61)</td>
<td valign="top" align="center">-0.00847 (-0.03)</td>
<td valign="top" align="center">-0.185 (-1.21)</td>
<td valign="top" align="center">0.149 (0.97)</td>
<td valign="top" align="center">0.152 (0.76)</td>
</tr>
<tr>
<td valign="top" align="left">bgi_max</td>
<td valign="top" align="center">-0.00303 (-0.13)</td>
<td valign="top" align="center">-0.0114 (-0.49)</td>
<td valign="top" align="center">0.0245 (0.73)</td>
<td valign="top" align="center">
<bold>-0.0870* (-2.27)</bold>
</td>
<td valign="top" align="center">0.0121 (0.36)</td>
<td valign="top" align="center">0.0219 (0.43)</td>
</tr>
<tr>
<td valign="top" align="left">bgi_slope</td>
<td valign="top" align="center">-0.0854 (-0.47)</td>
<td valign="top" align="center">0.0179 (0.10)</td>
<td valign="top" align="center">-0.144 (-0.55)</td>
<td valign="top" align="center">
<bold>-0.603* (-2.13)</bold>
</td>
<td valign="top" align="center">-0.0511 (-0.19)</td>
<td valign="top" align="center">0.218 (0.58)</td>
</tr>
<tr>
<td valign="top" align="left">bgi_skew</td>
<td valign="top" align="center">-0.185 (-1.46)</td>
<td valign="top" align="center">0.00460 (0.04)</td>
<td valign="top" align="center">0.0328 (0.17)</td>
<td valign="top" align="center">-0.110 (-0.86)</td>
<td valign="top" align="center">0.154 (1.17)</td>
<td valign="top" align="center">0.0595 (0.28)</td>
</tr>
<tr>
<td valign="top" align="left">bgi_kurt</td>
<td valign="top" align="center">0.0191 (0.22)</td>
<td valign="top" align="center">-0.0195 (-0.23)</td>
<td valign="top" align="center">-0.109 (-0.76)</td>
<td valign="top" align="center">0.00563 (0.07)</td>
<td valign="top" align="center">-0.00837 (-0.10)</td>
<td valign="top" align="center">-0.0799 (-0.53)</td>
</tr>
<tr>
<td valign="top" align="left">pre_g_val</td>
<td valign="top" align="center">-0.0140 (-0.71)</td>
<td valign="top" align="center">-0.0180 (-0.90</td>
<td valign="top" align="center">) 0.0508 (1.82)</td>
<td valign="top" align="center">-0.00962 (-0.44)</td>
<td valign="top" align="center">-0.0224 (-1.04)</td>
<td valign="top" align="center">
<bold>0.0742* (1.98)</bold>
</td>
</tr>
<tr>
<td valign="top" align="left">pre_g_offset</td>
<td valign="top" align="center">
<bold>-0.0700* (-2.26)</bold>
</td>
<td valign="top" align="center">0.00715 (0.48)</td>
<td valign="top" align="center">-0.00318 (-0.16)</td>
<td valign="top" align="center">0.00355 (0.18)</td>
<td valign="top" align="center">-0.0158 (-0.79)</td>
<td valign="top" align="center">0.0217 (0.34)</td>
</tr>
<tr>
<td valign="top" align="left">pre_H_offset</td>
<td valign="top" align="center">-0.000870 (-0.41)</td>
<td valign="top" align="center">0.000833 (0.38)</td>
<td valign="top" align="center">-0.00694 (-1.25)</td>
<td valign="top" align="center">-0.00233 (-0.80)</td>
<td valign="top" align="center">0.00358 (1.19)</td>
<td valign="top" align="center">-0.00538 (-0.95)</td>
</tr>
<tr>
<td valign="top" align="left">pre_h_offset</td>
<td valign="top" align="center">-0.000421 (-0.51)</td>
<td valign="top" align="center">0.000593 (0.71)</td>
<td valign="top" align="center">-0.00260 (-1.63)</td>
<td valign="top" align="center">-0.000978 (-1.37)</td>
<td valign="top" align="center">0.00123 (1.76)</td>
<td valign="top" align="center">-0.00212 (-1.56)</td>
</tr>
<tr>
<td valign="top" align="left">pre_t_offset</td>
<td valign="top" align="center">-0.00873 (-0.78)</td>
<td valign="top" align="center">-0.00171 (-0.16)</td>
<td valign="top" align="center">-0.00994 (-0.71)</td>
<td valign="top" align="center">0.00706 (0.63)</td>
<td valign="top" align="center">-0.00230 (-0.21)</td>
<td valign="top" align="center">
<bold>-0.0388* (-2.19)</bold>
</td>
</tr>
<tr>
<td valign="top" align="left">post_g_val</td>
<td valign="top" align="center">0.0106 (0.41)</td>
<td valign="top" align="center">-0.0224 (-0.85)</td>
<td valign="top" align="center">0.0288 (0.74)</td>
<td valign="top" align="center">0.0299 (1.07)</td>
<td valign="top" align="center">-0.00300 (-0.11)</td>
<td valign="top" align="center">-0.0212 (-0.48)</td>
</tr>
<tr>
<td valign="top" align="left">post_g_offset</td>
<td valign="top" align="center">0.0517 (1.91)</td>
<td valign="top" align="center">-0.00882 (-0.38)</td>
<td valign="top" align="center">-0.0499 (-1.49)</td>
<td valign="top" align="center">-0.0110 (-0.28)</td>
<td valign="top" align="center">0.0714 (1.80)</td>
<td valign="top" align="center">0.0151 (0.22)</td>
</tr>
<tr>
<td valign="top" align="left">post_H_offset</td>
<td valign="top" align="center">0.00423 (1.20)</td>
<td valign="top" align="center">-0.00266 (-0.77)</td>
<td valign="top" align="center">-0.00243 (-0.45)</td>
<td valign="top" align="center">0.00579 (1.77)</td>
<td valign="top" align="center">-0.00534 (-1.62)</td>
<td valign="top" align="center">-0.00202 (-0.40)</td>
</tr>
<tr>
<td valign="top" align="left">post_h_offset</td>
<td valign="top" align="center">0.000534 (0.44)</td>
<td valign="top" align="center">-0.00212 (-1.76)</td>
<td valign="top" align="center">0.00206 (1.05)</td>
<td valign="top" align="center">0.000806 (0.85)</td>
<td valign="top" align="center">
<bold>-0.00210* (-2.25)</bold>
</td>
<td valign="top" align="center">0.00104 (0.65)</td>
</tr>
<tr>
<td valign="top" align="left">post_t_offset</td>
<td valign="top" align="center">0.0246 (1.75)</td>
<td valign="top" align="center">-0.00610 (-0.99)</td>
<td valign="top" align="center">-0.00331 (-0.42)</td>
<td valign="top" align="center">0.0109 (0.69)</td>
<td valign="top" align="center">-0.00808 (-0.54)</td>
<td valign="top" align="center">-0.0218 (-0.84)</td>
</tr>
<tr>
<td valign="top" align="left">pre_ins_dosage</td>
<td valign="top" align="center">-0.0239 (-1.81)</td>
<td valign="top" align="center">
<bold>0.119*** (5.03)</bold>
</td>
<td valign="top" align="center">-0.0282 (-1.64)</td>
<td valign="top" align="center">
<bold>-0.0601** (-3.24)</bold>
</td>
<td valign="top" align="center">
<bold>0.0610*** (3.39)</bold>
</td>
<td valign="top" align="center">0.0115 (0.44)</td>
</tr>
<tr>
<td valign="top" align="left">pre_ins offset</td>
<td valign="top" align="center">
<bold>-0.0960*** (-3.91)</bold>
</td>
<td valign="top" align="center">-0.00135 (-0.06)</td>
<td valign="top" align="center">0.0396 (1.28)</td>
<td valign="top" align="center">-0.0120 (-0.53)</td>
<td valign="top" align="center">-0.0279 (-1.28)</td>
<td valign="top" align="center">-0.0673 (-1.56)</td>
</tr>
<tr>
<td valign="top" align="left">post_ins_dosage</td>
<td valign="top" align="center">
<bold>0.102*** (4.25)</bold>
</td>
<td valign="top" align="center">-0.0195 (-1.56)</td>
<td valign="top" align="center">-0.0287 (-1.64)</td>
<td valign="top" align="center">0.0242 (1.16)</td>
<td valign="top" align="center">-0.0615** (-2.81)</td>
<td valign="top" align="center">0.0360 (1.14)</td>
</tr>
<tr>
<td valign="top" align="left">post_ins_offset</td>
<td valign="top" align="center">
<bold>-0.0504** (-2.70)</bold>
</td>
<td valign="top" align="center">
<bold>0.0618*** (3.42)</bold>
</td>
<td valign="top" align="center">-0.0256 (-0.93)</td>
<td valign="top" align="center">-0.00545 (-0.31)</td>
<td valign="top" align="center">0.00711 (0.39)</td>
<td valign="top" align="center">-0.0596 (-1.85)</td>
</tr>
<tr>
<td valign="top" align="left">pre_bas_dosage</td>
<td valign="top" align="center">-0.00918 (-0.50)</td>
<td valign="top" align="center">
<bold>0.0541** (2.92)</bold>
</td>
<td valign="top" align="center">-0.000893 (-0.04)</td>
<td valign="top" align="center">0.0135 (0.80)</td>
<td valign="top" align="center">0.0325* (2.04)</td>
<td valign="top" align="center">-0.000875 (-0.05)</td>
</tr>
<tr>
<td valign="top" align="left">pre_bas_offset</td>
<td valign="top" align="center">0.00247 (1.40)</td>
<td valign="top" align="center">-0.00184 (-0.94)</td>
<td valign="top" align="center">-0.00174 (-0.70)</td>
<td valign="top" align="center">-0.00554 (-0.62)</td>
<td valign="top" align="center">0.0110 (1.24)</td>
<td valign="top" align="center">
<bold>-0.0790** (-3.15)</bold>
</td>
</tr>
<tr>
<td valign="top" align="left">post_bas_dosage</td>
<td valign="top" align="center">0.0332 (1.77)</td>
<td valign="top" align="center">
<bold>-0.0363* (-2.02)</bold>
</td>
<td valign="top" align="center">-0.0313 (-1.40)</td>
<td valign="top" align="center">0.00330 (0.19)</td>
<td valign="top" align="center">0.0105 (0.64)</td>
<td valign="top" align="center">-0.0160 (-0.85)</td>
</tr>
<tr>
<td valign="top" align="left">post_bas_offset</td>
<td valign="top" align="center">0.00172 (0.36)</td>
<td valign="top" align="center">-0.000936 (-0.19)</td>
<td valign="top" align="center">0.00516 (0.81)</td>
<td valign="top" align="center">-0.00427 (-1.08)</td>
<td valign="top" align="center">0.00551 (1.19)</td>
<td valign="top" align="center">-0.0138 (-1.48)</td>
</tr>
<tr>
<td valign="top" align="left">pre_car_dosage</td>
<td valign="top" align="center">0.00312 (1.11)</td>
<td valign="top" align="center">0.000280 (0.10)</td>
<td valign="top" align="center">-0.0106 (-1.72)</td>
<td valign="top" align="center">0.00179 (0.75)</td>
<td valign="top" align="center">0.000499 (0.21)</td>
<td valign="top" align="center">
<bold>-0.0179** (-3.15)</bold>
</td>
</tr>
<tr>
<td valign="top" align="left">pre_car_offset</td>
<td valign="top" align="center">0.0104 (0.38)</td>
<td valign="top" align="center">-0.0476 (-1.56)</td>
<td valign="top" align="center">0.0231 (0.54)</td>
<td valign="top" align="center">-0.0219 (-0.66)</td>
<td valign="top" align="center">0.0112 (0.33)</td>
<td valign="top" align="center">
<bold>0.141** (2.66)</bold>
</td>
</tr>
<tr>
<td valign="top" align="left">post_car_dosage</td>
<td valign="top" align="center">0.00345 (1.23)</td>
<td valign="top" align="center">-0.00359 (-1.25)</td>
<td valign="top" align="center">0.00168 (0.39)</td>
<td valign="top" align="center">-0.00388 (-1.53)</td>
<td valign="top" align="center">0.00384 (1.47)</td>
<td valign="top" align="center">-0.00121 (-0.31)</td>
</tr>
<tr>
<td valign="top" align="left">post_car_offset</td>
<td valign="top" align="center">
<bold>-0.0357* (-2.35)</bold>
</td>
<td valign="top" align="center">
<bold>0.0544*** (3.61)</bold>
</td>
<td valign="top" align="center">-0.0307 (-1.23)</td>
<td valign="top" align="center">-0.0135 (-0.84)</td>
<td valign="top" align="center">0.0132 (0.81)</td>
<td valign="top" align="center">0.0264 (1.04)</td>
</tr>
<tr>
<td valign="top" align="left">glu_mean</td>
<td valign="top" align="center">-0.155 (-1.20)</td>
<td valign="top" align="center">0.0501 (0.44)</td>
<td valign="top" align="center">0.00362 (0.02)</td>
<td valign="top" align="center">0.186 (1.05)</td>
<td valign="top" align="center">-0.0494 (-0.29)</td>
<td valign="top" align="center">-0.601* (-2.30)</td>
</tr>
<tr>
<td valign="top" align="left">glu_std</td>
<td valign="top" align="center">-0.251 (-1.33)</td>
<td valign="top" align="center">0.0555 (0.33)</td>
<td valign="top" align="center">0.510 (1.60)</td>
<td valign="top" align="center">
<bold>-0.670* (-2.19)</bold>
</td>
<td valign="top" align="center">0.0696 (0.26)</td>
<td valign="top" align="center">0.558 (1.35)</td>
</tr>
<tr>
<td valign="top" align="left">glu_range</td>
<td valign="top" align="center">0.0275 (1.08)</td>
<td valign="top" align="center">-0.0176 (-0.74)</td>
<td valign="top" align="center">-0.00437 (-0.12)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">glu_max</td>
<td valign="top" align="center">0.0309 (1.19)</td>
<td valign="top" align="center">-0.0195 (-0.80)</td>
<td valign="top" align="center">-0.00620 (-0.16)</td>
<td valign="top" align="center">0.00496 (0.12)</td>
<td valign="top" align="center">0.0349 (0.83)</td>
<td valign="top" align="center">0.00831 (0.13)</td>
</tr>
<tr>
<td valign="top" align="left">glu_min</td>
<td valign="top" align="center">0.184 (0.78)</td>
<td valign="top" align="center">-0.0851 (-0.38)</td>
<td valign="top" align="center">-0.119 (-0.36)</td>
<td valign="top" align="center">0.152 (0.80)</td>
<td valign="top" align="center">-0.158 (-0.81)</td>
<td valign="top" align="center">0.0789 (0.32)</td>
</tr>
<tr>
<td valign="top" align="left">glu_mean_x</td>
<td valign="top" align="center">-3.897 (-1.63)</td>
<td valign="top" align="center">1.830 (0.81)</td>
<td valign="top" align="center">2.500 (0.71)</td>
<td valign="top" align="center">-1.288 (-0.57)</td>
<td valign="top" align="center">0.817 (0.35)</td>
<td valign="top" align="center">-3.779 (-0.96)</td>
</tr>
<tr>
<td valign="top" align="left">glu_skew</td>
<td valign="top" align="center">0.752 (1.57)</td>
<td valign="top" align="center">-0.264 (-0.59)</td>
<td valign="top" align="center">-0.560 (-0.74)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">glu_kurt</td>
<td valign="top" align="center">
<bold>0.214* (2.32)</bold>
</td>
<td valign="top" align="center">-0.106 (-1.16)</td>
<td valign="top" align="center">-0.246 (-1.46)</td>
<td valign="top" align="center">0.161 (1.21)</td>
<td valign="top" align="center">-0.189 (-1.42)</td>
<td valign="top" align="center">-0.394 (-1.67)</td>
</tr>
<tr>
<td valign="top" align="left">neg_slopes_mean</td>
<td valign="top" align="center">0.0820 (1.18)</td>
<td valign="top" align="center">-0.0899 (-1.39)</td>
<td valign="top" align="center">0.135 (1.12)</td>
<td valign="top" align="center">
<bold>0.146* (2.47)</bold>
</td>
<td valign="top" align="center">
<bold>-0.166** (-2.88)</bold>
</td>
<td valign="top" align="center">-0.0171 (-0.19)</td>
</tr>
<tr>
<td valign="top" align="left">pos_slopes_mean</td>
<td valign="top" align="center">0.00391 (0.03)</td>
<td valign="top" align="center">-0.0775 (-0.52)</td>
<td valign="top" align="center">0.325 (1.60)</td>
<td valign="top" align="center">0.157 (1.44)</td>
<td valign="top" align="center">-0.214 (-1.78)</td>
<td valign="top" align="center">0.108 (0.66)</td>
</tr>
<tr>
<td valign="top" align="left">ins_mean</td>
<td valign="top" align="center">-0.0227 (-0.79)</td>
<td valign="top" align="center">-0.0732 (-1.08)</td>
<td valign="top" align="center">0.0674 (1.01)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">ins_std</td>
<td valign="top" align="center">-0.00337 (-0.28)</td>
<td valign="top" align="center">-0.132 (-1.08)</td>
<td valign="top" align="center">0.118 (0.63)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">ins_range</td>
<td valign="top" align="center">-0.000209 (-0.28)</td>
<td valign="top" align="center">-0.0254 (-1.26)</td>
<td valign="top" align="center">0.00243 (0.08)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">ins_max</td>
<td valign="top" align="center">-0.000214 (-0.26)</td>
<td valign="top" align="center">-0.0215 (-1.08)</td>
<td valign="top" align="center">0.00247 (0.08)</td>
<td valign="top" align="center">0.0189 (1.27)</td>
<td valign="top" align="center">-0.0277 (-1.78)</td>
<td valign="top" align="center">0.0238 (0.85)</td>
</tr>
<tr>
<td valign="top" align="left">ins_min</td>
<td valign="top" align="center">
<bold>-0.719* (-2.35)</bold>
</td>
<td valign="top" align="center">0.682* (2.39)</td>
<td valign="top" align="center">-0.0402 (-0.07)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">ins_mean_x</td>
<td valign="top" align="center">-1.020 (-0.54)</td>
<td valign="top" align="center">
<bold>5.927** (2.87)</bold>
</td>
<td valign="top" align="center">
<bold>-6.185* (-2.31)</bold>
</td>
<td valign="top" align="center">-1.823 (-1.09)</td>
<td valign="top" align="center">1.424 (0.83)</td>
<td valign="top" align="center">2.377 (0.91)</td>
</tr>
<tr>
<td valign="top" align="left">ins_skew</td>
<td valign="top" align="center">-0.0990 (-0.71)</td>
<td valign="top" align="center">-0.0580 (-0.50)</td>
<td valign="top" align="center">0.192 (1.41)</td>
<td valign="top" align="center">-0.241 (-0.77)</td>
<td valign="top" align="center">0.274 (0.88)</td>
<td valign="top" align="center">-0.465 (-0.86)</td>
</tr>
<tr>
<td valign="top" align="left">ins_kurt</td>
<td valign="top" align="center">-0.0111 (-0.74)</td>
<td valign="top" align="center">-0.0179 (-0.57)</td>
<td valign="top" align="center">0.0241 (1.37)</td>
<td valign="top" align="center">-0.00904 (-0.16)</td>
<td valign="top" align="center">0.0338 (0.62)</td>
<td valign="top" align="center">-0.00317 (-0.03)</td>
</tr>
<tr>
<td valign="top" align="left">bas_mean</td>
<td valign="top" align="center">-0.0225 (-0.71)</td>
<td valign="top" align="center">-0.0126 (-0.48)</td>
<td valign="top" align="center">-0.00698 (-0.15)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">bas_std</td>
<td valign="top" align="center">
<bold>-0.132* (-2.05)</bold>
</td>
<td valign="top" align="center">0.0136 (0.25)</td>
<td valign="top" align="center">
<bold>0.241* (2.37)</bold>
</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">bas_range</td>
<td valign="top" align="center">-0.00119(-0.05)</td>
<td valign="top" align="center">-0.0353 (-1.74)</td>
<td valign="top" align="center">
<bold>0.0709* (2.25)</bold>
</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">bas_max</td>
<td valign="top" align="center">-0.00185 (-0.09)</td>
<td valign="top" align="center">-0.0236 (-1.29)</td>
<td valign="top" align="center">0.0443 (1.37)</td>
<td valign="top" align="center">-0.0113 (-0.84)</td>
<td valign="top" align="center">0.0104 (0.72)</td>
<td valign="top" align="center">-0.0265 (-1.37)</td>
</tr>
<tr>
<td valign="top" align="left">bas_min</td>
<td valign="top" align="center">-0.00108 (-0.04)</td>
<td valign="top" align="center">0.0103 (0.43)</td>
<td valign="top" align="center">-0.0360 (-0.93)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">bas_mean_x</td>
<td valign="top" align="center">-0.109 (-0.23)</td>
<td valign="top" align="center">-0.655 (-1.64)</td>
<td valign="top" align="center">0.821 (1.28)</td>
<td valign="top" align="center">0.123 (0.45)</td>
<td valign="top" align="center">
<bold>-0.549* (-1.96)</bold>
</td>
<td valign="top" align="center">-0.0573 (-0.14)</td>
</tr>
<tr>
<td valign="top" align="left">bas_skew</td>
<td valign="top" align="center">-0.0626 (-0.98)</td>
<td valign="top" align="center">-0.00487 (-0.07)</td>
<td valign="top" align="center">0.155 (1.49)</td>
<td valign="top" align="center">0.0813 (0.93)</td>
<td valign="top" align="center">-0.130 (-1.41)</td>
<td valign="top" align="center">0.147 (1.10)</td>
</tr>
<tr>
<td valign="top" align="left">bas_kurt</td>
<td valign="top" align="center">0.0140 (1.73)</td>
<td valign="top" align="center">-0.0144 (-1.41)</td>
<td valign="top" align="center">-0.00747 (-0.64)</td>
<td valign="top" align="center">0.0160 (1.57)</td>
<td valign="top" align="center">-0.0221 (-1.93)</td>
<td valign="top" align="center">0.0178 (1.30)</td>
</tr>
<tr>
<td valign="top" align="left">car_mean</td>
<td valign="top" align="center">-0.00644 (-0.61)</td>
<td valign="top" align="center">0.00289 (0.35)</td>
<td valign="top" align="center">0.000189 (0.01)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">car_std</td>
<td valign="top" align="center">0.0120 (0.74)</td>
<td valign="top" align="center">-0.0112 (-0.71)</td>
<td valign="top" align="center">0.0145 (0.48)</td>
<td valign="top" align="center">0.0240 (1.03)</td>
<td valign="top" align="center">
<bold>-0.0615* (-2.34)</bold>
</td>
<td valign="top" align="center">0.0319 (0.79)</td>
</tr>
<tr>
<td valign="top" align="left">car_range</td>
<td valign="top" align="center">0.00377 (1.13)</td>
<td valign="top" align="center">-0.00157 (-0.52)</td>
<td valign="top" align="center">-0.00407 (-0.74)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">car_max</td>
<td valign="top" align="center">0.00367 (1.12)</td>
<td valign="top" align="center">-0.00149 (-0.51)</td>
<td valign="top" align="center">-0.00423 (-0.79)</td>
<td valign="top" align="center">0.000260 (0.05)</td>
<td valign="top" align="center">
<bold>0.0146** (2.72)</bold>
</td>
<td valign="top" align="center">
<bold>-0.0221** (-2.87)</bold>
</td>
</tr>
<tr>
<td valign="top" align="left">car_min</td>
<td valign="top" align="center">0.00261 (0.12)</td>
<td valign="top" align="center">-0.000645 (-0.03)</td>
<td valign="top" align="center">-0.0143 (-0.43)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">car_mean_x</td>
<td valign="top" align="center">0.847 (0.48)</td>
<td valign="top" align="center">-1.744 (-1.06)</td>
<td valign="top" align="center">-0.948 (-0.35)</td>
<td valign="top" align="center">1.431 (0.98)</td>
<td valign="top" align="center">-1.678 (-1.12)</td>
<td valign="top" align="center">0.252 (0.10)</td>
</tr>
<tr>
<td valign="top" align="left">car_skew</td>
<td valign="top" align="center">0.234 (1.54)</td>
<td valign="top" align="center">-0.184 (-1.25)</td>
<td valign="top" align="center">-0.208 (-0.76)</td>
<td valign="top" align="center">-0.0448 (-0.22)</td>
<td valign="top" align="center">
<bold>-0.472* (-2.23)</bold>
</td>
<td valign="top" align="center">
<bold>1.002* (2.57)</bold>
</td>
</tr>
<tr>
<td valign="top" align="left">car_kurt</td>
<td valign="top" align="center">0.00812 (0.60)</td>
<td valign="top" align="center">-0.00100 (-0.08)</td>
<td valign="top" align="center">-0.0271 (-0.46)</td>
<td valign="top" align="center">0.0578 (0.83)</td>
<td valign="top" align="center">-0.133 (-1.27)</td>
<td valign="top" align="center">0.0326 (0.30)</td>
</tr>
<tr>
<td valign="top" align="left">cnc_ansnum</td>
<td valign="top" align="center">0.00475 (1.29)</td>
<td valign="top" align="center">0.00225 (0.63)</td>
<td valign="top" align="center">-0.00700 (-1.22)</td>
<td valign="top" align="center">0.00181 (0.61)</td>
<td valign="top" align="center">
<bold>0.00726* (2.40)</bold>
</td>
<td valign="top" align="center">
<bold>-0.0130** (-2.65)</bold>
</td>
</tr>
<tr>
<td valign="top" align="left">cnc_daysnum</td>
<td valign="top" align="center">0.0378 (0.94)</td>
<td valign="top" align="center">0.0144 (0.37)</td>
<td valign="top" align="center">-0.0236 (-0.40)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">cnc_points_avg</td>
<td valign="top" align="center">-0.00234 (-0.09)</td>
<td valign="top" align="center">-0.0110 (-0.43)</td>
<td valign="top" align="center">-0.00709 (-0.19)</td>
<td valign="top" align="center">0.0241 (1.06)</td>
<td valign="top" align="center">-0.0180 (-0.79)</td>
<td valign="top" align="center">-0.0668 (-1.84)</td>
</tr>
<tr>
<td valign="top" align="left">cnc_points std</td>
<td valign="top" align="center">-0.0133 (-0.43)</td>
<td valign="top" align="center">-0.0510 (-1.62)</td>
<td valign="top" align="center">0.0443 (1.00)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">cnc_dist_avg</td>
<td valign="top" align="center">-0.0653 (-1.60)</td>
<td valign="top" align="center">-0.0226 (-0.56)</td>
<td valign="top" align="center">0.0429 (0.94)</td>
<td valign="top" align="center">-0.0187 (-0.55)</td>
<td valign="top" align="center">-0.0354 (-1.02)</td>
<td valign="top" align="center">-0.0398 (-0.93)</td>
</tr>
<tr>
<td valign="top" align="left">cnc_dist_std</td>
<td valign="top" align="center">-0.0135 (-0.58)</td>
<td valign="top" align="center">-0.0437 (-1.82)</td>
<td valign="top" align="center">
<bold>0.0602* (1.98)</bold>
</td>
<td valign="top" align="center">-0.0403 (-1.57)</td>
<td valign="top" align="center">0.0155 (0.60)</td>
<td valign="top" align="center">0.0663 (1.92)</td>
</tr>
<tr>
<td valign="top" align="left">ba_iob</td>
<td valign="top" align="center">-0.335 (-1.26)</td>
<td valign="top" align="center">0.308 (1.28)</td>
<td valign="top" align="center">-0.411 (-0.87)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">ba_allowed_bgv</td>
<td valign="top" align="center">-0.0257 (-0.63)</td>
<td valign="top" align="center">0.0213 (0.51)</td>
<td valign="top" align="center">-0.00603 (-0.11)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">ba_food_ins</td>
<td valign="top" align="center">
<bold>-0.0581* (-2.26)</bold>
</td>
<td valign="top" align="center">
<bold>0.102*** (3.81)</bold>
</td>
<td valign="top" align="center">-0.0456 (-1.23)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">ba_corr_ins</td>
<td valign="top" align="center">0.118 (1.72)</td>
<td valign="top" align="center">
<bold>-0.284*** (-3.63)</bold>
</td>
<td valign="top" align="center">0.139 (1.48)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">ba_total_ins</td>
<td valign="top" align="center">
<bold>-0.0937*** (-3.57)</bold>
</td>
<td valign="top" align="center">
<bold>0.105*** (3.99)</bold>
</td>
<td valign="top" align="center">-0.00760 (-0.20)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">ba_diff</td>
<td valign="top" align="center">
<bold>0.402* (2.51)</bold>
</td>
<td valign="top" align="center">-0.242 (-1.83)</td>
<td valign="top" align="center">0.0638 (0.34)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">ba_carb_cu</td>
<td valign="top" align="center">-0.464 (-1.29)</td>
<td valign="top" align="center">0.452 (1.14)</td>
<td valign="top" align="center">0.643 (1.31)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">ba_meal_rise</td>
<td valign="top" align="center">-0.134 (-1.34)</td>
<td valign="top" align="center">0.138 (1.42)</td>
<td valign="top" align="center">-0.0669 (-0.39)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="top" align="left">ba_has_ex</td>
<td valign="top" align="center">
<bold>1.663*** (5.87)</bold>
</td>
<td valign="top" align="center">
<bold>-1.374*** (-4.44)</bold>
</td>
<td valign="top" align="center">-0.749 (-1.54)</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>z statistics in parentheses; and Significance levels: *p. * p &lt; 0.05, ** p &lt; 0.01, *** p &lt; 0.001. Bold styled values are statistically significant.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>When considering multiple predictors simultaneously it is first necessary to select the subset of variables leading to the best model fit. To obtain more reliable effect size estimates from multiple regression analysis only the most indicative predictors were preserved. The feature quality was tested by fitting a separate MEGLM model for each individual feature and calculating the resulting Bayesian information criterion (BIC) (<xref ref-type="bibr" rid="B19">19</xref>), which measures the goodness of fit. After selecting a subset for every prediction target, further filtering was done by calculating the Variance Inflation Factor (VIF) (<xref ref-type="bibr" rid="B20">20</xref>) for every feature, and discarding those with VIF &#x2265; 10, thus reducing the collinearity of features. Predictors related to Bolus Advisor settings and outputs were discarded from the multiple regression analysis to increase the sample size. Prior to the analyses the dataset was centered, but not scaled.</p>
<p>In case of multiple regression, equation (1) takes the following form:</p>
<disp-formula>
<label>(3)</label>
<mml:math display="block" id="M3">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>f</mml:mi>
</mml:msub>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mi>f</mml:mi>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>&#x3f5;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
</mml:math>
</disp-formula>
<p>The obtained beta coefficients from multiple regression analysis are given in the right half of <xref ref-type="table" rid="T1">
<bold>Table&#xa0;1</bold>
</xref> z-statistic from Wald test in parentheses. The different levels of statistical significance are marked by asterisk (* for p&lt; 0.05, ** for p&lt; 0.01, *** for p&lt; 0.001). The statistical significance was defined as p&lt; 0.05. The further interpretation of the obtained beta coefficients is given in the Results section. Data preparation was conducted in Python and statistical models were fit using STATA software.</p>
</sec>
<sec id="s2_4">
<label>2.4</label>
<title>Classification analysis</title>
<p>The aim of this analysis is to design machine learning models for automatic hypoglycemia classification and assess their performance. This system aims to automatically select one of the three categories of hypoglycemia causes - physical activity, food intake, medication intake (see <xref ref-type="fig" rid="f2">
<bold>Figure&#xa0;2</bold>
</xref>). The practical motivation is to design a decision support system, which would retrospectively analyze patient self-care data and highlight the possible problems in self-care to the clinician.</p>
<p>Two classification scenarios were investigated: binary one-vs-rest classification done separately for each class and exclusive 3-class classification. This analysis has utilized the same dataset as in multiple regression, with the Bolus Advisor features excluded to maximize the sample size.</p>
<p>The analysis sequence of all investigated scenarios is illustrated in <xref ref-type="fig" rid="f4">
<bold>Figure&#xa0;4</bold>
</xref>. It follows the conventional supervised learning scheme consisting of feature extraction the acquired data which were represented as explained in section 2.1, feature subset selection, classifier model training and validation (<xref ref-type="bibr" rid="B21">21</xref>).</p>
<fig id="f4" position="float">
<label>Figure&#xa0;4</label>
<caption>
<p>Feature selection and classifier evaluation sequence.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcdhc-04-1095859-g004.tif"/>
</fig>
<p>First the dataset was split 10 times to obtain multiple training and validation samples for the 10-fold cross-validation (CV) procedure. During the split the data was grouped by subjects to make sure that the observations from the same subject were not simultaneously present in both training and validation sets. Within each CV fold a separate feature selection procedure was applied to obtain a subset of features yielding the best classification performance. Considering the strong collinearity in the dataset, the Sequential Forward Floating Selection (SFFS) (<xref ref-type="bibr" rid="B22">22</xref>) algorithm was used, as it was found to be especially efficient in such settings. This algorithm iteratively adds features to the selected subset and continuously attempts to reduce the set at every iteration, while monitoring for the classification performance increase. At each iteration the performance was measured by training and validating a separate ensemble classifier in a nested 5-fold CV procedure involving only the training sample of the outer CV fold. The nested CV was also set to respect the grouping by subjects.</p>
<p>The SFFS algorithm is computationally expensive, therefore Extremely Randomized Tree ensemble classifier (<xref ref-type="bibr" rid="B23">23</xref>) was used in the SFFS procedure, since it is computationally cheap, performs well in the presence of collinear features and requires less hyperparameter fine-tuning. The final classification performance in each CV fold was assessed by training a neural network classifier (<xref ref-type="bibr" rid="B24">24</xref>, <xref ref-type="bibr" rid="B25">25</xref>), on the selected feature subset from the training CV sample and validating it on the same subset from the validation sample. This model, consisting of 3 fully connected layers with dropout regularization, required hyperparameter optimization, was more computationally expensive to train, but has consistently outperformed the other considered classification methods in our settings. The model output consists of a single unit in binary classifiers and 3 units with softmax activation in a multi-class model, each returning the one-vs-rest probability for the corresponding class. The dropout rate was set to 60% and the number of units in each hidden layer was set equal to the number of features in the selected subset, which was decided in a separate grid search prior to the analysis. In both, SFFS procedure and neural network training steps, the observations were weighted to account for the class disbalance in the dataset. Weights for observations of class i were calculated as  <inline-formula>
<mml:math display="inline" id="im5">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">/</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>*</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, where <italic>N<sub>obs</sub>
</italic> is the dataset size, <italic>N<sub>cl</sub>
</italic> is the number of classes and <italic>N<sub>obsi</sub>
</italic> is the number of samples of class i.</p>
<p>Considering the strong feature collinearity, the same analysis was also conducted on predictors obtained from principal component analysis (PCA) (<xref ref-type="bibr" rid="B26">26</xref>) applied to the design matrix of all considered features. In this scenario the SFFS has selected generally smaller sets of orthogonal components with higher individual classification power.</p>
<p>The presented classification analysis has been conducted in Python using scikit-learn (<xref ref-type="bibr" rid="B27">27</xref>) and tensor flow (<xref ref-type="bibr" rid="B28">28</xref>) libraries.</p>
<sec id="s2_4_1">
<label>2.4.1</label>
<title>Evaluation metrics</title>
<p>Due to this class disbalance in each classification scenario, the simple categorical accuracy did not adequately describe classification performance, therefore Matthews correlation coefficient (MCC) (<xref ref-type="bibr" rid="B29">29</xref>), precision, recall and F1-score, which is the harmonic mean of the latter two, were the chosen performance metrics. The SFFS procedure aimed to maximize the mean F1-score of the classifier cross-validation. And by changing the optimization target between recall, precision and F1-score in the neural network training step it was possible to obtain different classification performance profiles, potentially suitable in the various practical settings, for example, when a certain class recall is favored over classification precision or vice-versa. By definition the chosen performance metrics are calculated for individual classes, so in the multi-class classification analysis the class-average F1-score, recall and precision were used as neural network optimization targets.</p>
</sec>
</sec>
</sec>
<sec id="s3" sec-type="results">
<label>3</label>
<title>Results</title>
<sec id="s3_1">
<label>3.1</label>
<title>Statistical analysis</title>
<p>This analysis has highlighted a number of interpretable predictors of different hypoglycemia types. For example, as the statistical significance of multiple regression predictors suggests, episodes related to physical activity generally happened during daytime, were associated with lower QA insulin intake prior to event, were more common in men, in subjects with lower glycemic variability and slower BG fall in general. Episodes related to food intake had a higher probability to occur in mornings, evenings and on weekends, were associated with higher relative QA insulin dosages before the event and lower dosages after, were more commonly observed in subjects with slower general BG decline, frequent changes in basal insulin dosages and more frequent consumption of large amounts of food. Hypoglycemic episodes related to mistakes in medication dosage selection were more common in women, subjects with lower average BG levels, more frequent consumption of small amounts of food and less activity in the GlucoChallenge quiz; occurred more frequently during the business days and generally later after the food intake.</p>
<p>Simple regression scenarios show that the features extracted from Bolus Advisor settings, tags and most recent advice prior to the episodes are strong predictors of activity- and food-related hypoglycemia classes, however they were available in only 328 cases.</p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Classification analysis</title>
<p>The results of classification analysis are detailed in <xref ref-type="table" rid="T3">
<bold>Table&#xa0;3</bold>
</xref>. The SFFS procedure aimed to maximize the mean F1-score of the classifier cross-validation. And by changing the optimization target between recall, precision and F1-score in the neural network training step it was possible to obtain different classification performance profiles, potentially suitable in the various practical settings, for example, when a certain class recall is favored over classification precision or vice-versa. By definition the chosen performance metrics are calculated for individual classes, so in the multi-class classification analysis the class-average F1-score, recall and precision were used as neural network optimization targets. The classification analysis was also conducted on predictors obtained from PCA applied to the design matrix of all considered features. The results of the described CV analyses are combined in <xref ref-type="table" rid="T3">
<bold>Table&#xa0;3</bold>
</xref>, which contains the average performance metrics from CV with standard deviations.</p>
<table-wrap id="T3" position="float">
<label>Table&#xa0;3</label>
<caption>
<p>Classification analysis results.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="top" align="left" rowspan="2"/>
<th valign="top" colspan="6" align="left">Binary One-vs-Rest classification</th>
<th valign="top" align="center"/>
</tr>
<tr>
<th valign="top" colspan="4" align="left">Raw features</th>
<th valign="top" colspan="2" align="left">PC features</th>
<th valign="top" align="center"/>
</tr>
<tr>
<th valign="top" align="left">NN Objective</th>
<th valign="top" align="left">Result metrics</th>
<th valign="top" align="left">Physical activity</th>
<th valign="top" align="left">Food intake</th>
<th valign="top" align="left">Medication intake</th>
<th valign="top" align="left">Physical activity</th>
<th valign="top" align="left">Food intake</th>
<th valign="top" align="left">Medication intake</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" rowspan="4" align="left">F1-score</td>
<td valign="top" align="left">F1-score</td>
<td valign="top" align="left">0.65 &#xb1; 0.11</td>
<td valign="top" align="left">0.49 &#xb1; 0.12</td>
<td valign="top" align="left">0.39 &#xb1; 0.23</td>
<td valign="top" align="left">0.67 &#xb1; 0.13</td>
<td valign="top" align="left">0.49 &#xb1; 0.13</td>
<td valign="top" align="left">0.30 &#xb1; 0.12</td>
</tr>
<tr>
<td valign="top" align="left">Recall</td>
<td valign="top" align="left">0.84 &#xb1; 0.08</td>
<td valign="top" align="left">0.73 &#xb1; 0.21</td>
<td valign="top" align="left">0.63 &#xb1; 0.23</td>
<td valign="top" align="left">0.87 &#xb1; 0.06</td>
<td valign="top" align="left">0.79 &#xb1; 0.26</td>
<td valign="top" align="left">0.61 &#xb1; 0.25</td>
</tr>
<tr>
<td valign="top" align="left">Precision</td>
<td valign="top" align="left">0.55 &#xb1; 0.16</td>
<td valign="top" align="left">0.39 &#xb1; 0.12</td>
<td valign="top" align="left">0.33 &#xb1; 0.28</td>
<td valign="top" align="left">0.56 &#xb1; 0.16</td>
<td valign="top" align="left">0.39 &#xb1; 0.10</td>
<td valign="top" align="left">0.22 &#xb1; 0.11</td>
</tr>
<tr>
<td valign="top" align="left">MCC</td>
<td valign="top" align="left">0.33 &#xb1; 0.05</td>
<td valign="top" align="left">0.19 &#xb1; 0.06</td>
<td valign="top" align="left">0.23 &#xb1; 0.25</td>
<td valign="top" align="left">0.34 &#xb1; 0.10</td>
<td valign="top" align="left">0.16 &#xb1; 0.07</td>
<td valign="top" align="left">0.12 &#xb1; 0.14</td>
</tr>
<tr>
<td valign="top" rowspan="4" align="left">Recall</td>
<td valign="top" align="left">F1-score</td>
<td valign="top" align="left">0.60 &#xb1; 0.14</td>
<td valign="top" align="left">0.47 &#xb1; 0.14</td>
<td valign="top" align="left">0.27 &#xb1; 0.17</td>
<td valign="top" align="left">0.63 &#xb1; 0.15</td>
<td valign="top" align="left">0.48 &#xb1; 0.13</td>
<td valign="top" align="left">0.24 &#xb1; 0.16</td>
</tr>
<tr>
<td valign="top" align="left">Recall</td>
<td valign="top" align="left">0.96 &#xb1; 0.06</td>
<td valign="top" align="left">0.83 &#xb1; 0.16</td>
<td valign="top" align="left">0.75 &#xb1; 0.18</td>
<td valign="top" align="left">0.97 &#xb1; 0.04</td>
<td valign="top" align="left">0.91 &#xb1; 0.13</td>
<td valign="top" align="left">0.88 &#xb1; 0.13</td>
</tr>
<tr>
<td valign="top" align="left">Precision</td>
<td valign="top" align="left">0.46 &#xb1; 0.19</td>
<td valign="top" align="left">0.35 &#xb1; 0.15</td>
<td valign="top" align="left">0.18 &#xb1; 0.14</td>
<td valign="top" align="left">0.48 &#xb1; 0.17</td>
<td valign="top" align="left">0.33 &#xb1; 0.12</td>
<td valign="top" align="left">0.16 &#xb1; 0.13</td>
</tr>
<tr>
<td valign="top" align="left">MCC</td>
<td valign="top" align="left">0.15 &#xb1; 0.15</td>
<td valign="top" align="left">0.12 &#xb1; 0.11</td>
<td valign="top" align="left">0.05 &#xb1; 0.14</td>
<td valign="top" align="left">0.25 &#xb1; 0.08</td>
<td valign="top" align="left">0.09 &#xb1; 0.04</td>
<td valign="top" align="left">0.05 &#xb1; 0.09</td>
</tr>
<tr>
<td valign="top" rowspan="4" align="left">Precision</td>
<td valign="top" align="left">F1-score</td>
<td valign="top" align="left">0.46 &#xb1; 0.17</td>
<td valign="top" align="left">0.32 &#xb1; 0.13</td>
<td valign="top" align="left">0.28 &#xb1; 0.18</td>
<td valign="top" align="left">0.39 &#xb1; 0.16</td>
<td valign="top" align="left">0.23 &#xb1; 0.07</td>
<td valign="top" align="left">0.25 &#xb1; 0.06</td>
</tr>
<tr>
<td valign="top" align="left">Recall</td>
<td valign="top" align="left">0.46 &#xb1; 0.24</td>
<td valign="top" align="left">0.34 &#xb1; 0.26</td>
<td valign="top" align="left">0.36 &#xb1; 0.20</td>
<td valign="top" align="left">0.29 &#xb1; 0.16</td>
<td valign="top" align="left">0.16 &#xb1; 0.07</td>
<td valign="top" align="left">0.45 &#xb1; 0.29</td>
</tr>
<tr>
<td valign="top" align="left">Precision</td>
<td valign="top" align="left">0.67 &#xb1; 0.22</td>
<td valign="top" align="left">0.60 &#xb1; 0.26</td>
<td valign="top" align="left">0.33 &#xb1; 0.30</td>
<td valign="top" align="left">0.71 &#xb1; 0.18</td>
<td valign="top" align="left">0.57 &#xb1; 0.24</td>
<td valign="top" align="left">0.33 &#xb1; 0.31</td>
</tr>
<tr>
<td valign="top" align="left">MCC</td>
<td valign="top" align="left">0.24 &#xb1; 0.06</td>
<td valign="top" align="left">0.15 &#xb1; 0.11</td>
<td valign="top" align="left">0.16 &#xb1; 0.22</td>
<td valign="top" align="left">0.25 &#xb1; 0.12</td>
<td valign="top" align="left">0.15 &#xb1; 0.07</td>
<td valign="top" align="left">0.19 &#xb1; 0.07</td>
</tr>
<tr>
<th valign="top" align="left" rowspan="2">NN Objective</th>
<th valign="top" colspan="4" align="left">Raw features</th>
<th valign="top" align="left">PC features</th>
<th valign="top" align="left" rowspan="2">Food intake</th>
<th valign="top" align="left" rowspan="2">Medication intake</th>
</tr>
<tr>
<th valign="top" align="left">Result metrics</th>
<th valign="top" align="left">Physical activity</th>
<th valign="top" align="left">Food intake</th>
<th valign="top" align="left">Medication intake</th>
<th valign="top" align="left">Physical activity</th>
</tr>
<tr>
<td valign="top" rowspan="4" align="left">F1-score</td>
<td valign="top" align="left">F1-score</td>
<td valign="top" align="left">0.51 &#xb1; 0.25</td>
<td valign="top" align="left">0.43 &#xb1; 0.16</td>
<td valign="top" align="left">0.06 &#xb1; 0.14</td>
<td valign="top" align="left">0.44 &#xb1; 0.25</td>
<td valign="top" align="left">0.19 &#xb1; 0.21</td>
<td valign="top" align="left">0.09 &#xb1; 0.11</td>
</tr>
<tr>
<td valign="top" align="left">Recall</td>
<td valign="top" align="left">0.54 &#xb1; 0.30</td>
<td valign="top" align="left">0.56 &#xb1; 0.29</td>
<td valign="top" align="left">0.05 &#xb1; 0.11</td>
<td valign="top" align="left">0.61 &#xb1; 0.43</td>
<td valign="top" align="left">0.38 &#xb1; 0.43</td>
<td valign="top" align="left">0.06 &#xb1; 0.08</td>
</tr>
<tr>
<td valign="top" align="left">Precision</td>
<td valign="top" align="left">0.51 &#xb1; 0.24</td>
<td valign="top" align="left">0.40 &#xb1; 0.13</td>
<td valign="top" align="left">0.08 &#xb1; 0.19</td>
<td valign="top" align="left">0.47 &#xb1; 0.23</td>
<td valign="top" align="left">0.20 &#xb1; 0.20</td>
<td valign="top" align="left">0.29 &#xb1; 0.38</td>
</tr>
<tr>
<td valign="top" align="left">MCC</td>
<td valign="top" align="left"/>
<td valign="top" align="left">0.13 &#xb1; 0.11</td>
<td valign="top" align="left"/>
<td valign="top" align="left"/>
<td valign="top" align="left">0.06 &#xb1; 0.06</td>
<td valign="top" align="left"/>
</tr>
<tr>
<td valign="top" rowspan="4" align="left">Recall</td>
<td valign="top" align="left">F1-score</td>
<td valign="top" align="left">0.52 &#xb1; 0.26</td>
<td valign="top" align="left">0.34 &#xb1; 0.24</td>
<td valign="top" align="left">0.09 &#xb1; 0.15</td>
<td valign="top" align="left">0.46 &#xb1; 0.19</td>
<td valign="top" align="left">0.32 &#xb1; 0.16</td>
<td valign="top" align="left">0.06 &#xb1; 0.08</td>
</tr>
<tr>
<td valign="top" align="left">Recall</td>
<td valign="top" align="left">0.59 &#xb1; 0.3</td>
<td valign="top" align="left">4 0.48 &#xb1; 0.38</td>
<td valign="top" align="left">0.08 &#xb1; 0.13</td>
<td valign="top" align="left">0.51 &#xb1; 0.30</td>
<td valign="top" align="left">0.50 &#xb1; 0.31</td>
<td valign="top" align="left">0.06 &#xb1; 0.10</td>
</tr>
<tr>
<td valign="top" align="left">Precision</td>
<td valign="top" align="left">0.51 &#xb1; 0.24</td>
<td valign="top" align="left">0.33 &#xb1; 0.20</td>
<td valign="top" align="left">0.11 &#xb1; 0.19</td>
<td valign="top" align="left">0.54 &#xb1; 0.15</td>
<td valign="top" align="left">0.33 &#xb1; 0.24</td>
<td valign="top" align="left">0.22 &#xb1; 0.34</td>
</tr>
<tr>
<td valign="top" align="left">MCC</td>
<td valign="top" align="left"/>
<td valign="top" align="left">0.11 &#xb1; 0.14</td>
<td valign="top" align="left"/>
<td valign="top" align="left"/>
<td valign="top" align="left">0.08 &#xb1; 0.09</td>
<td valign="top" align="left"/>
</tr>
<tr>
<td valign="top" rowspan="4" align="left">Precision</td>
<td valign="top" align="left">F1-score</td>
<td valign="top" align="left">0.50 &#xb1; 0.20</td>
<td valign="top" align="left">0.41 &#xb1; 0.15</td>
<td valign="top" align="left">0.01 &#xb1; 0.02</td>
<td valign="top" align="left">0.53 &#xb1; 0.22</td>
<td valign="top" align="left">0.30 &#xb1; 0.23</td>
<td valign="top" align="left">0.07 &#xb1; 0.11</td>
</tr>
<tr>
<td valign="top" align="left">Recall</td>
<td valign="top" align="left">0.55 &#xb1; 0.33</td>
<td valign="top" align="left">0.56 &#xb1; 0.30</td>
<td valign="top" align="left">0.01 &#xb1; 0.01</td>
<td valign="top" align="left">0.62 &#xb1; 0.28</td>
<td valign="top" align="left">0.41 &#xb1; 0.32</td>
<td valign="top" align="left">0.05 &#xb1; 0.09</td>
</tr>
<tr>
<td valign="top" align="left">Precision</td>
<td valign="top" align="left">0.57 &#xb1; 0.11</td>
<td valign="top" align="left">0.41 &#xb1; 0.20</td>
<td valign="top" align="left">0.14 &#xb1; 0.35</td>
<td valign="top" align="left">0.48 &#xb1; 0.23</td>
<td valign="top" align="left">0.25 &#xb1; 0.19</td>
<td valign="top" align="left">0.14 &#xb1; 0.24</td>
</tr>
<tr>
<td valign="top" align="left">MCC</td>
<td valign="top" align="left"/>
<td valign="top" align="left">0.12 &#xb1; 0.09</td>
<td valign="top" align="left"/>
<td valign="top" align="left"/>
<td valign="top" align="left">0.06 &#xb1; 0.06</td>
<td valign="top" align="left"/>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>MCC, Matthews correlation coefficient.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>According to the results in <xref ref-type="table" rid="T3">
<bold>Table&#xa0;3</bold>
</xref>, in all classification scenarios the accuracy metrics were proportionate to the corresponding class support. The highest F1-score for the most common class of activity-related episode was 0.67 &#xb1; 0.13 and 0.51 &#xb1; 0.25 in binary and multiclass classification scenarios respectively; 0.49 &#xb1; 0.12 and 0.43 &#xb1; 0.16 for a less represented class of food intake related episodes; 0.39 &#xb1; 0.23 and 0.6 &#xb1; 0.14 for the least common class of episodes related to medication intake. Despite the sampling weighting, detection of insulin-related episodes was rarely possible in the multiclass classification scenario.</p>
<p>The different performance profiles were successfully produced by changing the ANN training objective between F1-score, recall and precision. It can be speculated that for practical implementation in a decision support system, the F1-score and precision are more suitable choices of the target performance metric.</p>
<p>PCA transformation of the raw handcrafted features was especially beneficial in one-vs-rest classification scenario. Besides, it has significantly sped up the exhaustive SFFS procedure. Thus, the application of other PCA variations and dimensionality reduction methods is also of interest.</p>
</sec>
</sec>
<sec id="s4" sec-type="discussion">
<label>4</label>
<title>Discussion</title>
<p>The conducted feasibility study has outlined a number of concerns valuable in the design of the decision support system for automatic hypoglycemia reason classification. Firstly, our data acquisition has characterized the incidence distribution of the various hypoglycemia reasons with more than 45% of the collected cases being related to physical activity.</p>
<p>Secondly, the conducted statistical and classification analyses have highlighted many interpretable predictors of the various hypoglycemia types. These predictors were designed manually to describe the subject self-care around the observed episodes, as well as their general self-care habits. Although a relatively large number of predictors was considered, the further search for optimal data features based on clinical domain knowledge can potentially improve the performance of the desirable reasoning system. Besides that, deep learning (<xref ref-type="bibr" rid="B24">24</xref>) could be applied to this problem to automatically design features directly from the raw collected data, however such features would not be human-interpretable.</p>
<p>Thirdly, the classification analysis has characterized the potential performance and limitations of the proposed system in the current settings, where reasoning relies on data manually entered by subjects. As it currently stands, practical application of automatic hypoglycemia cause inference is questionable, due to the lack of self-care and physiological data. Statistical analysis results and manual visual assessment of subject self-care records show that food intake data is often omitted from personal diaries, especially snacks and food intake to correct hypoglycemia. This hinders the understanding and modeling of BG dynamics, and consequently, the classification performance.</p>
<p>While the objective unobtrusive measurement of food intake is problematic, continuous physical activity tracking in users <italic>via</italic> the commercially available wearable sensors is viable. Even though it was not measured in our experimental settings, classification analysis results show that activity-related episodes were the easiest to detect (<xref ref-type="table" rid="T3">
<bold>Table&#xa0;3</bold>
</xref>), partially due to the amount of relevant cases in the dataset. It can be speculated that the introduction of activity tracking in subjects would significantly increase the rate and accuracy of this hypoglycemia class detection, which in turn would also reduce the uncertainty about other classes. Therefore it can be stated that the addition of physical activity tracking in Glucollector and other BG decision support systems is the key necessary element to make this type of reasoning feasible and beneficial in clinical practice.</p>
</sec>
<sec id="s5" sec-type="data-availability">
<title>Data availability statement</title>
<p>The datasets presented in this article are not readily available because the data is only available to the researchers of DAFNEplus. Requests to access the datasets should be directed to ME, <email xlink:href="mailto:m.eissa@sheffield.ac.uk">m.eissa@sheffield.ac.uk</email>.</p>
</sec>
<sec id="s6" sec-type="ethics-statement">
<title>Ethics statement</title>
<p>The studies involving human participants were reviewed and approved by National Health Service Research Ethics Committee (REC ref: 16/WS/0230 and 18/SW/0100). The patients/participants provided their written informed consent to participate in this study.</p>
</sec>
<sec id="s7" sec-type="author-contributions">
<title>Author contributions</title>
<p>ME, ZH, and TG designed the visual interfaces and collected the data. AZ, ME, and ZH analyzed the data and AZ performed the experiment. JE and MB verified the outcomes. AZ and ME prepared the manuscript with the help and review of all authors. All authors contributed to the article and approved the submitted version.</p>
</sec>
</body>
<back>
<sec id="s8" sec-type="funding-information">
<title>Funding</title>
<p>This study is funded by the National Institute for Health Research (NIHR) [Programme Grants for Applied Research (RP-PG-0514-20013) DAFNEplus]. This article was also supported by University of Sheffield Institutional Open Access Fund.</p>
</sec>
<sec id="s9" sec-type="COI-statement">
<title>Conflict of interest </title>
<p>JE has served on advisory boards and/or received speaker fees for Abbott, DEXCOM, Eli Lily, Insulet, NovoNordisk, and Sanofi S.A.</p>
<p>The remaining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec id="s10" sec-type="disclaimer">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<sec id="s11" sec-type="disclaimer">
<title>Author disclaimer</title>
<p>The views expressed are those of the author(s) and not necessarily those of the NIHR or the Department of Health and Social Care.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<label>1</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Eissa</surname> <given-names>MR</given-names>
</name>
<name>
<surname>Benaissa</surname> <given-names>M</given-names>
</name>
<name>
<surname>Good</surname> <given-names>T</given-names>
</name>
<name>
<surname>Hui</surname> <given-names>Z</given-names>
</name>
<name>
<surname>Gianfrancesco</surname> <given-names>C</given-names>
</name>
<name>
<surname>Ferguson</surname> <given-names>C</given-names>
</name>
<etal/>
</person-group>. <article-title>Analysis of real-world capillary blood glucose data to help reduce hba1c and hypoglycaemia in type 1 diabetes: Evidence in favour of using the percentage of readings in target and coefficient of variation</article-title>. <source>Diabetic Med</source> (<year>2023</year>) <volume>40</volume>:<elocation-id>e14972</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1111/dme.14972</pub-id>
</citation>
</ref>
<ref id="B2">
<label>2</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<collab>Control D, Group CTR</collab>
</person-group>. <article-title>The effect of intensive treatment of diabetes on the development and progression of long-term complications in insulin-dependent diabetes mellitus</article-title>. <source>New Engl J Med</source> (<year>1993</year>) <volume>329</volume>:<page-range>977&#x2013;86</page-range>. doi:&#xa0;<pub-id pub-id-type="doi">10.1056/NEJM199309303291401</pub-id>
</citation>
</ref>
<ref id="B3">
<label>3</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<collab>Committee ADAPP</collab>
</person-group>. <article-title>6. glycemic targets: standards of medical care in diabetes&#x2013;2022</article-title>. <source>Diabetes Care</source> (<year>2021</year>) <volume>45</volume>:<page-range>S83&#x2013;96</page-range>. doi:&#xa0;<pub-id pub-id-type="doi">10.2337/dc22-S006</pub-id>
</citation>
</ref>
<ref id="B4">
<label>4</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mamykina</surname> <given-names>L</given-names>
</name>
<name>
<surname>Levine</surname> <given-names>ME</given-names>
</name>
<name>
<surname>Davidson</surname> <given-names>PG</given-names>
</name>
<name>
<surname>Smaldone</surname> <given-names>AM</given-names>
</name>
<name>
<surname>Elhadad</surname> <given-names>N</given-names>
</name>
<name>
<surname>Albers</surname> <given-names>DJ</given-names>
</name>
</person-group>. <article-title>Data-driven health management: reasoning about personally generated data in diabetes with information technologies</article-title>. <source>J Am Med Inf Assoiciation</source> (<year>2016</year>) <volume>23</volume>:<page-range>526&#x2013;31</page-range>. doi:&#xa0;<pub-id pub-id-type="doi">10.1093/jamia/ocv187</pub-id>
</citation>
</ref>
<ref id="B5">
<label>5</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Eissa</surname> <given-names>MR</given-names>
</name>
<name>
<surname>Good</surname> <given-names>T</given-names>
</name>
<name>
<surname>Elliott</surname> <given-names>J</given-names>
</name>
<name>
<surname>Benaissa</surname> <given-names>M</given-names>
</name>
</person-group>. <article-title>Intelligent data-driven model for diabetes diurnal patterns analysis</article-title>. <source>IEEE J Biomed Health Inf</source> (<year>2020</year>) <volume>24</volume>:<page-range>2984&#x2013;92</page-range>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/JBHI.2020.2975927</pub-id>
</citation>
</ref>
<ref id="B6">
<label>6</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liang</surname> <given-names>B</given-names>
</name>
<name>
<surname>Koye</surname> <given-names>DN</given-names>
</name>
<name>
<surname>Hachem</surname> <given-names>M</given-names>
</name>
<name>
<surname>Zafari</surname> <given-names>N</given-names>
</name>
<name>
<surname>Braat</surname> <given-names>S</given-names>
</name>
<name>
<surname>Ekinci</surname> <given-names>EI</given-names>
</name>
</person-group>. <article-title>Efficacy of flash glucose monitoring in type 1 and type 2 diabetes: A systematic review and meta-analysis of randomised controlled trials</article-title>. <source>Front Clin Diabetes Healthcare</source> (<year>2022</year>) <volume>3</volume>. doi:&#xa0;<pub-id pub-id-type="doi">10.3389/fcdhc.2022.849725</pub-id>
</citation>
</ref>
<ref id="B7">
<label>7</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dritsas</surname> <given-names>E</given-names>
</name>
<name>
<surname>Trigka</surname> <given-names>M</given-names>
</name>
</person-group>. <article-title>Data-driven machine-learning methods for diabetes risk prediction</article-title>. <source>Sensors</source> (<year>2022</year>)  <volume>22</volume>:<page-range>5304</page-range>. doi:&#xa0;<pub-id pub-id-type="doi">10.3390/s22145304</pub-id>
</citation>
</ref>
<ref id="B8">
<label>8</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nemat</surname> <given-names>H</given-names>
</name>
<name>
<surname>Khadem</surname> <given-names>H</given-names>
</name>
<name>
<surname>Eissa</surname> <given-names>MR</given-names>
</name>
<name>
<surname>Elliott</surname> <given-names>J</given-names>
</name>
<name>
<surname>Benaissa</surname> <given-names>M</given-names>
</name>
</person-group>. <article-title>Blood glucose level prediction: advanced deep-ensemble learning approach</article-title>. <source>IEEE J Biomed Health Inf</source> (<year>2022</year>) <volume>26</volume>:<page-range>2758&#x2013;69</page-range>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/JBHI.2022.3144870</pub-id>
</citation>
</ref>
<ref id="B9">
<label>9</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zaitcev</surname> <given-names>A</given-names>
</name>
<name>
<surname>Eissa</surname> <given-names>MR</given-names>
</name>
<name>
<surname>Hui</surname> <given-names>Z</given-names>
</name>
<name>
<surname>Good</surname> <given-names>T</given-names>
</name>
<name>
<surname>Elliott</surname> <given-names>J</given-names>
</name>
<name>
<surname>Benaissa</surname> <given-names>M</given-names>
</name>
</person-group>. <article-title>A deep neural network application for improved prediction of HbA<sub>1c</sub> in type 1 diabetes</article-title>. <source>IEEE J Biomed Health Inf</source> (<year>2020</year>) <volume>24</volume>:<page-range>2932&#x2013;41</page-range>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/JBHI.2020.2967546</pub-id>
</citation>
</ref>
<ref id="B10">
<label>10</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Coates</surname> <given-names>E</given-names>
</name>
<name>
<surname>Amiel</surname> <given-names>S</given-names>
</name>
<name>
<surname>Baird</surname> <given-names>W</given-names>
</name>
<name>
<surname>Benaissa</surname> <given-names>M</given-names>
</name>
<name>
<surname>Brennan</surname> <given-names>A</given-names>
</name>
<name>
<surname>Campbell</surname> <given-names>MJ</given-names>
</name>
<etal/>
</person-group>. <article-title>Protocol for a cluster randomised controlled trial of the dafneplus (dose adjustment for normal eating) intervention compared with 5x1 dafne: a lifelong approach to promote effective self-management in adults with type 1 diabetes</article-title>. <source>BMJ Open</source> (<year>2021</year>)  <volume>11</volume>:<elocation-id>e040438</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1136/bmjopen-2020-040438</pub-id>
</citation>
</ref>
<ref id="B11">
<label>11</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Woldaregay</surname> <given-names>AZ</given-names>
</name>
<name>
<surname>&#xc5;rsand</surname> <given-names>E</given-names>
</name>
<name>
<surname>Botsis</surname> <given-names>T</given-names>
</name>
<name>
<surname>Albers</surname> <given-names>D</given-names>
</name>
<name>
<surname>Mamykina</surname> <given-names>L</given-names>
</name>
<name>
<surname>Hartvigsen</surname> <given-names>G</given-names>
</name>
</person-group>. <article-title>Data-driven blood glucose pattern classification and anomalies detection: machine-learning applications in type 1 diabetes</article-title>. <source>J Med Internet Res</source> (<year>2019</year>) <volume>21</volume>:<elocation-id>e11030</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.2196/11030</pub-id>
</citation>
</ref>
<ref id="B12">
<label>12</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Makroum</surname> <given-names>MA</given-names>
</name>
<name>
<surname>Adda</surname> <given-names>M</given-names>
</name>
<name>
<surname>Bouzouane</surname> <given-names>A</given-names>
</name>
<name>
<surname>Ibrahim</surname> <given-names>H</given-names>
</name>
</person-group>. <article-title>Machine learning and smart devices for diabetes management: Systematic review</article-title>. <source>Sensors</source> (<year>2022</year>) <volume>22</volume>:<fpage>1843</fpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.3390/s22051843</pub-id>
</citation>
</ref>
<ref id="B13">
<label>13</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kodama</surname> <given-names>S</given-names>
</name>
<name>
<surname>Fujihara</surname> <given-names>K</given-names>
</name>
<name>
<surname>Shiozaki</surname> <given-names>H</given-names>
</name>
<name>
<surname>Horikawa</surname> <given-names>C</given-names>
</name>
<name>
<surname>Yamada</surname> <given-names>MH</given-names>
</name>
<name>
<surname>Sato</surname> <given-names>T</given-names>
</name>
<etal/>
</person-group>. <article-title>Ability of current machine learning algorithms to predict and detect hypoglycemia in patients with diabetes mellitus: meta-analysis</article-title>. <source>JMIR Diabetes</source> (<year>2021</year>) <volume>6</volume>:<elocation-id>e22458</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.2196/22458</pub-id>
</citation>
</ref>
<ref id="B14">
<label>14</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhu</surname> <given-names>T</given-names>
</name>
<name>
<surname>Li</surname> <given-names>K</given-names>
</name>
<name>
<surname>Herrero</surname> <given-names>P</given-names>
</name>
<name>
<surname>Georgiou</surname> <given-names>P</given-names>
</name>
</person-group>. <article-title>Deep learning for diabetes: a systematic review</article-title>. <source>IEEE J Biomed Health Inf</source> (<year>2020</year>) <volume>25</volume>:<page-range>2744&#x2013;57</page-range>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/JBHI.2020.3040225</pub-id>
</citation>
</ref>
<ref id="B15">
<label>15</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Fritsch</surname> <given-names>FN</given-names>
</name>
<name>
<surname>Carlson</surname> <given-names>RE</given-names>
</name>
</person-group>. <article-title>Monotone piecewise cubic interpolation</article-title>. <source>SIAM J Numerical Anal</source> (<year>1980</year>) <volume>17</volume>:<page-range>238&#x2013;46</page-range>. doi:&#xa0;<pub-id pub-id-type="doi">10.1137/0717021</pub-id>
</citation>
</ref>
<ref id="B16">
<label>16</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>McCulloch</surname> <given-names>CE</given-names>
</name>
<name>
<surname>Searle</surname> <given-names>SR</given-names>
</name>
</person-group>. <source>Generalized, linear, and mixed models</source>. <publisher-loc>Hoboken, New Jersey</publisher-loc>: <publisher-name>John Wiley &amp; Sons</publisher-name> (<year>2004</year>).</citation>
</ref>
<ref id="B17">
<label>17</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Hardin</surname> <given-names>JW</given-names>
</name>
<name>
<surname>Hilbe</surname> <given-names>JM</given-names>
</name>
</person-group>. <source>Generalized estimating equations</source>. <publisher-loc>Boca Raton, Fla</publisher-loc>: <publisher-name>Chapman and Hall/CRC</publisher-name> (<year>2002</year>).</citation>
</ref>
<ref id="B18">
<label>18</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dormann</surname> <given-names>CF</given-names>
</name>
<name>
<surname>Elith</surname> <given-names>J</given-names>
</name>
<name>
<surname>Bacher</surname> <given-names>S</given-names>
</name>
<name>
<surname>Buchmann</surname> <given-names>C</given-names>
</name>
<name>
<surname>Carl</surname> <given-names>G</given-names>
</name>
<name>
<surname>Carr&#xe9;</surname> <given-names>G</given-names>
</name>
<etal/>
</person-group>. <article-title>Collinearity: a review of methods to deal with it and a simulation study evaluating their performance</article-title>. <source>Ecography</source> (<year>2013</year>) <volume>36</volume>:<fpage>27</fpage>&#x2013;<lpage>46</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1111/j.1600-0587.2012.07348.x</pub-id>
</citation>
</ref>
<ref id="B19">
<label>19</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Schwarz</surname> <given-names>G</given-names>
</name>
</person-group>. <article-title>Estimating the dimension of a model</article-title>. <source>Ann Stat</source> (<year>1978</year>) <volume>6</volume>:<page-range>461&#x2013;4</page-range>. doi:&#xa0;<pub-id pub-id-type="doi">10.1214/aos/1176344136</pub-id>
</citation>
</ref>
<ref id="B20">
<label>20</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Hair</surname> <given-names>J</given-names>
</name>
<name>
<surname>Black</surname> <given-names>WC</given-names>
</name>
<name>
<surname>Babin</surname> <given-names>BJ</given-names>
</name>
<name>
<surname>Anderson</surname> <given-names>RE</given-names>
</name>
<name>
<surname>Tatham</surname> <given-names>RL</given-names>
</name>
</person-group>. <source>Multivariate data analysis</source>. <edition>Seventh edition</edition>. <publisher-loc>Edinburgh Gate, Harlow, Essex, England</publisher-loc>; <publisher-name>Pearson</publisher-name> (<year>2014</year>).</citation>
</ref>
<ref id="B21">
<label>21</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Bishop</surname> <given-names>CM</given-names>
</name>
<name>
<surname>Nasrabadi</surname> <given-names>NM</given-names>
</name>
</person-group>. <source>Pattern recognition and machine learning</source> Vol. <volume>4</volume>. <publisher-loc>New York</publisher-loc>: <publisher-name>Springer</publisher-name> (<year>2006</year>).</citation>
</ref>
<ref id="B22">
<label>22</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pudil</surname> <given-names>P</given-names>
</name>
<name>
<surname>Novovi&#x10d;ov&#xe1;</surname> <given-names>J</given-names>
</name>
<name>
<surname>Kittler</surname> <given-names>J</given-names>
</name>
</person-group>. <article-title>Floating search methods in feature selection</article-title>. <source>Pattern Recognition Lett</source> (<year>1994</year>) <volume>15</volume>:<page-range>1119&#x2013;25</page-range>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/0167-8655(94)90127-9</pub-id>
</citation>
</ref>
<ref id="B23">
<label>23</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Geurts</surname> <given-names>P</given-names>
</name>
<name>
<surname>Ernst</surname> <given-names>D</given-names>
</name>
<name>
<surname>Wehenkel</surname> <given-names>L</given-names>
</name>
</person-group>. <article-title>Extremely randomized trees</article-title>. <source>Mach Learn</source> (<year>2006</year>) <volume>63</volume>:<fpage>3</fpage>&#x2013;<lpage>42</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1007/s10994-006-6226-1</pub-id>
</citation>
</ref>
<ref id="B24">
<label>24</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Goodfellow</surname> <given-names>I</given-names>
</name>
<name>
<surname>Bengio</surname> <given-names>Y</given-names>
</name>
<name>
<surname>Courville</surname> <given-names>A</given-names>
</name>
</person-group>. <source>Deep learning</source>. <publisher-loc>Cambridge, Massachusetts</publisher-loc>: <publisher-name>MIT press</publisher-name> (<year>2016</year>).</citation>
</ref>
<ref id="B25">
<label>25</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Srivastava</surname> <given-names>N</given-names>
</name>
<name>
<surname>Hinton</surname> <given-names>G</given-names>
</name>
<name>
<surname>Krizhevsky</surname> <given-names>A</given-names>
</name>
<name>
<surname>Sutskever</surname> <given-names>I</given-names>
</name>
<name>
<surname>Salakhutdinov</surname> <given-names>R</given-names>
</name>
</person-group>. <article-title>Dropout: a simple way to prevent neural networks from overfitting</article-title>. <source>J Mach Learn Res</source> (<year>2014</year>) <volume>15</volume>:<page-range>1929&#x2013;58</page-range>.</citation>
</ref>
<ref id="B26">
<label>26</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wold</surname> <given-names>S</given-names>
</name>
<name>
<surname>Esbensen</surname> <given-names>K</given-names>
</name>
<name>
<surname>Geladi</surname> <given-names>P</given-names>
</name>
</person-group>. <article-title>Principal component analysis</article-title>. <source>Chemometrics Intelligent Lab Syst</source> (<year>1987</year>) <volume>2</volume>:<fpage>37</fpage>&#x2013;<lpage>52</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/0169-7439(87)80084-9</pub-id>
</citation>
</ref>
<ref id="B27">
<label>27</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Buitinck</surname> <given-names>L</given-names>
</name>
<name>
<surname>Louppe</surname> <given-names>G</given-names>
</name>
<name>
<surname>Blondel</surname> <given-names>M</given-names>
</name>
<name>
<surname>Pedregosa</surname> <given-names>F</given-names>
</name>
<name>
<surname>Mueller</surname> <given-names>A</given-names>
</name>
<name>
<surname>Grisel</surname> <given-names>O</given-names>
</name>
<etal/>
</person-group>. <source>Api design for machine learning software: experiences from the scikit-learn project</source>. <publisher-name>ECML PKDD Workshop: Languages for Data Mining and Machine Learning</publisher-name> (<year>2013</year>) p. <page-range>108&#x2013;22</page-range>. arXiv.1309.0238.</citation>
</ref>
<ref id="B28">
<label>28</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Abadi</surname> <given-names>M</given-names>
</name>
<name>
<surname>Agarwal</surname> <given-names>A</given-names>
</name>
<name>
<surname>Barham</surname> <given-names>P</given-names>
</name>
<name>
<surname>Brevdo</surname> <given-names>E</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>Z</given-names>
</name>
<name>
<surname>Citro</surname> <given-names>C</given-names>
</name>
<etal/>
</person-group>. <source>Tensorflow: large-scale machine learning on heterogeneous systems</source>. <publisher-name>arXiv preprint</publisher-name> (<year>2016</year>). arXiv:1603.04467.</citation>
</ref>
<ref id="B29">
<label>29</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Matthews</surname> <given-names>BW</given-names>
</name>
</person-group>. <article-title>Comparison of the predicted and observed secondary structure of t4 phage lysozyme</article-title>. <source>Biochim Biophys Acta (BBA)-Protein Structure</source> (<year>1975</year>) <volume>405</volume>:<page-range>442&#x2013;51</page-range>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/0005-2795(75)90109-9</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>