APP下载

睡眠测评与监测预警App 的设计与开发

2022-08-13杨金瑞

无线互联科技 2022年10期
关键词:决策树预警森林

刘 坤,杨金瑞,薛 东,汪 瑞,王 珍

(南京中医药大学 人工智能与信息技术学院,江苏 南京 210046)

0 引言

失眠是指长时间睡眠质量低下,并伴有其他临床症状,且严重影响患者正常的学习、工作等日常生活[1]。 “好睡眠,好身体”成为越来越多人追求睡眠质量的口号。 因此,市场上也随之应运而生了许多与睡眠相关的App,如小睡眠、蜗牛等,但这些App 良莠不齐,普遍存在助眠方式单一、助眠方法效果不佳等局限性与缺陷。

为了帮助失眠人群进行睡眠管理,解决“睡不着”“睡得浅”以及“睡不好”等睡眠相关问题,睡眠测评监测预警App 主要提供睡眠测评、监测、分析和预警功能。 以“好睡眠,好身体”的服务理念,为用户提供助眠一站式服务,帮助用户提高睡眠质量。 以睡眠测评和监测数据为基础,为用户推荐个性化助眠方案,并监督用户执行。 助眠商城售卖与方案相配套的助眠商品,如中医助眠茶、助眠药枕、助眠香薰等。

1 系统体系结构

App 采用C/S 三层体系结构模式,包括UI 界面层、中间业务逻辑层以及数据库服务层[2]。 移动客户端主要通过发送http 请求来获取服务器端响应的数据。 首先,通过蓝牙获取实时睡眠监测数据,并上传到远端服务器;其次,通过服务器强大的数据分析功能,并且利用随机森林的算法,对上传的数据进行分析以及预警,并将预警信息及时反馈给移动客户端。 用户通过蓝牙上传或者手动输入睡眠监测数据,移动端App 将数据传输至服务器,云服务端调用随机森林算法、基于用户的协同过滤推荐算法等,实现睡眠质量预警、助眠方案推荐等功能,帮助用户日常管理睡眠、持续化调理,防失眠于未然。 系统总体结构如图1 所示。

图1 App 系统结构

2 系统实现

App 界面设计以“浅绿色”为基调,符合助眠“主题”,给用户一种清新、活力的感觉。 首页如图2 所示,包括睡眠问卷测评、睡眠监测与分析预警、助眠方案推荐、助眠方案监督打卡以及方案效果反馈等模块。

图2 首页

2.1 睡眠问卷测评

系统根据匹兹堡睡眠指数生成睡眠测评问卷,用户通过填写问卷,对自己近期的睡眠质量有初步的认知。 在用户提交完问卷之后,系统依据匹兹堡睡眠指数,计算测评评分,并给出初步的睡眠质量等级。 具体实现如图3 所示。

图3 睡眠测评问卷

(1)系统根据匹兹堡睡眠质量指数生成问卷。(2)用户提交问卷。 (3)用户获取当前填写问卷的评分。 (4)用户查看所有历史问卷的平均评分、最高评分、最低评分。

2.2 睡眠监测与分析预警

用户在入睡之前,可以选择合适的音乐帮助自己更好的入眠。 然后,通过手环等硬件设备监测用户每日的入睡时长、睡眠时长、翻身次数等。 由于手环属于第三方硬件设备,需要将监测的睡眠数据同步到Google Fit 上,管理端通过官方的API 发送数据请求,获取睡眠数据,再将数据存储到部署于阿里云服务器上的Mysql 数据库。 App 通过http 请求数据库服务器,获取用户的睡眠数据,并根据获取的数据生成睡眠监测报告。 管理端获取监测数据之后,通过大数据分析建立的随机森林预测模型,获取预测结果,并基于此结果,产生预警通知,具体实现如图4 所示。

图4 睡眠监测

(1)用户在入睡前,选择适合自己入眠的音乐。(2)监测用户的入睡时间、入睡时长、睡眠时长、周边环境噪音、翻身次数等。 (3)用户获取当前的睡眠质量评分。 (4)用户查看睡眠监测日报告,如睡眠评分、睡眠时长等。 (5)用户获取一周内的睡眠监测报告的统计分析结果,如本周睡眠时长、周平均值统计(平均入睡时间、综合得分、平均睡眠时长)、同上周对比(睡眠时长、入睡时间)、睡眠综合分析。 (6)系统发送预警通知。

2.3 助眠方案推荐

以用户的年龄、性别、睡眠质量等级等特征为基础,采用协同过滤算法,找到和目标用户特征相似的用户集合中评价最优,即效果最佳的方案,最后将这个方案推荐给目标客户[3]。 如果对系统推荐的方案不是很感兴趣,可以选择更换助眠方案,直至客户满意为止。具体实现如图5 所示。

