引用本文: 徐海鹏, 董冲亚, 阎小妍, 姚晨. 手机健康管理类应用纵向大数据管理与统计分析. 中国循证医学杂志, 2016, 16(8): 972-977. doi: 10.7507/1672-2531.20160149 复制
移动医疗是以智能手机为依托的电子医疗手段,用来记录、处理、分析和传递健康相关信息[1]。近年来,随着智能手机技术和用户量的普及和人们对自我健康管理的需求逐渐提升,各种类型的健康管理收集应用软件(APP)应运而生,包括健身、饮食、用药提醒等生活方式类健康管理,也包括具体疾病治疗管理如糖尿病、高血压、精神疾患等[2]。2015年初,中国医疗健康类APP已经达到2 000多款[3]。大量的健康相关信息汇集到APP开发者手中。这其中包括用户主动记录的如饮食、月经等数据,也包括各类传感器(如手机中的动作感应器,与手机关联的各类可穿戴智能设备等)记录的用户客观行为数据,比如走路、睡眠、心跳、体重等数据。有效利用这类数据将为医学科研提供新的思路和手段。国外已有APP开发者和科研机构合作利用此类数据进行医学科研,这其中比较知名的是苹果公司于2015年3月发布的ResearchKit系列APP,用以开展心血管疾病、糖尿病、乳腺癌等领域的科学研究[4]。首都医科大学宣武医院陈彪教授团队也参与了其中帕金森病APP的设计工作。目前鲜有科研机构利用国内的健康管理类APP的数据进行科学研究。本文从总结常见健康管理类APP数据特点出发,探索对于相同类型的大数据管理及统计分析的方法,并通过一个作者参与的研究实例,利用女性月经管理APP的数据,介绍具体操作流程和经验。
1 资料与方法
1.1 健康管理类APP的数据特点
1.1.1 一个横库与多个纵库的组合形式
健康管理类APP数据库常见的构成形式为一个横向数据库与多个纵向数据库的组合。横向库中保存用户的基本信息,以用户的性别、地址等类似数据构成,横库中常常包含用户的一些敏感信息,如姓名、电话、电子邮箱等。APP相应记录功能的每一个模块又对应着一个纵向数据库,其包含的信息为事件类型、数值、记录的时间。例如APP中体重记录模块会记录用户每次测量体重的具体数值和时间。该类数据为标准的纵向数据。横库和纵库通过用户的唯一编码进行关联。具体如图 1所示。

1.1.2 数据量大
健康管理类APP的数据量大体现在两个层面。第一层面为用户量层面,应用商店中用户量为千万级别的热门健康管理APP越来越多。第二层面为用户的记录层面,健康管理类APP记录的数据,尤其是客观记录的传感器数据,包括用户记录的走步、运动、睡眠等信息,单位用户本身的原始记录量是巨大的。而近年来,社交元素也加入到了健康管理类APP中,这也促使了这类APP吸引了大量用户进行长期的、详细的信息记录。
1.1.3 原始记录需进一步信息提取
这类APP所记录的原始数据往往不能直接被利用,比如用户记录的走步实际数据库中的原始数据为某一步伐发生的具体时间,用户记录的睡眠数据实际为睡眠开始时间、结束时间,某一时间段的深睡眠和浅睡眠的开始时间、结束时间。但进行统计分析时,原始数据需要进行进一步的信息提取,以获得符合统计分析目的数据,如每日步数,睡眠总时长等。
1.1.4 数据质量差
健康管理类APP的数据质量在不同的数据类型中有一定差异。例如实例中的女性月经管理数据和用户的膳食记录数据,均属于用户自报型数据。受本身数据收集形式所限,数据质量较差。而运动数据、睡眠数据这类被动收集的数据,数据本身来自于传感器的客观数据,因此质量较好。但其受该传感器所限,例如忘记佩戴、设备电量不足、佩戴方式不正确等,会导致实际记录到的数据并非完整的用户行为数据。另外,由于APP缺乏其他信息的辅助,对于异常数据,无法判断该异常数据是用户本身的状态异常还是由于错误记录产生。
1.2 健康管理类APP的纵向数据管理
1.2.1 数据脱敏与传输
利用APP中用户记录的健康相关数据,保护用户的隐私至关重要。APP数据库包含用户注册和使用过程中的敏感信息,如电话号码、电子邮箱、密码等信息。数据脱敏的目的就是将敏感信息去除,以保护用户隐私。此过程建议由APP开发者完成,数据完成脱敏后使用加密方式传输至分析单位。
1.2.2 原始记录的清理
对于原始记录的数据清理,采用的方法同常规数据的清理方式,主要去除缺失值、重复记录、异常记录等。
1.2.3 信息提取
最常见的信息提取方法为按照某一特定时间段对原始数据进行归纳汇总。例如通过对计步器的原始数据以天为单位进行计数,则可获得每位用户每天的走路步数。对用户饮食记录以天为单位进行归纳汇总,可获得用户每日的能量及营养素摄入。此外,特定研究中需要获得两个特定事件间隔时间,如通过用户睡眠结束与开始的时间差获得用户每日的睡眠时长,通过用户本月月经开始日期和上月月经开始日期的获得本次月经周期天数。具体数据库操作的方式为以用户为单位进行错位相减,具体操作见表 1。

