动态监测数据的日历热图可视化及其R软件实现
陈梓聪1, 李河2, 刘畅1, 张晋昕1
1. 中山大学公共卫生学院, 广州510080
2. 广东省人民医院、广东省医学科学院、广东省心血管病研究所, 广州510080
通信作者:张晋昕,Tel:020-87332453; E-mail:zhjinx@mail.sysu.edu.cn

作者简介: 陈梓聪(1991-),男,广东汕尾人,硕士研究生,从事统计学方法及其医学应用研究。

摘要

大数据时代的到来,医疗卫生领域也积累了越来越丰富的动态数据,在进行深入分析前对其进行可视化呈现是必要的。日历热图是一种合适的呈现方式,可提供丰富的信息,帮助使用者做出正确的判断和决策。本文介绍日历热图的呈现原理,并结合医疗卫生实例说明其应用效果及R软件实现。

关键词: 动态数据; 日历热图; 可视化
中图分类号:R195.1 文献标识码:A 收稿日期:2016-06-12
Calendar Heatmap Visualization of Dynamic Monitoring Data and Its Realization in R
CHEN Zi-cong1, LI He2, LIU Chang1, ZHANG Jin-xin1
1.School of Public Health, Sun Yat-sen University, Guangzhou 510080, China
2. Guangdong General Hospital, Guangdong Academy of Medical Sciences, Guangdong Cardiovascular Research Institute, Guangzhou 510080, China
Abstract

With the arrival of the era of big data, the field of health care has accumulated more and more dynamic data. It is necessary to carry on the data visualization before the thorough analysis. The calendar heatmap will be a suitable presentation, which can provide a wealth of information and help users make the correct judgments and decisions. This article introduces the principle of calendar heatmap and its application effect and realization in R combined with living examples of health care.

Key words: dynamic data; calendar heatmap; visualization

在医疗卫生实践中, 经常会对某些指标进行连续监测, 形成蕴涵事件演变规律的动态数据序列, 比如某地区登革热的逐日发病例数, 患者血压或血糖的逐日记录值, 人脑一段时间的功能性核磁共振造影, 医院某科室逐日门诊量等等[1, 2]。对这些动态数据进行统计分析前, 有必要首先通过统计图对数据进行直观的描述, 即数据可视化(visualization)。目前一般应用者首选的是线图, 在平面直角坐标系中, 以时间作为横坐标, 以监测指标作为纵坐标, 用线条的升降表示监测指标随时间变动的情况[3]。然而, 对于动态监测数据来说, 当信息累积时间比较长时, 线图提供的信息非常有限, 只能对数据进行粗略的描述, 不能清楚地表示出每天的细节, 无法同时呈现出1年、1个月甚至1周的具体变化情况。本文将介绍一种通过热图(heatmap)来展示动态监测数据的方法, 以弥补普通线图的不足。

热图是一种对三维数据进行二维呈现的可视化技术, 通过不同颜色(或颜色深浅)来表示某一监测值的数量大小或事件发生频率。鉴于人们对颜色的敏感性高[4], 热图可以让使用者对数据的分布状况一目了然。对于热图的研究应用始于20世纪90年代末, 最早用于呈现犯罪案件数量的空间分布, 有助于形成警力部署方案, 随后迅速应用于政治、经济、文化、生活、娱乐等领域[5]

日历热图是后来发展起来的, 可以用来呈现动态监测数据的一种热图, 将原来用于空间分布的热图推广到了时间分布。以下将通过公共卫生监测和个体化监测实例, 说明其在医疗卫生实践中的应用价值以及在R环境下的实现。

1 应用实例
1.1 公共卫生监测

公共卫生监测内容包括疾病监测、死因监测、环境监测、营养监测等[6], 这里选择环境监测中公众普遍关心的空气PM2.5为例。我们从广州市环境保护局获得了广州市2013年1月1日至2014年12月31日的空气PM2.5监测数据, 分别用线图和日历热图两种方式进行可视化展示。首先, 将监测数据绘制成线图, 以监测时间为横坐标, 以PM2.5浓度为纵坐标, 如图1所示。

图1 广州市2013-2014 年PM2.5日均浓度线图

