首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >又失眠?陪你做个机器学习模型,看看“睡个好觉”背后有什么秘诀

又失眠?陪你做个机器学习模型,看看“睡个好觉”背后有什么秘诀

作者头像
大数据文摘
发布2018-12-26 10:40:12
4980
发布2018-12-26 10:40:12
举报
文章被收录于专栏:大数据文摘大数据文摘

编译:蒋宝尚、conrad

睡眠问题可能是很多当代都市青年的一大焦虑来源。

从“手环”的健康数据入手,找到了几个很有趣的分析角度,比如,有哪些因素影响了稳定睡眠?狂看Netflix对周末晚上的睡眠有什么影响?

这波分析让Yash Soni受益匪浅,他也很慷慨的将这一过程记录分享给了各位,最后,祝大家都能睡个好觉!

确定数据搜集设备-手环

作者选择的是Fitbit Versa智能手环,无论是颜值,还是功能确实都很有料~~

当然,关键是最主要的功能,即健康检测非常好用,首先界面,这种展示数据的方式让人看起来非常舒服,另外,它提供的数据也非常丰富。

不过如果你有苹果手表,或者小米的手环,也可以按照此“套路”给自己分析一波。

首先,在分析之前,你要明确自己感兴趣的事情是什么,在作者看来,他自己感兴趣的是:

  • 我每天活动量有多少?我每天坐的时间真的很长吗?
  • 这些数据在周中和周末有什么区别吗?
  • 哪些因素消耗卡路里最快?
  • 我有没有遵循一个平稳的睡眠计划?有哪些因素影响了计划的实施?
  • 理解睡眠阶段并且找到那些有助于深度睡眠的东西。
  • 狂看Netflix对周末晚上的睡眠有什么影响?
  • 训练一个简单的机器学习模型,看看“睡个好觉”背后有什么秘诀

显然,Fitbit Versa提供的数据不能满足以上的分析目标。所以,要开始以下套路了~~

收集数据

第一个任务是找到从设备上取出数据的方式。通过扫描开发者页面,我找到他们提供网络接口来获取用户数据。检查这些API之后,你会被每分钟收集并存储的数据量大小所震惊。每一天走的步数、卡路里消耗、睡眠阶段甚至是心率都被记录下来了!

Web API:

https://dev.fitbit.com/build/reference/web-api/

有时,这些吸引人的数据会让我们忘记个人信息会最终被分享。在看了他们隐私条款之后,我发现Fitbit做出了另外的检查来保证数据的安全性。不过要说清楚这一切需要写另一篇文章,所以为了不跑题,让我们继续探索数据。

注册这个app后拿到了必需的用户凭证去开始爬数据。在经过必需的几个授权步骤后,我收集并合并了我的每天活动量、睡眠和心率数据,放到Excel里。在清理数据后,数据集终于准备妥当了!

PS:所有爬虫代码可以从Jupyter记事本上找到:

https://github.com/yashatgit/fitbit-analyzer

活动量分析

Fitbit有一个很大范围的数据来衡量每日活动水平。步数,卡路里,层数等是一些标准度量。它也可以监测用户每天花了多少时间在不同激烈程度的运动上。

并没有刻意关注每日卡路里消耗,我在Fitbit上定了一个每天走8000步的目标。这些下面的图片提示我每天平均完成约7800步,这相当接近我的目标了。有很多研究表明每天10000步是最理想的,而这也应该是我的下一个目标。

周二到周六,我平均每天会花40分钟左右做剧烈运动,这可以简单的转换成锻炼。周日更少的时间单纯来自于我想偷懒。周一时间的下降证明了我周一上班的抑郁心情。

分析不同运动的每分钟卡路里消耗量揭示了一些有趣的发现。虽然有很多相似的数据,但很难去为每一个人泛化。因为这有很大一部分取决于健康水平、人口、技能、更重要的是如何享受做特定的运动。

跑步帮助我每分钟燃烧12卡路里。那么用很简单的数学可以发现:为了抵消一杯啤酒带来的伤害,我跑10分钟步就可以了。

网球据了第二位。这又是一个双赢,因为本人很喜欢网球!看到随着我的技术提高,数据也在变化是很有趣的。

游泳数据并没有震惊到我,因为我仍然努力在学习游泳技巧。在泳池里花了一些时间之后,这项锻炼转变为休闲运动。

要注意的是,卡路里消耗不应该是运动的唯一考量。但是,这碰巧成为我目前通过Fitbit考察的唯一考量。

最后,看不同的数据和其他数据有什么关系也很有用。画一个关系热图帮助我们揭开一些数据背后的秘密。