1.2.4 二次数据的清理
原始数据经过适当方法进行信息提取得到二次数据后,对于二次数据采用类似的方法进行缺失值、异常值的清理。若发现的缺失值、异常值来源于原始数据异常,需对原始数据进行清理,并同时再次进行信息提取生成更新后的二次数据库。
1.2.5 筛选可靠用户数据与信息库合并
为保证数据的可靠性,建议在获得清理后的二次数据后,筛选出数据记录详实的用户。可限定所保留的用户最少记录条数,已筛选出相对活跃用户的记录,数据更可靠。将筛选后的数据(纵库)和用户信息库(横库)合并,在纵库里获得横库中的受试者信息。具体的数据管理过程如图 2。

1.3 统计分析方法
经过数据管理后的健康管理类APP数据符合如下特点:①数据为纵向大数据;②每位用户的记录次数和记录时间点不一定相同;③不同时点的观测值可能存在相关性。本类资料需根据数据类型的不同,对数值型资料可采用混合效应模型[5, 6],对分类型资料可采用广义混合线性模型和广义估计方程进行分析[7, 8]。
2 实例分析
2.1 实例数据介绍
本实例所使用的数据来源于某互联网公司开发的女性月经管理APP。该APP的核心功能是用户记录每月经开始日期及结束日期以获得下次月经的预测和提醒。用户每月定期记录月经开始事件(eventtype=1)及结束事件(eventtype=2)(图 3),APP实现月经周期的记录及预测。本研究使用的数据为该公司从注册用户的前100万活跃用户中随机抽选的15万用户,截至时间为2015年2月1日以前的数据。

2.2 数据管理过程与结果
通过两次月经开始的间隔获得月经周期的数据。最终数据管理的过程和结果见表 2、3。


2.3 统计分析过程与结果
数据管理所获得的用户月经周期长度为纵向大数据,且不同用户记录时点和记录次数不一定相同,本例采用混合效应模型进行数据分析。因变量是用户的月经周期长度,自变量为开始观测时的用户年龄、观察时间。由于女性本次月经周期长度与上次月经周期长度存在较强的相关性,因此采用一阶自回归结构[AR(1)]作为残差自回归矩阵的结构,模型及参数估计的结果如表 4、5。

由表 5固定效应的模型参数估计可知,时间的回归系数有统计学意义,时间与年龄交互项的回归系数“18~岁”有统计学意义,年龄别中除了“30~岁”,其他组别回归系数均有统计学差异。月经周期18岁后随着年龄别增大先变大后变小。时间因素有统计学意义,同一用户,月经周期长度也会随着时间变短,这可能与女性雌激素水平和卵巢储备功能下降有关[9, 10]。时间与年龄别的交互作用可知,随着年龄增大,月经周期随时间变化的幅度下降。

3 讨论
3.1 数据管理需做原始数据和二次数据的两步清理
由于移动健康管理APP记录的原始数据往往不能直接用于统计分析,因此需要对其进行运算或处理以获得可供统计分析的二次数据。因此,相应的数据管理也应采用“两步清理”的过程,针对原始记录和原始记录生成的二次数据均需要清理。且二次数据清理过程中若需要对原始记录进行再次清理,应重新运算清理后的原始数据,生成新的二次数据。
3.2 使用服务器或云计算
处理数十万用户数百万条的记录,将会对配置不高的计算机产生比较大的挑战。使用高配置的服务器去处理这类大数据将提高程序的运行效率。若不具备服务器条件,可考虑租用互联网云服务。在处理实例中的数据时,对于需要大内存,长时间运行的循环程序,笔者尝试租用的国内某网络公司的云计算服务,将程序运算托管到云服务器进行处理,获得了比较理想的使用效果,具体程序运行时间比较见表 6。

