引用本文: 徐海鵬, 董沖亞, 閻小妍, 姚晨. 手機健康管理類應用縱向大數據管理與統計分析. 中國循證醫學雜志, 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種類繁多,所介紹的方法可能無法適用于所有情況。
本研究得到了互聯網公司團隊、數據及統計團隊、臨床團隊三方的支持。為了更好地將這一類數據加以合理的利用,提高數據質量和信息量,以獲得更有價值的產出,需要臨床團隊進行頂層設計,互聯網公司提供研究人群和研究平臺,數據管理和統計團隊提供相應技術支持。這種跨領域多學科合作形式需要進一步深化和加強。