卡路里消耗和行走步数以及活动时间强烈相关。久坐时间和周中卡路里消耗负相关,这意味着我花了更多时间在周末休息。

睡眠分析

好的睡眠对于帮助改善心情、记忆和认知能力非常重要。我们花了差不多三分之一的时间睡觉。也就是我们一生大约花了26年睡在床上!虽然新陈代谢会变慢,但所有主要器官和系统仍继续在作用。因此,拥有良好的睡眠是很重要的。

随着读更多这方面的文章,我发现有很多常规套路可以帮助我们获得高睡眠质量。例如:

  • 遵照一个健康的睡眠规划
  • 晚上在躺上床前避免亮/蓝的光线
  • 快入夜时避免咖啡因
  • 睡在凉爽黑暗的房间里
  • 每天最少7-9小时的睡眠。当然,也有很多研究说5小时就能得到高质量睡眠

在实验进行过程中,我尝试跟着以上步骤让我自己遵守严格的睡眠计划。是的,是时候实操了!

从下面的图表,我发现我基本上每天都睡7个小时。虽然我能够在11点前上床,醒来的时间从5点半到7点不定。

虽然平均的睡眠时间差不多,但睡眠质量却天差地别。有些时候,我睡6个小时也很精神,但有时即使睡得时间很长也并没有感觉精神。我通过分析神秘的睡眠周期找到了答案。

虽然我们睡着了,我们的身体通常会经过几个睡眠周期,在以下几个阶段交替:

浅睡眠:这个阶段通常开始于入睡后的几分钟。在这个阶段呼吸和心率通常会微微下降。浅睡眠帮助精神和身体恢复。

深睡眠:深睡眠通常发生在入睡后最初的几个小时。呼吸变得更加缓慢,肌肉变得松弛的同时心率通常变得均匀。当我们早晨醒来感到神清气爽时,很可能我们经历了不错的深睡眠。深睡眠有助于身体恢复以及记忆力和学习能力。

快速眼动睡眠:快速眼动睡眠是一个睡眠的活跃时期,该期间内脑活动非常集中。快速眼动睡眠第一个阶段通常发生在最初阶段的深睡眠之后。呼吸变得更快、更不规则和更浅。眼睛向不同的方向快速移动,因此被称作快速眼动睡眠,简称REM。这个阶段我们一般会做梦。快速眼动睡眠在心情恢复、学习和记忆方面发挥重要的作用。

下面的图片表示平均来说,我们的身体花了17%的时间深度睡眠,19%快速眼动睡眠以及剩下的时间都是浅睡眠或快要醒的状态。从浅睡眠和深睡眠的时间绘图可以看到这些数字差别很大。

如果我们绘图出不同的睡眠阶段,我们可以看到在床上的时间和浅睡眠高度相关,但和深睡眠没什么关系。

这基本意味着仅仅通过睡得更多并不保证有好的深睡眠。我猜想这帮助证实睡眠学习的重要性:睡眠的质量比时长更重要。

在周中跟随一个严格的睡眠计划很容易,但到了周末要遵守计划则变得难完成得多。

上面这个箱型图表明星期六最受影响,睡觉时间在5到9个小时之间。Netflix狂欢以及周末的聚会也是另外的一些次要原因。对比之下,周日更小的箱型图描述了我为周一早晨的准备。看见箱型图表现出的那些无意识身体行为是很有趣的。

最后,我想看看是否每天的运动量对我的睡眠有影响。虽然我没有很多数据用于机器学习模型,一个起初的结果展现了一些有趣的结果。它预测出白天活动更多并且在晚上11点之前上床对最后的深睡眠时间有帮助。

虽然下结论还太早,一旦有更多睡眠数据和另外的提高模型准确度的特征,就能够重复这个实验。细节可以在Jupyter上看到。

https://github.com/yashatgit/fitbit-analyzer/blob/master/Fitbit_Data_Analysis.ipynb

这些都值得吗?

这个实验给我带来了收获。我找到了一些身体会给予回应的有趣方式。似乎一个机器可以帮助达到不同的结果。

下一步我计划制定一些提高活动量的目标。我也将尝试一些生物科技来看是否对我的睡眠有一些正面的影响。我也考虑建立一个Fitbit闹钟app来叫醒我,一旦我已经得到了充足的有质量的睡眠。(并不确定这样的app是否已经存在~)

相关报道:

https://medium.freecodecamp.org/how-i-analyzed-the-data-from-my-fitbit-to-improve-my-overall-health-a2e36426d8f9

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据文摘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档