3.3 可疑数据一般直接做剔除处理
由于数据质量问题,需要对原始数据以及原始数据产生的信息数据均进行数据清理。由于无法判断异常数据是用户本身的状态异常产生还是由于错误记录产生,在大数据对于数据量有保障的前提下,将可疑数据直接做剔除处理,一般不对可疑数据进行矫正或填补,以最大程度保证剩余数据的真实性。也正因为此,对于该类数据的统计分析,除非APP中能鉴别异常数据为用户真实异常数据,分析应侧重于用户的正常数据。
3.4 局限性和总结
本研究通过对移动医疗健康管理类APP数据特点进行总结,提出该类型数据的数据管理和统计分析方法的建议,并通过一个女性月经管理APP实例具体展示实施过程,旨在说明可以通过特定的数据管理和统计分析方法处理移动医疗健康管理类APP纵向大数据,供科学研究。
实例中的APP数据量巨大,但由于APP并非针对科研设计,所以数据中包含的信息比较有限,仅包含月经开始、结束日期以及用户信息库中的年龄及地域信息。为了更有效地利用该APP本身庞大的用户群体开展更有针对性的科研,研究团队利用该APP向用户投放了三次问卷调查,主题分别为:女性生活习惯调查、更多的女性生活习惯、女性生理健康。在15天内共回收57 135份问卷。这种利用APP本身庞大用户群并以APP作为调查工具的模式值得继续探索和推广。研究在一定程度上将实例中介绍的方法外推至其他应用场景。但研究的局限在于健康管理类APP种类繁多,所介绍的方法可能无法适用于所有情况。
本研究得到了互联网公司团队、数据及统计团队、临床团队三方的支持。为了更好地将这一类数据加以合理的利用,提高数据质量和信息量,以获得更有价值的产出,需要临床团队进行顶层设计,互联网公司提供研究人群和研究平台,数据管理和统计团队提供相应技术支持。这种跨领域多学科合作形式需要进一步深化和加强。
移动医疗是以智能手机为依托的电子医疗手段,用来记录、处理、分析和传递健康相关信息[1]。近年来,随着智能手机技术和用户量的普及和人们对自我健康管理的需求逐渐提升,各种类型的健康管理收集应用软件(APP)应运而生,包括健身、饮食、用药提醒等生活方式类健康管理,也包括具体疾病治疗管理如糖尿病、高血压、精神疾患等[2]。2015年初,中国医疗健康类APP已经达到2 000多款[3]。大量的健康相关信息汇集到APP开发者手中。这其中包括用户主动记录的如饮食、月经等数据,也包括各类传感器(如手机中的动作感应器,与手机关联的各类可穿戴智能设备等)记录的用户客观行为数据,比如走路、睡眠、心跳、体重等数据。有效利用这类数据将为医学科研提供新的思路和手段。国外已有APP开发者和科研机构合作利用此类数据进行医学科研,这其中比较知名的是苹果公司于2015年3月发布的ResearchKit系列APP,用以开展心血管疾病、糖尿病、乳腺癌等领域的科学研究[4]。首都医科大学宣武医院陈彪教授团队也参与了其中帕金森病APP的设计工作。目前鲜有科研机构利用国内的健康管理类APP的数据进行科学研究。本文从总结常见健康管理类APP数据特点出发,探索对于相同类型的大数据管理及统计分析的方法,并通过一个作者参与的研究实例,利用女性月经管理APP的数据,介绍具体操作流程和经验。
1 资料与方法
1.1 健康管理类APP的数据特点
1.1.1 一个横库与多个纵库的组合形式
健康管理类APP数据库常见的构成形式为一个横向数据库与多个纵向数据库的组合。横向库中保存用户的基本信息,以用户的性别、地址等类似数据构成,横库中常常包含用户的一些敏感信息,如姓名、电话、电子邮箱等。APP相应记录功能的每一个模块又对应着一个纵向数据库,其包含的信息为事件类型、数值、记录的时间。例如APP中体重记录模块会记录用户每次测量体重的具体数值和时间。该类数据为标准的纵向数据。横库和纵库通过用户的唯一编码进行关联。具体如图 1所示。

