探索和比较用于预测情绪随时间变化的机器学习方法

1 引言

心理健康问题对患者的生活、其社交环境以及整个社会都有重大影响。它阻碍了患者学习、工作或参与社会活动。因此,许多受影响的人会寻求专业帮助。据估计,2015年全球范围内由此给社会带来的成本高达每年2.5万亿美元,并将在2030[1]上升至每年6万亿美元。这些问题推动了与健康相关的研究,旨在为患者及其社交环境提供更有效的治疗方案。移动技术的重大发展为心理健康干预带来了新的可能性,例如更有效地进行生态瞬时评估(EMA)。利用新技术,可以更频繁地评估用户的心理状态及其测量时的情境。情境信息可通过传感器以非侵入性方式收集。此类测量可深入了解患者的行为和心理状态,从而推动实现更个性化和更有效的治疗。

尽管涉及EMA的研究数量在不断增加,但只有极少数研究试图充分利用由此产生的丰富数据。在更详细层面上的预测建模,例如以小时为单位预测情绪水平变化,这种情况很少见,而这类方法却可以极大地推动实时(半)自动化治疗形式的发展。大多数预测建模工作集中在更长期的预测上,例如治疗效果或长期康复。也有一些例外,例如[2]或[3]。然而,这些研究未能利用机器学习领域中较新的进展,导致结果准确性较低,因而表现出相对较差的性能。

在本文中,我们尝试利用复杂的机器学习技术,在抑郁症背景下准确预测情绪。抑郁症的终生患病率为17.1%,是一种重大的健康问题,与患者的发病率、死亡率、残疾以及心理痛苦及其社会环境密切相关。我们的研究起点是一项在33名参与者中收集的数据集,其中收集了参与者智能手机中的感官信息以及定期的情绪自我评分。当前建模的重点是基于个体参与者的历史记录及其通过智能手机获得的当前测量数据,预测其当前情绪状态。从原始数据集中,我们根据[2]推导出一组属性。随后,我们探索了多种预测上述情绪的方法,特别是使用时间序列技术、动态时间规整技术以及若干先进的机器学习技术,以验证更优的技术是否能够带来更准确的预测结果。

本文结构如下:首先在第2节中讨论我们将使用的数据的具体信息,接着在第3节介绍我们应用的技术。实验结果在第4节中描述,对结果的讨论见第5节。

2 数据

2.1 初步研究设置

在初步研究中,测量持续了大约六周。共有33名参与者被选中参加该初步研究,其中27名提供了足够进行有意义分析的数据。数据包含76个变量和1249个观测值,持续52天。数据通过安装在参与者智能手机上的两个应用程序获得:eMate EMA应用程序和iYouVU应用程序。eMate EMA应用程序每天五次(分别在09:00、12:00、15:00、18:00和21:00)提示用户在一个单维度的“情绪”量表上按1到10的量表对其情绪进行评分,而iYouVU应用程序是一个传感器记录器,在后台运行,对参与者而言是无感知的。参与者记录数据的时间长度各不相同,且并非总是提供手动输入。如果参与者一天内多次表达其情绪,则计算每天的均值。

2.2 数据描述

对于每位参与者,每天都有一个平均情绪值,这被称为侵入性特征属性,因为参与者需要手动输入他们当天的情绪水平。通过iYouVU应用程序获取的变量被称为非侵入性,因为它们是自动测量的。这些数值按天进行汇总。与前5个联系人的通话次数和短信数量以归一化频率值来衡量。与前5个联系人的通话时长被测量,同时也会测量应用程序的使用频率和持续时间。

appCat.n和appCat.duration是表示应用程序类别使用次数和持续时间的属性。这些变量在其各自类别的所有类别之间按天归一化。类别包括:安卓、图书、浏览器、商务、教育、娱乐、游戏、生活方式、电子邮件、音乐、新闻、生产力、社交、工具、交通和未知。还包括以下属性:拍摄的图片数量(image.n)、每次屏幕开启时刻的平均屏幕持续时间(screen.duration)以及屏幕开启频率(screen.n),这些都在参与者内部进行了归一化。通过iYouVU应用程序获得的另一个变量是被分类为“高”的加速度计数据的平均百分比(accelerometer.high)。数据集属性的摘要如表1所示。

属性名称 Type 信息 范围
mood T 待预测的日均单维值 mood [0, 1]
情绪.l1 OF 当前情绪,日平均值 [0, 1]
call.c1c ‐ call.c5c UF 拨打给前5个主要通话联系人的电话次数 [0, 1]
call.c1d ‐ call.c5d UF 拨打给前5个主要通话联系人的通话时长 [0, 1]
sms.c1c ‐ sms.c5c UF 发送给前5个主要短信联系人的短信数量 [0, 1]
app.a1c ‐ app.a5c UF 前5个主要应用被启动的次数 [0, 1]
app.a1d ‐ app.a5d UF 使用时长最长的应用 1–5 [0, 1]
应用类别使用频率 UF 每个应用类别的应用使用频率 [0, 1]
应用类别使用总和 UF 每个应用类别的应用使用时长 [0, 1]
屏幕开启时长 UF 平均屏幕开启时刻(标准化) [0, 1]
屏幕开启次数 UF 屏幕开启频率(标准化) [0, 1]
图像数量 UF 智能手机拍摄照片数量 [0, 1]
加速度传感器高值 UF 加速度传感器高值数据的平均百分比 [0, 1]