从线图可以大致看出PM2.5浓度在同一年里先下降后上升的趋势。然而, 由于跨越时间较长, 时间轴过于密集, 无法从图上看出具体某天的情况, 也不便观察某一个月和某一周的变化情况。此时, 若绘制日历热图, 则可以从更细致的层面来描述空气PM2.5浓度的情况, 如图2所示。日历热图的上方部分表示2013年的情况, 下方部分表示2014年的情况, 两个部分的图均可按月分为12个区, 各区中的每一列表示某一周的情况, 各列中每1个小方块表示1天, 方块中的颜色表示PM2.5的浓度, 深红色表示PM2.5最高浓度水平, 深绿色表示PM2.5最低浓度水平。

图2 广州市2013-2014 年PM2.5日均浓度(μ g/m3)日历热图

从日历热图上, 通过对不同月份的比较, 可以看出1月和12月的PM2.5浓度明显高于6月和7月; 通过对2013年和2014年的情况进行比较, 可以看到2014年12月明显低于2013年12月, 说明2014年12月的空气情况相较上年有所改善。此外, 还可以清楚地看到同一月份, 甚至同一周里面, 哪几天PM2.5的浓度更高, 比如2013年4月15日的PM2.5浓度在同一月份里最高, 2013年12月10日的PM2.5浓度在同一年里最高等。同样, 我们还可以观察哪些天PM2.5浓度超标。根据我国《环境空气质量标准》[7], PM2.5二级浓度限值为24小时平均75 μ g/m3, 故图上标为橘黄色和红色均表示超标。从图2中可看到, 除了5月至9月, 其他月份空气PM2.5浓度均出现不少超标天数, 尤其是冬季超标天数最多, 超标情况最严重, 可见广州空气状况并不乐观, 尤以冬季为甚。

然而, 这些信息在线图上均无法直观地获得, 故对公共卫生监测数据进行日历热图的可视化, 比普通线图揭示了更细致的信息。对于科研人员, 可以直观地发现一些规律, 为进一步深入分析提供线索。对于普通大众, 可以基于预测模型形成的预警热图了解某事件风险水平, 提前采取防护措施。

1.2 个体化监测

医院每天会对住院患者的体征如血压、脉搏等进行测量, 近些年兴起的便携式监测工具如运动手环、动态血压监测仪等可自动记录人体每天的健康信息。对这些逐日连续监测的健康信息进行可视化, 可帮助医护人员进行诊疗决策, 亦可让普通大众直观地了解自己的健康状况。特别地, 对于慢性病患者, 基于连续监测的医学指标进行直观展示, 可对其病情的控制和管理起到指导作用。

此处以某位服药控制的高血压患者2014年由便携式动态血压监测仪记录的收缩压为例, 绘制日历热图(图3)。收缩压值为24小时收缩压平均值, 如前所述, 图中每个小方块代表一天, 颜色深红代表收缩压最高, 深绿代表收缩压最低。从日历热图可以清楚地看到患者6月、7月、8月、9月的收缩压明显低于其他月份, 而12月、1月、2月、3月的收缩压则较高。对此, 若结合日历所对应的季节来分析, 是比较容易找到其生理学依据的。人体血压存在季节变化性, 呈现夏天低, 秋冬高的规律[8]。秋冬季节, 尤其是冬季, 气温低, 冷刺激导致交感神经活性增高, 且肾脏排钠负荷增加, 故血压增高。秋季是脑卒中高发季节, 原因确与血压的骤然上升有关[9]。日历热图上血压较低的6月、7月、8月刚好是炎热的夏季, 从秋季起血压逐渐开始上升, 而血压较高的12月、1月、2月则是寒冷的冬季。

图3 某高血压患者2014 年动态收缩压(mmHg)日历热图

进一步观察日历热图可见, 患者血压在1月与2月的交界处出现骤然上升, 尤其是1月30日与1月31日相差较大。结合日历信息分析, 2014年1月30日刚好是传统节日除夕, 之后是春节, 很可能由于患者在除夕夜和春节期间不注意饮食控制, 摄入大量高脂、高能量食物, 导致血压波动。从2月份往后, 血压逐步回落, 在8月份时收缩压基本稳定在130 mmHg左右, 接近24小时动态血压正常标准(收缩压≤ 130 mmHg)[10], 说明这段时间血压得到有效控制。此外, 仔细观察还可发现, 6月6日和9月 24日患者血压出现了异常的升高, 可能是患者当天外出应酬、饮食过量, 也可能是工作劳累、精神紧张等造成。