1.1.2 数据量大
健康管理类APP的数据量大体现在两个层面。第一层面为用户量层面,应用商店中用户量为千万级别的热门健康管理APP越来越多。第二层面为用户的记录层面,健康管理类APP记录的数据,尤其是客观记录的传感器数据,包括用户记录的走步、运动、睡眠等信息,单位用户本身的原始记录量是巨大的。而近年来,社交元素也加入到了健康管理类APP中,这也促使了这类APP吸引了大量用户进行长期的、详细的信息记录。
1.1.3 原始记录需进一步信息提取
这类APP所记录的原始数据往往不能直接被利用,比如用户记录的走步实际数据库中的原始数据为某一步伐发生的具体时间,用户记录的睡眠数据实际为睡眠开始时间、结束时间,某一时间段的深睡眠和浅睡眠的开始时间、结束时间。但进行统计分析时,原始数据需要进行进一步的信息提取,以获得符合统计分析目的数据,如每日步数,睡眠总时长等。
1.1.4 数据质量差
健康管理类APP的数据质量在不同的数据类型中有一定差异。例如实例中的女性月经管理数据和用户的膳食记录数据,均属于用户自报型数据。受本身数据收集形式所限,数据质量较差。而运动数据、睡眠数据这类被动收集的数据,数据本身来自于传感器的客观数据,因此质量较好。但其受该传感器所限,例如忘记佩戴、设备电量不足、佩戴方式不正确等,会导致实际记录到的数据并非完整的用户行为数据。另外,由于APP缺乏其他信息的辅助,对于异常数据,无法判断该异常数据是用户本身的状态异常还是由于错误记录产生。
1.2 健康管理类APP的纵向数据管理
1.2.1 数据脱敏与传输
利用APP中用户记录的健康相关数据,保护用户的隐私至关重要。APP数据库包含用户注册和使用过程中的敏感信息,如电话号码、电子邮箱、密码等信息。数据脱敏的目的就是将敏感信息去除,以保护用户隐私。此过程建议由APP开发者完成,数据完成脱敏后使用加密方式传输至分析单位。
1.2.2 原始记录的清理
对于原始记录的数据清理,采用的方法同常规数据的清理方式,主要去除缺失值、重复记录、异常记录等。
1.2.3 信息提取
最常见的信息提取方法为按照某一特定时间段对原始数据进行归纳汇总。例如通过对计步器的原始数据以天为单位进行计数,则可获得每位用户每天的走路步数。对用户饮食记录以天为单位进行归纳汇总,可获得用户每日的能量及营养素摄入。此外,特定研究中需要获得两个特定事件间隔时间,如通过用户睡眠结束与开始的时间差获得用户每日的睡眠时长,通过用户本月月经开始日期和上月月经开始日期的获得本次月经周期天数。具体数据库操作的方式为以用户为单位进行错位相减,具体操作见表 1。

1.2.4 二次数据的清理
原始数据经过适当方法进行信息提取得到二次数据后,对于二次数据采用类似的方法进行缺失值、异常值的清理。若发现的缺失值、异常值来源于原始数据异常,需对原始数据进行清理,并同时再次进行信息提取生成更新后的二次数据库。
1.2.5 筛选可靠用户数据与信息库合并
为保证数据的可靠性,建议在获得清理后的二次数据后,筛选出数据记录详实的用户。可限定所保留的用户最少记录条数,已筛选出相对活跃用户的记录,数据更可靠。将筛选后的数据(纵库)和用户信息库(横库)合并,在纵库里获得横库中的受试者信息。具体的数据管理过程如图 2。

1.3 统计分析方法
经过数据管理后的健康管理类APP数据符合如下特点:①数据为纵向大数据;②每位用户的记录次数和记录时间点不一定相同;③不同时点的观测值可能存在相关性。本类资料需根据数据类型的不同,对数值型资料可采用混合效应模型[5, 6],对分类型资料可采用广义混合线性模型和广义估计方程进行分析[7, 8]。
2 实例分析
2.1 实例数据介绍
本实例所使用的数据来源于某互联网公司开发的女性月经管理APP。该APP的核心功能是用户记录每月经开始日期及结束日期以获得下次月经的预测和提醒。用户每月定期记录月经开始事件(eventtype=1)及结束事件(eventtype=2)(图 3),APP实现月经周期的记录及预测。本研究使用的数据为该公司从注册用户的前100万活跃用户中随机抽选的15万用户,截至时间为2015年2月1日以前的数据。