其中T是目标特征,OF是侵入性特征,UF是非侵入性特征

3 方法

3.1 数据预处理

Attribute Engineering

在第2节中已经讨论了基于初步测量直接获得的基本属性。尽管这些属性确实有用,但从这些属性中推导出的新信息也可能具有潜在价值。因此,我们构建了一些额外的属性,并将其纳入单独的分析中。

其中一个新增的属性是星期几,通过已有的日期/时间属性计算得出。另外两个属性分别是每天向前5位联系人发出的呼叫请求和/或短信的总和,以及每天使用最频繁的前5个应用程序的应用使用总和。

缺失值填补

该数据集包含智能手机传感器测量值以及EMA数据的多个缺失值。如果某一天没有单次测量值(本案例中考虑的测量粒度),则视为缺失。处理缺失数据有多种方法;可以删除含有缺失值的时间点,也可以对缺失值进行插补。如数据描述中已提到,测量点的数量相当有限。因此,决定仅删除情绪变量缺失的时间点,而对其余缺失值进行插补。

共有 1249 个时间点,其中 1224 个时间点的情绪变量可用。1099 个观测值没有任何缺失值。我们选择使用每个参与者所有观测值的均值来对缺失值进行插补。

3.2 预测模型

可以使用不同的方法进行数值预测。本实验中选择哪些预测模型是基于它们的属性决定的。我们考虑的预测模型最好是前沿算法,已知性能良好,可用于回归,不需要大量参数调优,并且训练模型所花费的时间不过长。从更高层次来看,选择这些预测模型进行比较的基本原理是我们希望应用以下技术:(1)仅根据目标特征的先前值来考虑其趋势(即根据情绪的过去变化来预测未来情绪):mood only;(2)尝试使用先前观察到的参与者数据进行预测:similarity;以及(3)利用特征属性和情绪的先前值来预测未来情绪:full predictive modeling。上述三种选项中的每一种将在下文更详细地解释。

Mood only

为了仅使用每个人的情绪序列来预测情绪,我们首先采用自回归积分滑动平均模型(ARIMA)进行时间序列建模。该自回归积分滑动平均模型会探究情绪信号是否为“平稳的”信号,即模型试图寻找使情绪序列随时间保持恒定的统计特性。

相似性

为了探究情绪序列中的相似性,应用了动态时间规整(DTW)算法。该算法用于比较两个时间序列之间的相似性,即使它们在时间或速度上存在差异。不同个体的情绪序列之间可能存在此类相似性,进而可能被用于预测具有高度相似情绪序列模式的个体的情绪。由于动态时间规整(DTW)算法无法处理缺失值,因此这些缺失值使用缺失值前后变量的平均值进行插补。该插补序列经过归一化后,应用了算法。

完整预测建模

对于完整预测建模,我们使用两种技术:支持向量机(SVM)和随机森林(RF)。SVM在多维空间中生成超平面,用于分类或回归任务。我们的SVM实现采用高斯径向基函数进行回归任务。随机森林(RF)是一种对多个决策树的性能进行平均的技术。各个决策树在数据集的不同部分上进行训练,共同避免了过拟合问题。

3.3 设置与测量

仅情绪

对于每位参与者,ARIMA模型使用整个序列作为训练数据。这一步骤(即复现数据)非常重要,因为我们希望了解该方法的潜在能力。因此,时间序列模型具有最大程度的潜力来发现用于解释每个个体动态的统计属性。在此之后,将每个时间点的相关数据输入每个个体的调优模型,以尝试预测下一个时间点的目标变量(情绪值)。该方法的最终均方误差是通过考虑所有个体和所有时间点的均方误差计算得出的。

相似性

相似性度量同样使用整个序列作为训练数据,因为我们希望了解在最理想的情况下参与者之间存在的相似性程度。通过这种方式,我们可以更好地评估相似性度量在预测情绪序列方面的潜力。然而,关于评估设置,正如第4节所讨论的,我们认为这种方法目前尚无太大潜力。因此,该方法无需进行评估设置。关于算法的设置,使用了“Sakoe‐Chiba”带约束,最大窗口大小为6。所应用的层次聚类采用了完全连接聚类方法。

完整预测建模

对于每位参与者,基于可用的过去的天数,使用支持向量机(SVM)和随机森林(RF)方法进行训练,并预测下一个时间点的目标变量,即情绪值。随着天数增加,机器学习方法可用的训练周期也越来越多。例如,从第三天开始,每个模型都有两个训练周期,用于预测当天的情绪;第四天时,每个模型有三个训练周期,以此类推。每种方法的最终均方误差通过计算所有个体在所有时间点上的均方误差得出。由于这种设置下,随着时间的推移,可用的训练数据周期越多,这些方法的性能 tends to have better performance。学习算法的配置如图1所示。