图5 助眠方案推荐

(1)根据问卷评分、睡眠质量评分,用户获取自己的专属定制助眠方案。 (2)系统根据用户睡眠质量的不断变化,及时更新方案。

2.4 助眠方案监督打卡

系统会根据用户选择的助眠方案,细化方案中的内容,生成每日需要完成的任务,App 会以通知的形式监督用户打卡完成。 每日任务对应的都会有一个教程,用户根据教程完成任务。 当所有任务完成之后,方案的总体进度会向前进。 具体实现如图6所示。

图6 方案监督打卡

(1)系统根据助眠方案发布每日任务。 (2)用户打卡完成方案生成的每日任务。 (3)用户查看方案总体完成情况。

2.5 方案效果反馈

当任务进度完成之后,系统会收集用户对于此方案的评价,以便及时调整、更新方案。 具体实现如图7所示。

图7 方案效果反馈

(1)系统在用户完成助眠方案之后发布方案治疗效果反馈表。 (2)用户填写方案效果反馈表。 (3)系统收集反馈,进行统计分析,采取相应措施。

3 关键技术

App 以匹兹堡睡眠指数为基础,生成睡眠质量测评问卷,并结合智能手环监测用户睡眠数据,借助机器学习以及数据挖掘算法,对睡眠质量进行智能分类,分为正常、轻度失眠、中度失眠以及重度失眠四个等级。同时,App 还建立随机森林预测模型,对睡眠质量进行等级预测,及时为轻度失眠、中度失眠以及重度失眠的用户进行预警通知,并通过分析用户睡眠特征,进行个性化助眠方案推荐。

3.1 融合监测数据的睡眠质量等级的随机森林预测模型

目前,在机器学习算法中,决策树由于其计算公式简单、效率高,而受到广泛使用,但单个决策树不稳定,容易产生过于拟合的问题。 随机森林是将多个决策树通过集成的方法融合在一起,最终结果由每个决策树的结果综合得到[4]。

首先,从多维度分析不同基本信息的用户的睡眠质量特性,并根据特征差异性对用户进行群体划分,如性别、年龄段。 其次,利用Person 相关性分析,得到睡眠监测数据中影响睡眠质量等级的强关联因素。 最后,采用随机森林算法分别对隶属不同群体的用户建立睡眠质量等级预测模型。 最终确定将预测用户的性别、年龄、入睡时间、入睡时长、睡眠时长、环境噪音、翻身次数、梦话次数等作为参数,通过构建的随机森林模型进行训练,从而预测用户的睡眠质量等级。 随机森林预测模型的实现框架,如图8 所示。

图8 随机森林预测模型框架

3.2 基于用户特征的协同过滤推荐算法

利用年龄段、体重、性别、睡眠质量等级等用户特征,通过计算欧几里得距离,得到用户之间的相似度。先找到和目标用户特征相似的用户集合;再找到这个集合中用户评价较高,即用户认为助眠效果尚可的方案;最后将这个方案推荐给目标客户。

4 主要算法设计

随机森林是利用多个决策树对样本进行训练、分类并预测的一种算法,主要应用于回归和分类场景。在对数据进行分类的同时,还可以给出各个变量的重要性评分,评估各个变量在分类中所起的作用[5]。 主要过程为构建训练集和验证集、生成决策树、组合模型、验证模型。

首先,使用sklearn 库中的train_test_split 类,将睡眠数据集按90%训练集,10%验证集分配。 接着,进行睡眠特征分析,在每一轮生成决策树的过程中,从这些特征中选取若干个特征,组成新的特征集,通过使用新的特征集来生成决策树。 由于生成的决策树之间是相互独立的,在进行睡眠质量等级分类时,只需要所有的决策树投票来确定最终的分类结果[6]。 最后,只需要将未被使用过的验证集中的数据拿来验证最终的预测模型即可[7]。

5 结语

睡眠测评与监测预警App 利用大数据技术,挖掘影响睡眠的影响因子,运用随机森林算法,建立失眠分类模型,对于中度失眠以及重度失眠的用户进行及时预警。 根据睡眠质量等级分类,制定中医特色助眠方案,以用户反馈为基础,精准推荐。 以养代疗,运用中医治未病理念进行失眠调理,全方位、多途径地缓解用户的失眠状况,提高其睡眠质量。

猜你喜欢

决策树预警森林
一种针对不均衡数据集的SVM决策树算法
法国发布高温预警 严阵以待备战“史上最热周”
决策树和随机森林方法在管理决策中的应用
园林有害生物预警与可持续控制
哈Q森林
哈Q森林
哈Q森林
基于决策树的出租车乘客出行目的识别
哈Q森林
机载预警雷达对IFF 的干扰分析