高血压患者通过观察到自己血压的日历热图, 可以清楚地看到当前控制措施的效果, 从而为患者的起居、行为提供持续的反馈, 激励患者坚持有效的措施, 减少不良行为。同时, 热图的变化规律也提醒患者, 在夏秋之交应注意控制饮食, 以清补为主, 避免造成血压剧烈波动; 在春节期间更应关心血压情况, 在食物选用方面可多加注意, 多食用低脂食物。对于医护人员来说, 日历热图可为诊疗决策提供重要信息, 比如冬季期间降压药的用量可适当增加[11]

总之, 个性化监测数据的可视化日历热图可为个体提供重要信息, 若能将日历热图应用于便携式监测仪或手机APP的动态监测, 对已收集的数据进行可视化, 呈现给患者或医护人员, 在健康管理和慢性病诊疗方面将能起到很好的促进效果。

2 软件实现

当前, 开源软件R已有程序包可用于绘制日历热图, 为其在医疗卫生中的应用和推广提供了便利, 以下给出实现日历热图的R程序[12], 见表1

表1 R 程序及其说明

实际应用中, 只需导入数据, 加载相应的程序包和函数源代码, 即可调用calendarHeat函数进行绘制。若想绘制个性化的日历热图, 如修改字体、自定义调色板等, 可根据需要对calendarHeat函数的源代码进行修改, 只要具备R语言编程的一般基础就能轻松实现。此外, 还可用openair程序包或ggplot2程序包进行绘制。

3 讨论

相较于线图将时间作为横坐标, 日历热图则将时间分解为年、月、周、日多个组成部分, 同时在二维平面上进行展示, 并通过颜色来表示观测值的大小, 详细直观地表达数据的信息。如前所述, 日历热图能有效地呈现动态数据, 可应用于包括公共卫生监测和个体化监测在内的各类医疗卫生实践中。在公共卫生领域, 可帮助研究人员分析规律, 从而为社会大众提供预警, 或形成针对性的干预措施。在个体诊疗方面, 可帮助医生进行诊疗决策, 还可为慢性病患者的健康管理提供持续反馈。

此外, 除了本文所介绍的对定量时间序列进行呈现, 日历热图还可用于定性时间序列, 只需将监测结果的不同状态表示为不同的颜色。相比于线图只能用于定量数据, 日历热图无疑适用范围更广。

国内目前对于热图的应用较少, 但随着大数据时代的到来, 大量的高质量动态数据需要进行信息挖掘, 日历热图不仅是合适的可视化工具, 还是对数据进行探索性分析的有效途径, 可表达丰富的信息, 并为随后的深入挖掘提供线索, 其在医疗卫生领域将具有广泛的应用前景。

The authors have declared that no competing interests exist.

参考文献
[1] 赵志, 周倩, 张晋昕. 时间序列分析方法及其进展[J]. 中国卫生统计, 2015, 32(6): 1-3. [本文引用:1]
[2] 张晋昕. 医学时间序列分析及其预测应用相关问题的研究[D]. 第四军医大学, 2000. [本文引用:1]
[3] 方积乾. 生物医学研究的统计方法[M]. 高等教育出版社, 2007. [本文引用:1]
[4] 张唯诚. 为什么我们对颜色如此敏感[J]. 科技潮, 2005, (1): 48-49. [本文引用:1]
[5] 杨微, 刘纪平, 王勇. 基于Heatmap的地理对象空间分布热度计算方法[C]. 第四届“测绘科学前沿技术论坛”, 兰州: 2012. [本文引用:1]
[6] 詹思延. 流行病学[M]. 第7版. 北京: 人民卫生出版社, 2012. [本文引用:1]
[7] 环境空气质量标准[S]环境空气质量标准[S]. 中国环境科学出版社, 2012. [本文引用:1]
[8] 黄兰, 曹平良, 李年娥, . 血压季节性变化的研究进展[J]. 实用临床医学, 2016, 17(4): 98-100. [本文引用:1]
[9] 苏海. 血压的季节性变化[J]. 中华高血压杂志, 2009, 17(10): 880-883. [本文引用:1]
[10] 陈军, 刘喜林. 24小时动态血压参数正常参照值的研究[J]. 岭南心血管病杂志, 1999, 5(2): 118-120. [本文引用:1]
[11] 张洪军. 冬来高血压患者用药量要适量增加[J]. 药物与人, 2012, (12): 26-27. [本文引用:1]
[12] Mittal H. R Graph Cookbook[M]. Packt Publishing, 2011. [本文引用:1]