关于方法的设置;对于支持向量机(SVM)方法,采用径向核进行 epsilon 回归,约束违反代价设置为.5,epsilon设置为.1,sigma由内置超参数估计启发式函数signet [13]确定;对于随机森林(RF)方法,在每次分割时随机采样作为候选的变量数量设置为列数除以3,生长的树的数量设置为500。由于拟合1170个模型(无参数调优)需要相当长的时间,因此目前尚未对每个模型进行进一步的参数调优,否则将显著增加计算时间。

4 结果

如第3节所述,我们应用了三种类型的方法:一种仅考虑情绪来预测下一个时间点的情绪,一种探索用于预测情绪的相似性分析方法,另一种则应用完整的预测建模方法,即随机森林(RF)和支持向量机(SVM)。为了比较这些方法的性能,我们添加了一种基准方法,该方法简单地将所有可用过去的天的平均情绪值作为预测值。

4.1 仅情绪

我们首先通过将参与者的情绪序列分解为自回归积分滑动平均模型(ARIMA)序列来进行时间序列分析。在此情况下,我们首先探索ARIMA模型在多大程度上能够重现情绪变化的趋势,因为这是预测工作的关键第一步。为了举例说明,在图2中展示了ARIMA模型对参与者1和5的情绪序列的拟合情况。

基于为每个个体的完整情绪序列预先训练。自回归积分滑动平均模型在情绪重现上的均方误差为0.475。这一结果甚至低于之前提到的朴素基准(0.442),我们得出结论:仅使用情绪无法准确预测个体的情绪序列。

4.2 相似性

接下来,我们应用了动态时间规整,以查看患者是否表现出相似的模式,并可能用于预测未见过患者的的情绪。该方法的应用产生了一个矩阵,其中包含了不同参与者之间的相关相似性。我们对该矩阵应用了层次聚类。结果树状图见图3。可以得出结论,参与者7的情绪序列与其他参与者的情绪序列非常不同。此外,树状图提供了参与者如何聚类的洞察,并快速展示了某位参与者与其他参与者之间的比较情况。

相似时间序列及相应的DWT路径如图4所示,其中绘制了参与者16和24的序列。尽管这一分析很有趣,但如图4所示,由于模式变化较大且参与者数量有限,我们认为这种方法也不适合用于预测。

4.3 全预测建模

最后,我们应用了更传统的机器学习方法。在此,我们改变了是否使用添加的特征(参见第2节)。在不使用这些特征的情况下,SVM模型的均方误差为0.411,随机森林模型为0.425。在加入这些特征后,SVM模型的均方误差为0.410,随机森林模型为0.420。无论哪种情况,这两种方法的性能均优于均方误差为0.442的朴素基准方法。SVM和RF在使用添加特征时均表现出轻微优势。每种方法的性能概览见表2。图5显示了随着提供给算法的历史数据增多,均方误差的变化情况。可以看出,在提供约20天的历史数据后,预测性能趋于稳定。请注意,均方误差仅针对作为历史考虑的天数之后的那一天进行测量。

方法名称 MSE
基准方法(朴素) 0.441
未添加特征的SVM 0.411
未添加特征的RF 0.425
添加特征的SVM 0.410
添加特征的RF 0.420

示意图0

5 讨论

关于使用传感器数据预测情绪的短期变化及相关方面的研究较为有限,特别是采用机器学习方法进行此类预测的研究。因此,在本文中,我们采取了一种更具探索性的方法,将多种知名的机器学习技术应用于一项小规模初步研究中收集的数据集。我们首先探讨了仅使用情绪序列本身(不包含手机传感器的测量数据)的时间序列模型来预测情绪的可能性。随后,我们引入了结合动态时间规整的非侵入性测量数据以及更经典的机器学习方法。

仅基于过去情绪来预测情绪结果表明预测性能较低。情绪通常似乎不具备能在很大程度上解释情绪动态的内在统计特性。此外,在考察不同个体情绪序列之间的相似性时,发现某些个体对之间确实比其他个体对具有更高的相似性,但我们发现这些相似性程度太有限,无法用于预测。最后,利用全部数据的基于支持向量机(SVM)和随机森林(RF)的预测模型相比朴素基准和时间序列模型确实表现出更优的性能。这一发现表明,关于个体的上下文数据对于提升预测性能是有用且必要的,但鉴于我们可使用的属性,当前尚不足以在电子健康应用中有效应用。我们认为,应重点寻找与目标变量(在本研究中为短期情绪)动态高度相关的最重要属性,并思考如何最优地测量这些属性。只有这样,才有望实现预测性能的显著提升。

除了寻找与目标变量相关的新有意义的变量外,我们认为数据预处理是该过程中的一个非常重要的部分。我们在预处理阶段添加的特征属性使性能有了小幅提升,但我们认为仍有很大的提升空间。

更多推荐