这是一篇开放获取的文章,根据创作共用署名许可协议(https://creativecommons.org/licenses/by/4.0/)的条款发布,允许在任何媒介上不受限制地使用、分发和复制,前提是正确引用了首次发表在JMIR医学信息学上的原创作品。必须包括完整的书目信息,http://medinform.www.mybigtv.com/上的原始出版物的链接,以及此版权和许可信息。
疼痛波动是影响慢性疼痛体验和适应的重要因素。之前,我们使用机器学习方法来定义和预测Manage My pain应用程序用户的疼痛波动水平。减少特征的数量对于帮助提高此类预测模型的可解释性非常重要。预测结果还需要从多个随机子样本中整合,以解决类不平衡问题。
本研究旨在:(1)通过识别区分高波动率用户和低波动率用户的最重要特征,提高先前开发的疼痛波动率模型的可解释性;(2)巩固来自多个随机子样本模型的预测结果,同时解决类不平衡问题。
从应用程序使用的第一个月中提取了132个特征,以开发基于机器学习的模型,用于预测应用程序使用第六个月的疼痛波动。应用了三种特征选择方法来识别比用于开发预测模型的大特征集的其他成员明显更好的预测因子:(1)基尼杂质准则;(2)信息增益准则;(3)博鲁塔。然后,我们将这些算法确定的三组重要特征组合在一起,生成最终的重要特征列表。然后采用三种机器学习方法对所选择的重要特征进行预测实验:(1)带岭估计器的逻辑回归;(2)具有最小绝对收缩和选择算子的逻辑回归;(3)随机森林。为了解决数据集中的类不平衡问题,对大多数类进行了多次随机欠采样。随后,采用多数投票的方法来巩固来自这些多个子样本的预测结果。 The total number of users included in this study was 879, with a total number of 391,255 pain records.
使用聚类方法建立了1.6的阈值来区分2类:低波动率(n=694)和高波动率(n=185)。当使用132个特征时,随机森林和逻辑回归模型的总体预测精度约为70%。总的来说,使用3种特征选择方法识别了9个重要特征。在这9个功能中,2个来自应用程序使用类别,其他7个与疼痛统计相关。在通过多数投票的随机子样本开发的模型合并后,使用132或9个特征的逻辑回归模型表现同样出色。随机森林在预测高波动性类别方面的表现优于逻辑回归方法。随机森林的综合精度没有显著下降(601/879;68.4% vs 618/879;70.3%),此时预测模型只包含9个重要特征。
我们采用特征选择方法来识别预测未来疼痛波动的重要特征。为了解决阶级不平衡,我们通过多数投票的方式整合了使用多个随机子样本开发的模型。减少特征的数量并没有导致合并预测精度的显著降低。
疼痛是最常见的健康问题之一,也是寻求医疗帮助的三大最常见原因之一[
在最近的研究中[
使用随机森林和类似的黑盒方法的一个主要缺点是训练模型缺乏可解释性。当应用领域是医学并且特征集很大时,尤其如此。一个可解释的预测模型应该包含一种方法来识别重要特征的子集,这些特征是比大特征集中的其他成员更好的预测因子。这为卫生保健提供者提供了一个可供应用的实用模型,并可能增加对模型的信心。此外,这些重要特征可能有助于医疗保健专业人员和患者制定适当的干预措施和未来的疼痛管理计划。
在开发波动率预测模型时,我们解决了类别不平衡的问题,因为低波动率用户的数量远远高于高波动率用户的数量。我们采用随机欠抽样方法,使两个类大小相等。我们重复了三次欠采样过程,以确保结果的稳定性。由于我们在之前的工作中没有将这些随机子样本上训练的多个模型的结果整合到一个统一的模型中,所以我们在本研究中打算进行整合。
因此,本研究有两个目标。首先是识别疼痛波动预测模型中具有显著高于其他特征的重要特征。我们使用了两个基于重要性的标准来对特征进行排名:基尼杂质和信息增益。我们还应用Boruta特征选择算法来识别重要特征的子集。第二个目标是巩固在多个随机数据子样本上训练的模型的预测结果,其中低波动性和高波动性类别的用户数量是相等的。我们采用多数投票的方法来实现这一目标。使用标准5倍交叉验证进行训练和测试。计算了低波动率和高波动率类别的准确度以及整体准确度,以衡量和比较所开发的单个和综合预测模型的性能。
控制我的痛苦[
本研究由约克大学研究伦理委员会(人类参与者审查委员会,证书编号:e2015-160)审查并批准。用户数据库在两个单独的文件中被访问和下载(使用纯文本格式):(1)已识别的用户信息;(2)疼痛记录。用户信息文件包含以下字段:用户ID、应用注册日期时的年龄、性别、自我报告的疼痛状况和自我报告的药物。疼痛记录文件包含以下字段:用户ID、日期、疼痛严重程度等级(0-10)、疼痛的身体位置、疼痛类型、疼痛持续时间、其他相关症状、特征、缓解因素、无效因素、加重因素以及疼痛发生的环境。文本文件中的所有字段都使用特殊字符分隔。本研究中使用的数据于2019年3月1日下载。这项研究涵盖了2013年1月1日至2019年3月1日用户输入的疼痛记录。
主要数据集包括来自31700名用户的949919条疼痛记录。预测疼痛波动的结果期是应用程序使用的第六个月。之所以选择第6个月,是因为持续至少6个月的疼痛符合最普遍接受的慢性疼痛定义[
我们首先简要总结了我们以前工作中使用的方法[
采用分层的5倍交叉验证程序进行训练和测试。采用10倍交叉验证的初始实验产生了类似的预测性能。数据预处理在R(3.5.0版本)中进行(R Core Team,维也纳,奥地利)。R包glmnet(2.0-16版本)[
采用以下三种方法来衡量预测性能:
如果我们将低波动率类的用户作为我们实验中的对照组,则低波动率类的准确性为Specificity,高波动率类的准确性为Sensitivity。
在本研究中,同样的方法被用于定义和预测疼痛波动。我们在之前的130个特征列表中增加了2个新特征:(1)连续疼痛严重程度评级之间变化绝对值的平均值的标准偏差;(2)预测期和结果期评分趋势线的终点和起点之间疼痛严重程度评分差异的绝对值。添加这两个是为了补充2个现有的特征:(1)连续疼痛严重程度评级之间变化绝对值的平均值;(2)预测期和结果期评分趋势线的终点和起点之间疼痛严重程度评分的差异。
因此,我们从879个用户中提取了132个特征用于开发预测模型。我们将这132个特征分为8大类,以促进对特征选择实验结果的讨论。这8个类别如下:
人口统计(2个特征)
性别
年龄
App使用情况(2个功能)
疼痛记录数量(1个特征)
至少有一次疼痛记录的天数(1个特征)
疼痛统计(8个特征)
疼痛严重程度评分的均值和标准差(2个特征)
连续严重等级之间变化绝对值的均值和标准差(2个特征)
通过严重性等级(2个特征)拟合的趋势线终点与起点之间的差值和差值的绝对值
疼痛严重程度(1个特征)
疼痛波动水平(1个特征)
疼痛描述符(64个特征)
疼痛部位(24个特征)
相关症状(20个特征)
特点(13个特点)
环境(7个特性)
影响疼痛的因素(43个特征)
加重(15个特征)
缓解(14个因素)与无效(14个特征)
疼痛状况(6个特征)
药物(5个特点)
心理健康状况(2个特征)
我们应用了三种不同的方法来识别预测疼痛波动的重要特征:基尼杂质准则、信息增益准则和Boruta。
基尼杂质测度[
对于每个特征,信息增益[
Boruta [
在我们的预测实验中,我们有五个不同的训练集,因为我们进行了5倍交叉验证。对于这五个训练集中的每一个,我们都应用了5次随机欠采样,总共得到了25个不同的训练集。我们将所描述的三种算法分别应用于所有25个集合,并确定了这些集合的共同特征。然后,我们将三种算法确定的三组重要特征组合在一起,生成最终的重要特征列表。
在使用聚类方法定义低波动率和高波动率类之后,低波动率用户的数量远远高于高波动率用户的数量(大约3倍),这将在结果部分中详细介绍。在我们之前的研究中,我们通过从大多数类中重复随机欠采样来解决这种类不平衡问题,以创建用于训练预测模型的平衡数据集。在欠抽样方法下,从大多数类中随机选择实例,使两个类的大小相等。我们重复了3次欠采样过程,以确保结果的稳定性。
在本研究中,我们重复了5次欠抽样,并采用多数投票的方法来巩固这些多个子样本的预测结果。在这种多数投票方法中,当输出被至少3个在不同子样本上训练的模型预测为高波动率时,我们将用户分配到高波动率类。
我们首先在疼痛波动率测量上采用k-均值聚类方法来区分低波动率和高波动率类别。
聚类疼痛波动测量。数据点总数为1758。每个用户有两个数据点,分别来自预测期和结果期。指数(x轴)1至879的数据点是预测期的波动值,880至1758是结果期的波动值。黑色和红色分别表示低和高波动性水平。水平实线表示波动率阈值为1.6,垂直虚线表示预测器与结果期之间的截止时间。
我们通过对随机选择的疼痛波动值的子样本重新应用聚类算法进一步验证了这一阈值。
使用疼痛波动阈值1.6可在结果期对用户进行以下划分:694人波动率低,185人波动率高。我们通过对大多数类(即低波动率类)的随机欠抽样(重复5次)解决了类不平衡问题。然后,我们使用带岭估计器和LASSO的逻辑回归、随机森林和支持向量机开发了预测模型。预测结果如图所示
使用所有132个特征预测性能。应用大多数类(低波动性)的随机欠抽样,并重复5次,使训练数据集中的类大小相等。
性能测量,子样本 | Logistic回归(岭),n (%) | 逻辑回归一个), n (%) | 随机森林,n (%) | 支持向量机b, n (%) | |
|
|||||
|
子样品1 | 476 (68.6) | 513 (73.9) | 473 (68.2) | 437 (63.0) |
|
子样品2 | 476 (68.6) | 520 (74.9) | 482 (69.5) | 453 (65.3) |
|
子样品3 | 492 (70.9) | 514 (74.1) | 499 (71.9) | 465 (67.0) |
|
子样品4 | 499 (71.9) | 509 (73.3) | 491 (70.7) | 458 (66.0) |
|
子样品5 | 495 (71.3) | 512 (73.8) | 471 (67.9) | 469 (67.6) |
|
|||||
|
子样品1 | 122 (65.9) | 119 (64.3) | 129 (69.7) | 120 (64.9) |
|
子样品2 | 112 (60.5) | 115 (62.2) | 126 (68.1) | 118 (65.3) |
|
子样品3 | 117 (63.2) | 115 (62.2) | 127 (68.6) | 117 (63.2) |
|
子样品4 | 121 (65.4) | 117 (63.2) | 128 (69.2) | 116 (62.7) |
|
子样品5 | 124 (67.0) | 121 (65.4) | 129 (69.7) | 115 (62.2) |
|
|||||
|
子样品1 | 598 (68.0) | 632 (71.9) | 602 (68.5) | 557 (63.4) |
|
子样品2 | 588 (66.9) | 635 (72.2) | 608 (69.2) | 571 (65.0) |
|
子样品3 | 609 (69.3) | 629 (71.6) | 626 (71.2) | 582 (66.21) |
|
子样品4 | 620 (70.5) | 626 (71.2) | 619 (70.4) | 574 (65.3) |
|
子样品5 | 619 (70.4) | 633 (72.0) | 600 (68.3) | 584 (66.4) |
一个LASSO:最小绝对收缩和选择算子。
b支持向量机:支持向量机。
使用所有132个特征的预测性能(图形表示
随机森林和逻辑回归模型的总体准确率约为70%。随机森林在预测所有子样本的低波动率和高波动率类别时始终具有相同的准确性。然而,SVM在预测未来疼痛波动水平方面表现不佳。因此,本研究没有使用SVM进行特征选择实验。
我们首先使用基尼重要性标准来识别区分高波动率用户和低波动率用户的重要特征。计算每个训练集的平均下降基尼系数。在5次交叉验证实验中,我们有5个不同的训练集。由于我们对每个训练集进行了5次欠采样,因此本研究最终有25个训练集。对于这25个训练集中的每一个,我们都使用随机森林和所有132个特征来训练模型。然后,我们计算每个特征的基尼系数重要性得分,以创建基于重要性的排名。在
根据所有25个不同训练集的基尼重要性标准对特征的重要性进行排序。
在所有训练集中,超过前11个特征后,特征的重要性并没有显著降低。在这前11个特征的列表中,我们确定了8个在所有训练集中普遍存在的特征。它们是:(1)至少有一次疼痛记录的天数;(2)疼痛记录的数量;(3)平均疼痛程度评分;(4)疼痛严重程度评分的标准差;(5)连续疼痛评分之间绝对变化的平均值;(6)连续疼痛评分之间绝对变化的标准差;(7)通过严重性等级拟合的趋势线的起点和终点之间的变化;(8)通过严重性等级拟合的趋势线起点和终点之间变化的绝对值。
我们用来计算特征重要性的第二个标准是信息增益。
在不同的训练集上,信息增益在第6和第9个特征之间显著下降。以下特征是信息增益标准排名前几位特征中常见的特征:(1)至少有一次疼痛记录的天数;(2)疼痛严重程度评分的标准差;(3)连续疼痛评分之间绝对变化的平均值(疼痛波动评分);(4)连续疼痛评分之间绝对变化的标准差;(5)预测期疼痛波动水平。
最后,我们应用Boruta方法来识别25个训练集中的每个训练集中的重要特征。该方法认为重要的特征数量在不同训练集之间在4到7之间变化,以下4个特征在所有训练集中都是相同的:(1)至少有一个疼痛记录的天数;(2)疼痛严重程度评分的标准差;(3)连续疼痛评分之间绝对变化的平均值;(4)连续疼痛评分之间绝对变化的标准差。
结合三种方法确定的重要特征,得出以下9个特征:(1)至少有一次疼痛记录的天数;(2)疼痛记录的数量;(3)平均疼痛程度评分;(4)疼痛严重程度评分的标准差;(5)连续疼痛评分之间绝对变化的平均值(疼痛波动评分);(6)连续疼痛评分之间绝对变化的标准差;(7)通过严重性等级拟合的趋势线的起点和终点之间的变化;(8)通过严重性等级拟合的趋势线起点和终点之间变化的绝对值;(9)预测期疼痛波动水平。
前2个特征与应用程序使用有关,其他7个特征来自疼痛统计类别。我们利用这9个特征,使用随机森林和逻辑回归方法来开发波动率预测模型。然后,我们应用多数投票来巩固使用子样本开发的五个模型。中给出了单个模型和合并模型的预测结果
基于所有25个不同训练集的信息增益计算重要性的特征排名。
使用9个选定的重要特征预测性能。
性能测量 | Logistic回归(岭),n (%) | 逻辑回归一个), n (%) | 随机森林,n (%) | ||
|
|||||
|
子样品1 | 510 (73.5) | 513 (73.9) | 461 (67.4) | |
|
子样品2 | 518 (74.6) | 516 (74.4) | 475 (68.4) | |
|
子样品3 | 511 (73.6) | 518 (74.6) | 474 (68.3) | |
|
子样品4 | 511 (73.6) | 506 (72.9) | 454 (65.4) | |
|
子样品5 | 504 (72.6) | 506 (72.9) | 455 (65.6) | |
|
合并 | 510 (73.5) | 515 (74.2) | 476 (68.6) | |
|
|||||
|
子样品1 | 114 (61.6) | 122 (65.9) | 119 (64.3) | |
|
子样品2 | 116 (62.7) | 117 (63.2) | 129 (69.7) | |
|
子样品3 | 114 (61.6) | 115 (62.2) | 121 (65.4) | |
|
子样品4 | 118 (63.8) | 121 (65.4) | 124 (67.0) | |
|
子样品5 | 120 (64.9) | 119 (64.3) | 123 (66.5) | |
|
合并 | 115 (62.2) | 121 (65.4) | 125 (67.6) | |
|
|||||
|
子样品1 | 624 (71.0) | 635 (72.2) | 587 (66.8) | |
|
子样品2 | 634 (72.1) | 633 (72.0) | 604 (68.7) | |
|
子样品3 | 625 (71.1) | 633 (72.0) | 595 (65.8) | |
|
子样品4 | 629 (71.6) | 627 (71.3) | 578 (65.8) | |
|
子样品5 | 624 (71.0) | 625 (71.1) | 578 (65.8) | |
|
合并 | 625 (71.1) | 636 (72.4) | 601 (68.4) |
一个LASSO:最小绝对收缩和选择算子。
我们对使用所有132个特征开发的模型进行了多数投票,以与使用9个选定特征开发的模型的综合性能进行比较。
基于逻辑回归的模型在使用132或9个特征时表现同样出色。这是意料之中的,因为这两种方法都使用正则化来降低某些特征系数的大小。因此,即使所有特征都包含在模型中,冗余特征的影响也会显著降低。
随机森林在预测高波动性类别方面的表现优于逻辑回归方法。综合整体准确度测量没有显著下降(601/879;68.4% vs 618/879;70.3%),此时预测模型只包含9个重要特征。巩固模型的准确性非常接近于表现最好的模型(子样本2),并且优于其他四个模型(子样本1、子样本3、子样本4和子样本5)。因此,当随机森林与所有特征以及选定的重要特征一起使用时,使用多数投票在多个随机子样本上训练的模型巩固预测输出表现良好。
所有132个特征与9个选定的重要特征的合并预测精度的比较。LASSO:最小绝对收缩和选择算子。
独立方程2。
在这项研究中,我们确定了具有高预测能力的特征,这些特征可能在预测Manage My pain用户的疼痛波动方面发挥重要作用,Manage My pain是一款记录疼痛体验的数字健康应用程序。最初,提取了132个特征,并使用四种方法建立预测模型(岭估计逻辑回归、LASSO逻辑回归、随机森林和支持向量机)。我们使用基尼杂质和信息增益标准来根据其重要性对特征进行排名。我们还使用Boruta特征选择方法来识别重要特征的子集。我们对训练和测试进行了5次交叉验证,并重复5次随机欠采样来解决类不平衡问题。因此,有25个不同的训练集,对于每一种特征选择方法,都确定了这25个集合中共同的重要特征。最后,我们结合三种方法选择的特征集,创建了一个包含9个重要特征的列表。这9个功能中有两个来自应用程序使用类别,其他7个来自用户自我报告的疼痛统计数据。
利用多数投票来巩固在多个随机子样本上训练的预测模型,以解决数据集中的类别不平衡问题。该方法有效地实现了最接近最佳训练模型的预测性能。特征约简后,两种逻辑回归方法的预测精度均未降低。这表明,这两种方法中嵌入的正则化技术有效地最小化了冗余特征的影响。基于随机森林的综合模型使用9个选定的特征,在低波动率和高波动率类别中都达到了大约68%的准确性。这接近于使用所有132个特征开发模型时所达到的70%的精度。逻辑回归方法在预测低波动率类别方面优于随机森林,而随机森林在预测高波动率类别方面具有更好的准确性。
这项研究延续了之前的两项研究[
此外,多数投票的方法在整合多个随机子样本上训练的模型时表现良好,同时也解决了阶级不平衡问题。值得注意的是,使用所选9个重要特征的随机森林在预测高波动性类别方面比逻辑回归方法表现得更好。正确预测未来高波动率患者在许多方面都是可取的,即使低波动率预测的准确性略有降低。因此,通过本研究中使用的3种不同方法确定重要特征,然后使用随机森林建立非线性预测模型,比使用逻辑回归方法建立线性模型更好。
在我们之前的研究中[
通常建议将分析研究中使用的数据集公开,以实现可重复性和独立验证。然而,管理我的痛苦的开发者ManagingLife是一个私人组织,作为管理我的痛苦的用户收集的数据的监护人。为了确保遵守隐私法规和自己的内部隐私政策,ManagingLife不能公开用户的数据。
最小绝对收缩和选择算子
控制我的痛苦
支持向量机
QAR由Mitacs支持。JK由约克大学一级加拿大健康研究所加拿大健康心理学研究主席支持。HC由多伦多大学麻醉系颁发的优异奖资助。JMH是约克大学研究主席。
TJ是ManagingLife公司的创始人和首席执行官。JK、HC和QR是ManagingLife咨询委员会的无薪成员,为产品和公司的研究计划提供指导。