2.2 数据管理过程与结果
通过两次月经开始的间隔获得月经周期的数据。最终数据管理的过程和结果见表 2、3。


2.3 统计分析过程与结果
数据管理所获得的用户月经周期长度为纵向大数据,且不同用户记录时点和记录次数不一定相同,本例采用混合效应模型进行数据分析。因变量是用户的月经周期长度,自变量为开始观测时的用户年龄、观察时间。由于女性本次月经周期长度与上次月经周期长度存在较强的相关性,因此采用一阶自回归结构[AR(1)]作为残差自回归矩阵的结构,模型及参数估计的结果如表 4、5。

由表 5固定效应的模型参数估计可知,时间的回归系数有统计学意义,时间与年龄交互项的回归系数“18~岁”有统计学意义,年龄别中除了“30~岁”,其他组别回归系数均有统计学差异。月经周期18岁后随着年龄别增大先变大后变小。时间因素有统计学意义,同一用户,月经周期长度也会随着时间变短,这可能与女性雌激素水平和卵巢储备功能下降有关[9, 10]。时间与年龄别的交互作用可知,随着年龄增大,月经周期随时间变化的幅度下降。

3 讨论
3.1 数据管理需做原始数据和二次数据的两步清理
由于移动健康管理APP记录的原始数据往往不能直接用于统计分析,因此需要对其进行运算或处理以获得可供统计分析的二次数据。因此,相应的数据管理也应采用“两步清理”的过程,针对原始记录和原始记录生成的二次数据均需要清理。且二次数据清理过程中若需要对原始记录进行再次清理,应重新运算清理后的原始数据,生成新的二次数据。
3.2 使用服务器或云计算
处理数十万用户数百万条的记录,将会对配置不高的计算机产生比较大的挑战。使用高配置的服务器去处理这类大数据将提高程序的运行效率。若不具备服务器条件,可考虑租用互联网云服务。在处理实例中的数据时,对于需要大内存,长时间运行的循环程序,笔者尝试租用的国内某网络公司的云计算服务,将程序运算托管到云服务器进行处理,获得了比较理想的使用效果,具体程序运行时间比较见表 6。

3.3 可疑数据一般直接做剔除处理
由于数据质量问题,需要对原始数据以及原始数据产生的信息数据均进行数据清理。由于无法判断异常数据是用户本身的状态异常产生还是由于错误记录产生,在大数据对于数据量有保障的前提下,将可疑数据直接做剔除处理,一般不对可疑数据进行矫正或填补,以最大程度保证剩余数据的真实性。也正因为此,对于该类数据的统计分析,除非APP中能鉴别异常数据为用户真实异常数据,分析应侧重于用户的正常数据。
3.4 局限性和总结
本研究通过对移动医疗健康管理类APP数据特点进行总结,提出该类型数据的数据管理和统计分析方法的建议,并通过一个女性月经管理APP实例具体展示实施过程,旨在说明可以通过特定的数据管理和统计分析方法处理移动医疗健康管理类APP纵向大数据,供科学研究。
实例中的APP数据量巨大,但由于APP并非针对科研设计,所以数据中包含的信息比较有限,仅包含月经开始、结束日期以及用户信息库中的年龄及地域信息。为了更有效地利用该APP本身庞大的用户群体开展更有针对性的科研,研究团队利用该APP向用户投放了三次问卷调查,主题分别为:女性生活习惯调查、更多的女性生活习惯、女性生理健康。在15天内共回收57 135份问卷。这种利用APP本身庞大用户群并以APP作为调查工具的模式值得继续探索和推广。研究在一定程度上将实例中介绍的方法外推至其他应用场景。但研究的局限在于健康管理类APP种类繁多,所介绍的方法可能无法适用于所有情况。
本研究得到了互联网公司团队、数据及统计团队、临床团队三方的支持。为了更好地将这一类数据加以合理的利用,提高数据质量和信息量,以获得更有价值的产出,需要临床团队进行顶层设计,互联网公司提供研究人群和研究平台,数据管理和统计团队提供相应技术支持。这种跨领域多学科合作形式需要进一步深化和加强。