用于基于机器学习实现获取来改进低血糖预测的血糖数据集优化的制作方法

文档序号:26009932发布日期:2021-07-23 21:29阅读:298来源:国知局
本公开整体涉及用于辅助患者和医疗保健从业者管理对糖尿病的胰岛素治疗的系统和方法。在特定方面,本发明涉及用于优化机器学习(ml)实现获取的较高数据分辨率的方法。
背景技术
::糖尿病(dm)是胰岛素分泌受损和外周胰岛素抗性程度不一而导致的高血糖症。2型糖尿病的特征在于正常生理胰岛素分泌的进行性破坏。在健康的个体中,胰腺β细胞的基础胰岛素分泌持续发生,以在两餐之间的延长期内维持稳定的葡萄糖水平。在健康个体中还存在餐时分泌,其中胰岛素响应进餐在最初的第一相峰值中快速释放,随后为在2-3小时后恢复至基础水平的延长胰岛素分泌。多年控制不良的高血糖症可能引起多种健康并发症。糖尿病是全世界过早发病和死亡的主要原因之一。有效控制血糖/血浆葡萄糖(bg)可以预防或延缓这些并发症中的许多并发症,但一旦建立,可能无法逆转。因此,在预防糖尿病并发症的努力中实现良好的血糖控制是治疗1型和2型糖尿病的主要目标。具体而言,胰岛素剂量滴定的频繁变化是帮助稳定患者血糖水平的关键(bergenstal等人,“canatoolthatautomatesinsulintitrationbeakeytodiabetesmanage-ment?”diabetestech.andthera.2012;14(8)675-682)。已经开发了具有可调步长和生理参数估计值以及预定义的空腹血糖目标值的智能滴定仪,以施用胰岛素药剂治疗方案。长效基础胰岛素的最优初始化和滴定方法仍在确定中。然而,有证据表明,许多患者通常未接受充分滴定以达到血糖控制的目标水平的胰岛素剂量(仍处于次优剂量且未能达到治疗目标)(holman等人,“10-yearfollow-upofintensiveglucosecontrolintype2diabe-tes,”n.engl.j.med.2008;359:1577–1589)。胰岛素方案的主要问题之一是患者缺乏自主权和授权。患者通常必须去诊所计算新的滴定度。当诊所必须为患者滴定胰岛素剂量时,改变滴定剂量的可能频率受到自然限制。自我滴定方案有助于患者的授权,使他们更多地参与到他们的治疗中,这可以改善血糖控制(khunti等人,“self-titrationofinsulininthemanagementofpeoplewithtype2diabetes:apracticalsolutiontoimprovemanagementinprimarycare,”diabetes,obes.,andmetabol.2012;15(8)690-700)。在其糖尿病管理和其胰岛素滴定中发挥积极作用的患者可能会感到更有能力负责其自我护理,并且更坚信其行为可以影响其疾病,从而带来更好的治疗效果(norris等人,“self-managementeducationforadultswithtype2diabetes:ameta-analysisontheeffectofglycemiccontrol.diabetescare,”2002,25:1159–71,kulzer等人,“effectsofself-managementtrainingintype2diabetes:arandomized,prospectivetrial,”diabet.med.2007,24:415–23,anderson等人,“patientempowerment:resultsofarandomizedcontrolledtrial,”diabetescare.1995,18:943–9)。此外,当患者控制其自身的滴定时,滴定的频率会增加,这会增加患者达到所需血糖水平的可能性。然而,通过更激进的滴定方法,低血糖事件(“低血糖”)的风险将更高,在基于每日多次注射(mdi)的滴定方案的情况下,风险进一步增强。相应地,已经提出了对于短期低血糖预测(sthp)的许多解决方案,诸如kovatchev等人,(typezero&universityofvirginiagroup)“evaluationofanewmeasureofbloodglucosevariabilityindiabetes”,diabetescare,第29卷(11),2006年11月,sparacino等人,(cobellilabinuniversityofpadova)“glucoseconcentrationcanbepredictedaheadintimefromcontinuousglucosemonitoringsensortime-series”,ieeetransactionsonbiomedicalengineering,第54卷(5),2007年5月,franc等人(volunitswithsanofi)“real-lifeapplicationandvalidationofflexibleintensiveinsulin-therapyalgorithmsintype1diabetespatients”,diabetesmetab.2009年12月,35(6):463-8,以及sudharsan等人(welldoc)(lthp24-hoursaheadliteraturecomparison)“hypoglycemiapredictionusingmachinelearningmodelsforpatientswithtype2diabetes”,journalofdiabetesscienceandtechnology2015,第9卷(1)86–90。为了解决该问题,us2008/0154513公开了一种与维持糖尿病的最佳控制相关的方法、系统和计算机程序产品,并且涉及基于由自我血糖监测(smbg)装置收集的血糖读数来预测即将到来的时间段的低血糖、高血糖、葡萄糖变异性增加以及测试不足或者过度测试的模式。用于识别和/或预测用户的高血糖模式的方法包括以下步骤:采集多个smbg数据点,对具有预定持续时间的时间段内的smbg数据点进行分类,评估每个时间段中的葡萄糖值,以及基于所述评估来指示随后时间段的高血糖风险。评估可包括以下步骤:基于所述葡萄糖值来确定趋向高血糖的个体偏差,基于个体和绝对偏差确定每个所述时间段内的复合概率,以及将每个时间段中的所述复合概率与预先设定的阈值进行比较。时间段可包括将一天二十四小时分成具有预定持续时间的时间箱。为了解决上述问题并更好地减轻低血糖的风险,本发明的目的是提供以下方法和系统:该方法和系统改进预测未来低血糖的能力以减少当前剂量推荐,这实现更精确的滴定方案并由此治疗2型糖尿病。本发明的特定目的是提供允许基于分类器获取和机器学习算法来改进低血糖预测的数据集优化方法。此类方法应使用易懂和受限的方法,使得它们更适合于被当局批准用于剂量指导系统。技术实现要素:在本发明的公开内容中,将描述多个实施方案和方面,它们将解决上述目标中的一个或多个,或者将解决从下面的公开内容以及从示例性实施方案的描述将显而易见的目标。在本发明的第一方面,提供了一种用于基于分类器获取来改进低血糖预测的数据集优化方法,该方法包括以下步骤:提供针对受试者的原始数据集,该数据集包括在给定采样率下获得的多个bg值以及与其相关联的在多个天数n内的时间戳;通过对作为输入x的评估块值(ehh)进行滚动方案时间分箱以执行数据变换来产生作为输出y的对应预测值(phh),其中x被创建为包括针对给定过去时间段t-p的bg值的滑动窗口,并且其中y被创建为指示给定未来时间t-f处的bg值是否低于指示低血糖状况的给定阈值的指示符i。一般来讲,预测模型仅与它们所训练的数据一样好。通过上述方法,可以以更有效和更好的方式利用相同量的数据,这些方式相应地适合和适配机器学习算法,诸如随机森林(rf)分类器。相比之下,如us2008/0154513中所公开的旨在预测低血糖的模式的先前尝试依赖于bg数据的简单时间分箱和对组织数据的后续传统数学分析。数据变换可在至少两个不同的过去时间段t-p内执行。t-f可对应于t-p,例如,15分钟预测值基于15分钟的bg值。在示例性实施方案中,数据变换步骤之前的步骤是通过将每日bg值进行滚动方案时间分箱而分箱成m天的评估块来执行数据扩展,m等于或大于2并且小于多个天数n。当获得的原始数据集基于m天胰岛素滴定方案(例如,在改变之前使用相同胰岛素剂量的三天)时,这样的数据扩展是相关的,这样的方案通常用于滴定基础胰岛素,如给定基础胰岛素的使用说明书中所指示的。对于基于推注胰岛素的数据集,m=1将是相关的。实际上,如果m=1,则不发生真正的扩展。在示例性实施方案中,提供原始数据集的步骤之后是通过对应于标称采样速率的重新采样以及通过创建内插的bg值以替换缺失的bg值来执行数据准备的步骤。在本发明的另外方面,提供了一种用于训练分类器的方法,该方法包括以下步骤:提供如上所述优化的数据集,获取分类器中的优化数据集,以及基于获取的数据集来训练分类器。分类器可以是随机森林分类器。在本发明的另外方面,提供了一种用于预测未来bg值的方法,该方法包括以下步骤:从受试者获得bg值的评估序列,将bg值的评估序列获取到已经如上所述训练过的分类器中,以及提供预测的bg值。已经对其训练了分类器的数据集可以从与bg值的评估序列相同的受试者获得。可以通过连续血糖监测(cgm),例如每5分钟产生bg值来获得bg值的评估序列。在本发明的又一方面,提供了一种用于对来自受试者的数据集进行时间优化的计算系统,计算机系统包括一个或多个处理器和存储器,该存储器包括指令,这些指令在由一个或多个处理器执行时执行如上文根据本发明的不同方面所定义的方法。在特定示例性实施方案中,通过执行以下步骤使用相同量的数据但以更扩展、更智能和拟合的方式来提供数据时间优化和扩展:(1)缺失数据处理:利用样条插值解的5分钟重新采样:数据大小随缺失数据相应地增加,该缺失数据用一段软件代码实现数据准备的数据质量处理要求。(2)利用滚动方案时间分箱的评估历史时域(ehh):3天块分箱,其中时间优化的滚动每日方案与标准顺序方案相反,以便对安置在3天研究块的临床得出间隔、或向后3天的评估历史时域(ehh)内的一系列cgm测量进行分箱。(3)利用滚动方案时间分箱的低血糖预测历史时域(phh):一种软件程序,其分别基于向后对应的回顾时间间隔或向后15、30和60分钟的预测历史时域(phh),来重复地预测向前某个未来时间间隔处的低血糖,向前15、30和60分钟的预测时域(ph)。每5分钟,对于每个步骤,也在与顺序方案相反的滚动方案上进行phh=ph预测。这三个步骤全部一起增加了初始未处理的bg数据集的大小和深度。因此,用三步技术变换的经处理数据集不仅实现了显著更大的大小,而且还实现了直接且迅速地进入ml分类器格式的深度和操作可获取性。未处理或原始数据集不能以相同效率容易地或立即获取或馈送到ml分类器格式中。样条缺失数据内插与评估和预测历史时域间隔的滚动方案时间箱一起导致cgm分辨率数据的优化,以便以高敏感性(低血糖事件的正确预测)和高特异性(非低血糖事件的正确预测)来提供对低血糖的更准确预测。附图说明在下文中,将参考附图描述本发明的实施方案,其中图1示出了根据本公开的一个实施方案的示例性数据准备模块,图2示出了根据本公开的一个实施方案的示例性数据变换模块,图3示出了根据本公开的一个实施方案的示例性指针查找表,图4示出了根据本公开的一个实施方案的示例性时间箱优化,图5、图6和图7针对不同phh值示出了根据本公开的一个实施方案的示例性低血糖确定模块,图8示出了根据本公开的一个实施方案的用于后续ml处理的训练结果的示例性保存,图9和图10示出了根据本公开的一个实施方案的示例性随机森林(rf)分类器实现,图11和图12示出了根据本公开的一个实施方案的rf分类器结果,图13和图14示出了与文献结果相比的rf分类器结果,以及图15-图27共同示出了根据本公开的一个实施方案的工作示例。在附图中,类似的结构主要由类似的附图标记标识。具体实施方式本公开依赖于包括与至少一个受试者有关的信息的训练和测试数据集的采集。数据集至少包括在一定时间过程中得到的用于建立血糖史的受试者的多个血糖测量值,并且对于多个血糖测量值中的每个相应葡萄糖测量值,包括表示在时间过程中相应葡萄糖测量值产生的时间的对应葡萄糖时间戳,以及一个或多个基础胰岛素注射史,其中注射史包括在时间过程的全部或一部分期间的多次注射,并且对于多次注射中的每次注射,包括对应的剂量事件量和在时间过程中相应注射事件发生的时间的剂量事件时间戳。sthp分类器:sthp分类器的数据准备和数据变换为了确定短期内低血糖或低血糖水平不良事件的预测或检测,向前15分钟直到60分钟的预测时域(ph),然后是当前、实验和未来的机器学习方法需要优化和适配,以将来自每天1或2个点处的血糖自我监测(smbg)的不同时间分辨率以15分钟间隔充分获取、募集并采用于快速葡萄糖监测器(fgm)或以5分钟间隔充分获取、募集并采用于连续葡萄糖监测器(cgm)。一般来讲,预测模型仅与它们所训练的数据一样好。因此,提高数据质量或更高效地利用相同量的数据是至关重要和有价值的。本解决方案旨在不仅采用具有cgm的较高时间分辨率的更多数据,而且还以更智能、更好的方式利用该数据,这些方式相应地适合和适配机器学习算法,诸如随机森林(rf)分类器。例如,在12pm–3pm间隔的时间内,dexcom以每小时间隔报告smbg低分辨率,只能获得3个间隔。利用cgm高分辨率并且利用全数据优化,能够获得25个间隔并将其馈送到ml模型,诸如随机森林(rf)分类器。用于随机森林分类器算法的cgm数据的当前配置或利用如下:例如,为了预测在接下来60分钟内的低血糖(ph=向前60分钟),利用过去的60分钟作为输入预测历史时域(phh),但仍限制在评估历史时域(ehh)的过去3天块内。在没有cgm数据,仅有smbg数据的情况下,时间偏移每小时发生。例如,对于smbg数据,在例如从12pm到3pm的3小时的时间内,仅存在3个时间数据间隔:1)从12pm到1pm的第一间隔、2)从1pm到2pm的第二间隔、以及3)从2pm到3pm的第三间隔。时间间隔ph=60分钟开始(pm)ph=60分钟结束(pm)112:001:0021:002:0032:003:00这在诸如smbg或其他装置之类的其他测量方案的约束内是有意义的,但对于cgm来说不是这样。这种低分辨率方案未能优化和充分采用来自cgm的较高分辨率数据。cgm时间优化在3小时的相同时间内适配25个时间数据间隔,每个间隔为5分钟,如cgm所约束的。12pm–3pm:smbg低分辨率(dexcom以每小时间隔报告):3个间隔,cgm高分辨率(完全优化):25个间隔。因此,简而言之,以上是预测历史时域(phh)时间箱优化。因此,通过这种时间数据优化和适配,代替为机器学习随机森林分类器准备仅3个数据间隔,为机器学习随机森林分类器准备和预备25个数据时间间隔,从而增加数据可用性并且训练用例。虽然可以理解,cgm数据的这种充分利用可能仅仅被视为下一个逻辑步骤,但是真正的改进在于将cgm数据的更高分辨率应用于机器学习算法,其中若干机器学习算法(例如时间序列arima模型)对于许多(每天288个点)季节性参数来说表现不佳而无法捕获每日变化,即使当数据中明显存在每天出现的强季节性分量时也是如此,该强季节性分量由其他函数(诸如来自statsmodel包的seasonal_decompose)捕获。在没有这些cgm数据优化和适配方法和函数的情况下,那么诸如随机森林分类器之类的机器学习算法将训练不佳,拟合不佳并且代表它们正尝试作出预测的数据。利用中间5分钟间隔的医学和科学原理是,只要维持时间线性、顺序和最低数据质量的假设,其中每15分钟、30分钟或60分钟间隔仅被提前预计到未来,并且以5分钟的增量相继线性地跟随,那么是否应用12pm-1pm窗口与12:05pm-1:05pm窗口没有区别,除了可在新窗口中捕获的新数据趋势之外。例如,在每小时单个点的smbg分辨率内,而不是每5分钟间隔的单个点的cgm分辨率,如果说间隔12pm–1pm缺失,则除了通过有风险的外推之外,没有方法填充该数据。对于cgm分辨率,如果12pm–1pm间隔缺失,但12:05pm-1:05pm可用,则12:05pm-1:05pm的cgm每小时偏移5分钟间隔的持续时间成为接受的数据。对于smbg分辨率,如果1pm-2pm间隔缺失,则可以在12pm-1pm间隔与2pm-3pm间隔之间内插,尽管这增加了一些风险,但不如外推那样多。对于smbg分辨率,如果2pm-3pm间隔缺失,这是与12pm-1pm缺失类似的情况,则将需要外推来填充缺失数据。基本上,间隔的边缘案例需要外推,而缺失数据的中间案例或间隔需要内插。两者均有风险,但内插的风险小于外推。cgm数据优化步骤通过利用其更高的分辨率并且能够相反地采取当然在医学约束内的其他每小时偏移5分钟的间隔而消除了对内插和外推的需要。例如,如果缺失超过20分钟,则用所谓的12:25pm-1:25pm间隔(12pm和12:25pm之间的所有间隔都缺失,基本上5个间隔缺失)替换缺失的12pm-1pm间隔是不可取的。否则,从医学、科学和生理学的角度来看,在20分钟或4个5分钟间隔内,可以在彼此之间进行替换、平均或内插,这允许写入可以可靠地适合或适配诸如随机森林分类器之类的机器学习算法的适配函数,即使在数据丢失、不完整或损坏的情况下也是如此,只要满足数据质量和线性的某个阈值,该阈值相对于smbg和其他方法和装置的较低时间数据分辨率情况下非常严格和苛刻的阈值,是在cgm的较高时间数据分辨率情况下宽松得多的阈值。考虑这一点的另一种方式是在数据质量方面如下。对于使用每种可能的cgm优化(但受到线性约束),对于丢失或损坏的数据存在更多的空间,并且对于诸如随机森林分类器之类的机器学习算法,仍然有足够的数据来产生预测。对于仅3个间隔的smbg,即使一个间隔缺失,那么随机森林分类器的机器学习算法也会中断,并且无法给出下一个小时的预测。在下文中,将描述jupyternotebook代码中的数据准备模块的示例性实施方案,参见图1。数据准备模块募集“converttots”和“removenandays”函数。函数“removenandays”本身募集要涵盖在数据变换模块步骤中的另一个函数的输出查找表“pointertable”。最后,“interpolatelist”函数被募集,参见图1。更具体地讲,将进行以下操作:1.读取受试者cgm数据。受试者cgm数据是表格式数据帧对象类型。2.(如果有标签可用)受试者cgm数据删除任何“smpg”或其他数据标签,只留下“cgm”数据标签。3.募集“converttots”函数,将受试者cgm数据(通常是表格式的)转换为时间序列对象,以用于进一步的数据准备。4.募集具有平均值的pandas时间序列本地重新采样函数,仅包含具有至少一些cgm数据的天数的受试者cgm时间序列对象数据通过重新采样而进一步准备为“5-t”或5分钟箱。如果不存在缺失数据,则该步骤产生相同的数据集,但整齐地堆叠以进行数据分析。例如,85mg/dl的12:01:43spm时间点变成同样85mg/dl的12:00pm。另外,92mg/dl的12:06:21spm变成同样92mg/dl的12:05pm。如果存在数据缺失,则该重新采样步骤是将初始的原始数据集第一次实质性增加为经处理的较大数据集,产生新的缺失数据或nan,其需要在随后的步骤中转变为实际值。但首先,必须删除任何全nan天数。在临床研究中,全nan天数基本上是基线和随访天数之间的周期。由于基线和随访时间戳两者均在一个数据对象中,那么重新采样步骤遗憾地增加了不必要的缺失nan天的非观察,其需要被编程地删除。这在下一个步骤中实现。5.募集“removenandays”函数。输入:受试者cgm[时间序列]对象数据类型处理:扫描并删除完全缺失的nan天数原理:在天数之间内插整个天数也是有风险的。在同一天内内插cgm值的风险小得多,这将是数据准备的下一个步骤也是最后一个步骤。输出:受试者cgm[列表]对象数据类型。不再有[时间序列]对象数据类型!该函数募集要在数据变换模块步骤处解释的“pointertable”函数。6.募集“interpolatelist”函数,cgm值的这个经过清理的经处理的列表最终用高级样条内插来内插,该高级样条内插用至少一些可用的cgm填充数天内的任何nan或缺失数据。接下来,数据变换模块募集cgm288点日的查找表的“pointertable”函数的输出,参见图2。更具体地讲,将进行以下操作:1.“pointertable”函数仅仅创建一次交叉引用的288个cgm点的查找表作为id。2.募集“pointertable”函数,cgm的列表分配交叉引用的288个id,以对准该特定值所在当天的时间点或时间戳。cgm指针表查找子模块从医学和科学的角度来看,了解cgm数据点是否与早晨am或晚上pm(尤其是夜间时分和早晨时分)相关联,对于空腹血浆葡萄糖(fpg)测定和确证很重要。设计单日的指针查找表,以便在没有时间序列对象,而只是通过交叉引用典型cgm日的288个id而具有cgm值的列表对象的情况下仍然获得这样的信息。利用典型cgm日的指针表的288个id允许剥离时间戳分量,并且只留下cgm值的列表。继而,可以将该cgm值的列表馈送并获取到ml分类器格式算法中。遗憾的是,时间序列对象本身不能被馈送到ml分类器格式算法中。因此,与cgm288点id表交叉引用是必要的。为了保留当天信息中的时间点或时分(例如,当天288个cgm点中的id=10对应于0:50am或12:50am的时间点),创建cgm288每日5分钟步骤指针查找表,参见图3。对于top(左图),指针表id=9对应于12:45am的实际时间点,并且对于bottom(右图),指针表id=287对应于23:55pm或11:55pm。因此,利用这样的指针查找表,变得有可能在没有可用的时点数据的情况下迭代通过cgm值的列表(其可包含几天,例如14-16天)并了解cgm值所指的当天的时间。因此,由于指针索引0对应于新的一天,即12:00am,所以变得有可能将cgm值的长列表分成每日区块。在指针id=0表示新的一天或第二天的情况下,cgm值的总列表可以停止填写当天的先前独立列表,并且开始第二天的cgm值的新独立列表。另外,该算法只添加具有全部288个点的全天。具有小于288个点的任一天都不作为全天添加。在对用户或患者的大多数临床或现实试验中,例如,通常第一天和最后一天或几天具有小于288个全点。最好不使用这样的数据,因为对于此类数据的角边缘上限,难以外推、内插或填充缺失数据。最后,算法也处理结束案例,否则,如测试中所确认的,最后一天从未被适当地添加。结果是,cgm值的总列表现在被分箱成每日区块或块。因此,pointertable仅在sthp分类器代码库中的两个位置被调用:1.被募集用于“removenandays”函数,以便识别并指定完全缺失天数或nan天数,以便于随后删除。2.被募集用于数据变换模块步骤处理(对于循环、如果语句),其主要任务是从一天块创建3天块的评估历史时域(ehh)。输入:cgm值的空白列表处理:与“pointertable”函数的pointertable输出交叉引用输出:首先分箱成cgm值的每日列表(每天或每日区块288个点)在下文中,将描述数据优化模块,其通过滚动方案时间分箱提供cgm较高时间分辨率优化。适配向机器学习随机森林分类器的获取评估历史时域(ehh)-时间箱优化,参见图4。输入:cgm值的每日列表,但尚未分箱成3天区块或块处理:滚动方案时间分箱的第一步利用输出:继而,这些每日区块可被分箱成3天区块或块。原理:基于用于患者生理调节周期的医学和科学考虑和指南以及用于模型训练周期的可管理输入考虑而分箱成每日和3天块以馈送到随机森林分类器。1.循环处理主要是将每日历史区块转变成三天历史时域(hh)区块。2.从“functools”包募集“reduce”函数,将列表的所得列表变换或减小或展平成仅单个运行列表,但这次每个列表不代表一天,而是代表临床所需观察或评估的3天。到目前为止,cgm数据仅有增长的一次实质性机会:在5分钟重新采样函数处。所有内插函数都是为了填充5分钟的重新采样步骤已经增长或扩展的缺失nan。因此,内插函数不能增长或扩展数据。类似地,分箱成每日区块的设置方式使得仅显示在受试者cgm数据中可用的天数。该步骤中未发生总体数据扩展。再次,数据集增长的第一次实质性机会是在5t或5分钟重新采样步骤处。然而,通过分箱成3天块的这个步骤,cgm数据存在增长和扩展的第二次实质性机会。12天可用总块内的典型3天块分箱:实现4个间隔。上述典型方案对于smbg或其他装置数据是有意义的,其中必须在3天的每个研究块之间进行有效的重新校准和计算。然而,这对于cgm数据几乎没有意义,该cgm数据只需要在同一天内进行校准(1-2)并且计算可以每天运行。因此,缺失从第2天到第4天等的3天块没有意义。对于用cgm的较高时间分辨率数据进行的这种滚动方案全数据优化的案例,医学、科学和数据科学假设仍然成立。这些假设对于smbg和其他装置数据并不成立,因此使用典型方案。然而,这种典型方案对于cgm实现,并且尤其对于ml分类器获取是次优的。当然,滚动方案问题被进一步详细地解决并适配,以便通过ml方法从随机森林(rf)到支持向量机(svm)到k-最近邻(knn)可快速地募集。相应地,提供以下优化的和更多数据搜集方式以对3天块进行分箱。12天可用总块内的优化3天块分箱:123234345456567678789891091011101112通过该优化方案实现10个间隔。基本上,总数n-3,包含端值在内。低血糖预测历史时域(phh)时间箱优化:输入:评估历史时域(ehh)的3天区块或块。原理:该设置避免了进入下一个3天的临床评估周期的时间缺陷和出血错误。整齐地打包,用于ml分析。处理:滚动方案时间分箱的第二步利用输出:预测历史时域(phh)安置在3天区块或块的评估hh(ehh)内。这对于设置将界定机器学习(ml)的边界和界限以及坚持患者生理调节或对准是至关重要的。利用该第二创新步骤,这是输入数据增长的第三次实质性机会。因此,初始的原始输入数据已在三个实质性步骤中增长或扩展成经处理和清理的输入数据,该数据现在准备好用于ml分类器格式获取、模型创建、训练和测试。对于phh=ph=60分钟,参见图5。通过为ml分类器输入单独地和模块化地从数据准备、变换和数据适配制作这些预测历史时域(phh)连同创建评估历史时域(ehh)的该最后数据优化步骤,只有这种低血糖确定在不同实现之间从phh=ph=15到phh=ph=30分钟到phh=ph=60分钟改变。对于phh=ph=30分钟,参见图6,并且对于phh=ph=15分钟,参见图7。直到现在,示例性实施方案涵盖将原始的、未处理的cgm数据变换为经过清理的、处理的和ml可获取的数据之后的compute计算,该经过清理的、处理的和ml可获取的数据已被三次扩展和时间优化,并且因此可被馈送到随机森林(rf)分类器模型中。在集中于产生和保存训练-测试x-y集(参见图8)的最终数据段中,保存自变量(x)和因变量(y)两者连同训练-测试分割数据集部分。该特定phh=ph=60分钟的这些最终数据集随后在测试代码段中验证,参见下文。在保存这些最终数据集后,可用该最终数据输入运行和制作实际的sthprf分类器模型。简单的数字示例在下文中,简单的数字示例将用于说明上述数据处理步骤。这些值是出于该目的而非基于真实数据随机生成的。[关键]分子:天数:以mg/dl数计,每天12个cgm值。在12个cgm点的该简化说明性示例中,仅向前15分钟和30分钟的phh是可能的。在下文中,主要对15分钟的phh进行计算。0:第1天:[158,335,146,371,104,170,109,290,127,151,231,376]1:第2天:[342,201,174,100,253,36,134,270,225,117,202,356]2:第3天:[240,172,320,174,57,215,225,163,246,235,159,36]3:第4天:[248,342,52,388,309,219,243,275,166,107,191,288]4:第5天:[279,74,146,276,284,334,201,185,187,151,242,114]5:第6天:[215,289,338,282,331,282,21,152,270,83,57,114]phh=ph=15滑动窗口为6个。输入:块1的ehh:0:第1天:[158,335,146,371,104,170,109,290,127,151,231,376]滑动_窗口1=[158,335,146,371,104,170]x1=[158,335,146],大致对应于向后最后15分钟的最后3个cgm点y1=0~170>70=0,对应于无低血糖,因为170mg/dl>70mg/dl的低血糖阈值因此,然后将x1添加或附加到x(或输入,过去的cgmbg值),并且将y1添加或附加到y(输出、低血糖/非低血糖二进制分类器,开/关)。滑动_窗口2=[335,146,371,104,170,109]x2=[335,146,371],大致对应于向后最后15分钟的最后3个cgm点y2=0~109>70=0,对应于无低血糖,因为109mg/dl>70mg/dl的低血糖阈值x和y,到目前为止:x=[[158,335,146],~x[0][335,146,371]]~x[1]y=[0,0]~y[0],y[1]滑动_窗口3=[146,371,104,170,109,290]x3=[146,371,104],大致对应于向后最后15分钟的最后3个cgm点y3=0~290>70=0,对应于无低血糖,因为290mg/dl>70mg/dl的低血糖阈值x和y,到目前为止:x=[[158,335,146],~x[0][335,146,371],~x[1][146,371,104]]~x[2]y=[0,0,0]~y[0],y[1],y[2]滑动_窗口4=[371,104,170,109,290,127]x4=[371,104,170],大致对应于向后最后15分钟的最后3个cgm点y4=0~127>70=0,对应于无低血糖,因为127mg/dl>70mg/dl的低血糖阈值x和y,到目前为止:x=[[158,335,146],~x[0][335,146,371],~x[1][146,371,104],~x[2][371,104,170]]~x[3]y=[0,0,0,0]~y[0],y[1],y[2],y[3]滑动_窗口5=[104,170,109,290,127,151]x5=[104,170,109],大致对应于向后最后15分钟的最后3个cgm点y5=0~151>70=0,对应于无低血糖,因为151mg/dl>70mg/dl的低血糖阈值x和y,到目前为止:x=[[158,335,146],~x[0][335,146,371],~x[1][146,371,104],~x[2][371,104,170],~x[3][104,170,109]]~x[4]y=[0,0,0,0,0]~y[0],y[1],y[2],y[3],y[4]滑动_窗口6=[170,109,290,127,151,231]x6=[170,109,290],大致对应于向后最后15分钟的最后3个cgm点y6=0~231>70=0,对应于无低血糖,因为231mg/dl>70mg/dl的低血糖阈值x和y,到目前为止:x=[[158,335,146],~x[0][335,146,371],~x[1][146,371,104],~x[2][371,104,170],~x[3][104,170,109],~x[4][170,109,290]]~x[5]y=[0,0,0,0,0,0]~y[0],y[1],y[2],y[3],y[4],y[5]滑动_窗口7=[109,290,127,151,231,376]x7=[109,290,127],大致对应于向后最后15分钟的最后3个cgm点y7=0~376>70=0,对应于无低血糖,因为376mg/dl>70mg/dl的低血糖阈值x和y,到目前为止:x=[[158,335,146],~x[0][335,146,371],~x[1][146,371,104],~x[2][371,104,170],~x[3][104,170,109],~x[4][170,109,290],~x[5][109,290,127]]~x[6]y=[0,0,0,0,0,0,0]~y[0],y[1],y[2],y[3],y[4],y[5],y[6]简而言之,仅对于块1的第1天ehh,创建了具有对应y(输出)的7个phh=ph=15x(输入)。对于块1的剩余天ehh,以相同方式计算值。1:第2天:[342,201,174,100,253,36,134,270,225,117,202,356]2:第3天:[240,172,320,174,57,215,225,163,246,235,159,36]在下文中,示出了说明导致发现低血糖的计算的示例。phh=ph=151:第2天:[342,201,174,100,253,36,134,270,225,117,202,356]第2天_滑动_窗口1=[342,201,174,100,253,36]第2天_x1=[342,201,174],大致对应于向后最后15分钟的最后3个cgm点第2天_y1=1~36<70=1,对应于低血糖,因为36mg/dl>70mg/dl的低血糖阈值x和y,到目前为止:x=[[342,201,174]]y=[1]phh=ph=302:第3天:[240,172,320,174,57,215,225,163,246,235,159,36]第3天_滑动_窗口1=[240,172,320,174,57,215,225,163,246,235,159,36]第3天_x1=[240,172,320,174,57,215],大致对应于向后最后15分钟的最后3个cgm点第3天_y1=1~36<70=1,对应于低血糖,因为36mg/dl>70mg/dl的低血糖阈值x和y,到目前为止:x=[[240,172,320,174,57,215]]y=[1]随机森林(rf)分类器实现,参见图9。要为随机森林分类器运行的500个决策树(n_估计参数)是苛刻的要求。大部分以100至300个决策树运行。为了给相对于最前沿、复杂但更难以解释的诸如welldoc、uva等的竞争者的低血糖预测算法的神经网络(ann、cnn等),更简单但更容易解释的基于决策树的随机森林(rf)分类器带来性能和竞争力,将决策树的数量从更标准的100或300提高到500被认为是合理的。关于公差测试和避免本地机器和本地主机服务器上的存储器外问题以及进入用amazonwebservices和其他此类服务上的hadoop、mapreduce和spark进行的分布式并行计算的进一步研究和开发需要进行以进一步微调要训练的决策树的数目的参数和其他此类参数。数据需要足够稳健,以适应像这样的高参数。简单地馈送的原始数据将无法与具有许多决策树的随机森林分类器一起运行。因此,具有向评估和预测历史时域(ehh、phh)的滚动方案时间分箱的创新数据准备、变换、适配、特别是优化步骤对于这种分类解决方案到另外更具回归合理性(但易于具有回归较差数据质量)的解决方案至是关重要且极其需要的。基于分类的解决方案在很大程度上由于本发明公开内容中引入的数据扩展和时间优化而更稳健并且耐受较差数据质量。如图10所示,所得模型也可以以joblibapi格式保存,该格式对于用numpy阵列对python对象进行序列化、测试不同压缩格式是有效的。xz、lzma、特别是bz2格式始终比z、gz、特别是次优sav压缩格式表现得更好(以mb为单位大小较小)。总结以上公开内容,使用“滚动方案时间分箱”允许以更扩展、更好、更智能和更拟合的方式利用相同量的过去历史或回顾数据,从而有效地增长和增加初始的原始未处理数据集。尤其对于用“滚动方案时间分箱”步骤构建的评估和预测历史时域(ehh、phh),已扩展的数据集被进一步最大化和预注,以便馈送甚至更多可用的数据间隔,这些数据间隔被变换和获取到ml分类方法中,诸如随机森林(rf)、支持向量机(svm)和k-最近邻(knn)。对于lthpph=1天(24小时),rf实现了91%的准确性、90.9%敏感性和91.9%的特异性,然而,svm和knn性能较差。对于lthpph=1天(24小时),svm表现较差,准确性为86%,敏感性为71.4%并且特异性为77.4%。对于lthpph=1天(24小时),knn表现较差,准确性为86%,敏感性为73.2%并且特异性为81.7%。原始cgm数据由novonordisk临床试验nn1218-3853提供。基于这些lthp结果,在sthpml分类器解决方案的该示例(在图中称为“lombardi”)中仅实现了sthp的rf实现。对于phh=ph=30分钟,sthp的rf实现获得了98%准确性、93.59%敏感性和99.75%特异性。ph15、ph30、ph60的sthprf结果在图11中示出。在图12中,示出了ph15、ph30、ph45、ph60、ph75的sthprf分类器结果,并且将其与以下文献所公布的文献结果进行比较:daskalaki等人,“real-timeadaptivemodelsforthepersonalizedpredic-tionofglycemicprofileintype1diabetespatients.”diabetestechnology&therapeuticsvol.14(2)2012。原理:根据学术文献,daskalaki等人的论文用作30和45分钟时的短期低血糖预测因素(sthp)分类器预测时域(ph)的比较。pappada等人,“neuralnetwork-basedreal-timepredictionofglucoseinpatientswithinsulin-dependentdiabetes.”diabetestechnology&thera-peuticsvol.13(2)2011。原理:根据学术文献,daskalaki等人的论文用作75分钟时的短期低血糖预测因素(sthp)分类器预测时域(ph)的比较。在图13和14中,分别将ph45的ph75的sthprf分类器结果与文献结果进行比较。看起来,15、30、45、60和75分钟的所有预测时域处的准确性、敏感性和特异性都得以实现,它们是竞争性的或者甚至优于来自行业和学术来源的文献比较。工作示例接下来将描述phh=ph=60分钟或sthprf分类器60分钟的工作示例(we),该示例涵盖通过加载以下五个文件来实现上文提到的竞争性结果的测试代码,用于特定测试和验证目的:1.sthprf分类器模型文件本身:“_ph60.pkl.bz2”后缀2.自变量x的测试子集的最终数据:“_xtest.npy”后缀3.因变量y的测试子集的最终数据:“_ytest.npy”后缀仅通过上述三个文件输入,就可以计算以下验证测试度量:原始准确性,混淆矩阵计算诸如敏感性和特异性以及混淆矩阵图形本身,以及分类报告。参见图15。4.所有自变量的最终数据:“_x.npy”后缀5.所有因变量的最终数据:“_y.npy”后缀这两者仅对于计算交叉验证的准确性而言是需要的。参见图16。结合所有这些,可为第1-3个最终数据输入数提供总结报告:we的验证测试度量结果:ph=60分钟。混淆矩阵表,参见图17混淆矩阵表计算:tn、fn、fp、tp,参见图18。混淆矩阵表计算:敏感性,参见图19。混淆矩阵表计算:特异性,参见图20混淆矩阵表计算:敏感性、特异性字符串报告输出,参见图21分类报告:精度、召回、f1分数和支持,参见图22。对于第4-5个最终数据输入:we的验证测试度量结果:ph=60分钟:总结报告:准确性、交叉验证的准确性、敏感性、特异性、低血糖矩阵(tn、fn、tp、fp),参见图23。混淆矩阵函数,参见图24。混淆矩阵函数:输出(1/3),参见图25。混淆矩阵函数:输出(2/3):无归一化,参见图26。混淆矩阵函数:输出(3/3):归一化,参见图27。参考文献和其他实施方案本文中引用的全部参考文献均以引用方式全文并入本文,并且出于所有目的,其程度如同每个单独的公布或专利或专利申请被具体和单独地指示成出于所有目的而以引用方式全文并入。所有标题和子标题在本文中仅为了方便而被使用,并且不应当被解释为以任何方式限制本发明。除非另外声明,否则本文提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅旨在更好地说明本发明,而不是对本发明的范围进行限制。本说明书中的任何语言都不应被视为表明任何未声明的要素对于本发明的实践是必不可少的。本文中引用和并入专利文献仅是为了方便,并不反映这样的专利文献的有效性、可专利性和/或可执行性的任何观点。本发明可被实现为计算机程序产品,其包括嵌入非瞬态计算机可读存储介质中的计算机程序机构。例如,计算机程序产品可以包含以图1和图2的任意组合示出和/或图4中所述的程序模块。这些程序模块可以存储在cd-rom、dvd、磁盘存储产品、usb密钥或任何其他非瞬态计算机可读数据或程序存储产品中。如对于本领域技术人员而言显而易见的那样,在不脱离本发明的实质和范围的情况下,可对本发明进行许多修改和变化。本文所述的具体实施方案仅作为实例提供。选择和描述上述实施方案是为了最好地解释本发明的原理及其实际应用,从而使本领域的其他技术人员能够通过适于所设想的特定用途的各种修改最好地利用本发明和各种实施方案。本发明仅受所附权利要求的条款以及这些权利要求所赋予的等同物的全部范围的限制。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1