楼主: lianqihappy
1741 0

[实际应用] 浅谈医学大数据(转) [推广有奖]

  • 0关注
  • 22粉丝

教授

1%

还不是VIP/贵宾

-

威望
0
论坛币
3130 个
通用积分
1.0061
学术水平
59 点
热心指数
50 点
信用等级
44 点
经验
12628 点
帖子
467
精华
3
在线时间
90 小时
注册时间
2015-3-13
最后登录
2016-8-29

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

医疗大数据的爆发

    早期,大部分医疗相关数据是纸张化的形式存在,而非电子数据化存储, 比如官方的医药记录,收费记录,护士医生手写的病例记录,处方药记录,X光片记录,磁共振成像(MRI)记录,CT影像记录等等。
随着强大的数据存储,计算平台,及移动互联网的发展,现在的趋势是医疗数据的大量爆发及快速的电子数字化。以上提到的医疗数据都在不同程度上向数字化转化。
    有报告显示,2011年,单单美国的医疗健康系统数据量就达到了150EB。照目前的增长速度, ZB(约1021GB)和YB(约1021GB) 的级别也会很快达到 (IHTT, 2013)。Kaiser Permanente,一个在加州发展起来的医疗健康网络系统,就有9百万的会员,被认为拥有26.5到44PB的电子健康记录 (IHTT, 2013)。
IT时代涌现的还有各种网络社交媒体数据,比如曾经Google用来预测流感的数据。基因数据也是非常庞大的存在,一次全面的基因测序,产生的个人数据则达到 300GB (Leah, 2014)。公开发布的基因DNA微阵列达到50万之多,每一阵列包含数万的分子表达值。在生物医药方面,功能性磁共振影像的数据量也达到了数万TB级别,每一幅影像包含有5万像素值 (Fan, Han, & Liu, 2014)。
    此外,各种健身,健康可穿戴设备的出现,使得血压、心率、体重,血糖,心电图(EKG)等的监测都变为现实和可能,信息的获取和分析的速度已经从原来的按“天”计算,发展到了按“小时”,按“秒”计算。比如,一家名为Blue Spark的科技公司已经生产出能24小时实时监测体温的新型温度计贴片temptraq。
    这种数据的扩展速度和覆盖范围是前所未有的,数据的格式也五花八门,可能是无格式文件(flat file),CSV,关系表,ASCII/纯文本文件等等。
    同时,数据的来源也纷繁复杂,可能来自不同的地区,不同的医疗机构,不同的软件应用。不可否认,一旦理顺了多格式,多源头,呈爆炸性成长的大数据的整合和分析,医疗大数据将对提高医疗质量,强化患者安全,降低风险,降低医疗成本等方面发挥无与伦比的巨大作用。
数据分析框架
    医疗大数据有着前面第一节提到的所有特征。在医疗大数据带来各种优势的同时,大数据随之带来的各种特性使得传统的数据处理和数据分析方法及软件捉襟见肘,问题多多。在大数据时代出现之前,受限于数据量的可获得性和计算能力的有限性,传统的数据管理和分析采用着不同的思路和流程。传统上,对于问题的研究建立在假设的基础上进行验证,进而研究事物的相关因果性,希望能回答“为什么”。
    而在大数据时代,海量数据的涌现提供了从不同角度更细致更全面观察研究数据的可能,从而打开了人们的好奇心,探索欲望,人们想知道到数据告诉了我什么,而不仅仅是我的猜想是否被数据验证了。人们越来越多地用大数据挖掘各种感兴趣的关联,非关联等相关性,然后再进一步比较,分析,归纳,研究(“为什么”变成一个选项而不是唯一终极目标)。大数据与传统数据思路上的不同导致了分析流程的不同,如图一所示:
图一

    面对海量的数据和不同的分析思路,大数据的管理和分析与传统数据分析的差异日益加大。回答特定问题的单一预设结构化数据库明显不能完全胜任处理大数据的海量及混杂等问题。数据的混杂多样性具体可以从一些调查数据中表现出来。SAS的一份调查报告显示机构内的非结构化数据最多可以占到总数据量的85%,而这些非数字,非结构化的数据却必须被量化分析和用到决策分析中 (Troester, 2012)。
    另一份2013年进行的SAS调查报告显示在461个提供完整反馈信息的机构中只有26%的机构表示他们所拥有的大数据是结构化的 (Russom, 2013)。 此外,在机构中,分析的数据一般不会只有一个单一的来源。Alteryx的调查报告显示在200家被调查的机构中只有6%的机构表示他们的数据是只有一个来源,最为普遍的情况是5-10个来源,具体分布如图二 (Alteryx, 2014)。
调查中还显示90%的被调查样本表示有数据整合问题,37%表示需要等其他小组提供数据,30%表示不能得到他们想要的数据,一般估计是一个数据分析师的60%到80%的时间是花在数据处理准备阶段上的 (Alteryx, 2014)。
图二

    由此可见有效的数据管理,数据库建立及数据分析流程的重要性。传统的数据管理的过程包括抽取(Extraction),转换(Transformation)和载入(load)。通过ETL,可以赋予数据一种合适恰当的结构用于特定的分析发现。具体数据准备分析流程如图三所示:1)抽取单个或多个来源的数据 。2)净化,格式化,标准化,聚合,添加,或遵循其他特定的数据处理规则。3)载入处理完的数据到特定的数据库或储存为特定的文件格式。4)采用各种方法进行数据分析。
图三

     ETL的中心内容仍旧适用于大数据,但由于大数据的大量性和多样性对数据库和数据管理及处理方法的要求越来越高,也越来越复杂,这样线性处理整个数据变得相当耗费人力,物力,和时间。
    此外,大数据的快速性,易变性也使得把数据储存在单一的中央数据库变的不太可行。 在这种情况下,最流行的思路是把数据分割处理,也就是把数据储存到多个储存节点(比如网络数据库),在每个节点单独处理数据(甚至处理完就接着进行初步分析,但处理的程度依客户具体问题而调整),然后再汇总整合到一起,提供给单个或多个数据库,接着根据需要选择合适的分析方法获取有用结果。ETL贯穿于整个大数据管理分析的流程中。图四演示了大致的大数据管理分析流程及一些大数据处理分析平台工具的名字。
图四

    SAS的数据仓库研究院(TDWI)针对现今存在的大数据处理分析平台工具进行了一项调查以帮助人们在选择软硬件进行大数据分析时能做出更好的决策。针对大数据技术,特点,和使用者操作,调查提供了三个选择:1)现在使用中,并且会继续使用。2)会在三年中开始使用。3)没有计划使用。图五左侧显示了对于各种大数据分析平台工具,被调查人员的回复比例。图五的右侧显示了平台工具可能的潜在成长和对采用此工具做出承诺的被调查人员比例。
图五

    根据潜在成长和承诺的综合考量,此调查还进一步把大数据分析平台,工具分成4组:第一组为适度的承诺,中度到强的成长潜力;第二组为中度至强有力的承诺,适度增长潜力;第三组为弱到中度的承诺,适度增长潜力;第四组为中度至强有力的承诺,弱增长潜力。图六显示了这些组别的内容分布。限于篇幅,本文不详细介绍所列的每一平台工具的具体内容,感兴趣的读者可以参考文献获取更详细的介绍。
图六

    图五和图六都显示了最流行的平台和数据处理方式为开源免费的Hadoop和MapReduce。伴随着他们的潜在成长和承诺程度,可以预见,Hadoop和MapReduce正在并会继续推动和促进大数据的处理和应用。
    在此,我们简单介绍一下Hadoop和MapReduce的概念。Hadoop是一種基于Java的分散式数据处理框架。它可以提供对储存在多个硬件设备上的数据进行高吞吐率的读写。更重要的是,它对大数据具有高容错性 和对并行应用程序的高可用性。Hadoop框架结构由若干名字节点(NameNode)和数据节点(DataNode)组成。一份数以万计,百万计的大数据文件会被分割成更小的文件信息块储存在多个数据节点里,可以是任何计算机硬件设备。
    有关这些文件的数据属性资料信息称作metadata则被存储在名字节点里(NameNode). NameNode主要管理文件系统的命名空间和客户端对文件的访问操作记录。Hadoop的框架结构如图七:
图七

    当访问和操作数据文件时,客户端会联系名字节点提取文件信息块的属性信息比如位置,文件名等。然后根据这些属性信息,客户端直接从相应的数据节点同时读取数据块。Hadoop本身具有冗余和复制功能,保证在单个硬件储存设备出现故障时数据仍旧能被恢复而没有任何损失,比如每个数据节点默认拥有3个备份之类。
    此外,在有新数据节点添加到框架中时,Hadoop还可以自动平衡每个数据节点的数据载有量。同样,名字节点也可以拥有冗余和复制功能,用于在单个储存数据属性信息的名字节点出现故障时可以恢复相应的数据属性信息。
    MapReduce则是一种可以用来并行处理大数据的编程模型。同一程序在Hadoop的框架下可以用各种不同的语言(Java,Ruby,Python等)按MapReduce的编程模型进行编写和运行。其关键就在于三个词: map,reduce, 和并行处理。我们通过一个例子来理解MapReduce的大致工作原理。比如我们有一30个字的字符串“开落花缠落花绕缠开绕笑瓜夜村村舍舍瓜夜藤绕下下藤绕嬉嬉笑娃娃”,任务是计算每个字出现的次数。
    最简单的方法是按序读取每一个字建立标识索引并计算出现的次数值存入内存,如果是新字,值为1,如果是出现过的字则次数值累加上去。此种方式是按串行的方式进行的,所花的时间会随着字符串的长度和复杂度程线性增长。当字符串是以万计百万计时,比如基因组数据,所花的时间将是相当惊人的。 并行处理则能节约相当多的时间。
    我们先把原文件分割到几个小文件块,然后对每个小文件块进行字的标识索引和附加数值(这儿不进行累计,只是简单的单次点数),然后再排序重组把相同字放在一起,然后我们再用缩减法计算出字及其相应的出现次数值。图八显示了具体的例子步骤:
图八

数据异质性(heterogeneity)
    数据异质性,可以简单理解成一个大样本数据里有很多小样本,每个小样本有着不同的数据特征,比如小样本的平均值有高有低,离散程度有密有疏,就好象海洋中有着不同温度,不同密度的各种洋流一样。我们不能简单的只在大样本的层面进行统计分析,这样得出的结果如果被用于对小样本或样本中的个体的估计或预测时就会出现偏差,因为每个小样本可能有着一些它自己独特的特征。
    在数据样本小的时候,里面的小样本相应的就更小。 这种情况下小样本里的数据记录可能只有一,两个,它们只能被当作异常值处理,无法分析。而在大数据里,这种具有独特特征的数据记录收集出现多了,就拥有了被统计分析的条件,从而使我们更好地探究特定因素的关联性,理解这些数据异质性。比如有些只在特定人群里发生的极其罕见的疾病,大数据使我们得以研究发病原因,发病风险因素;理解为什么有些治疗方法对某些人群有利,而同样的方法对另一人群却有害,等等。
同样,由于海量样本和巨多的因素存在于大数据里,信息的复杂度也会增加不少,受复杂度的影响,可能导致统计上的过度拟合(overfitting)。过度拟合就是指我们建立了一个复杂的统计模型,它能很好的描述现有数据的情况,但当我们想把这模型应用到预测新数据时,它的表现却相当差。比如图九所示:
图九

图九左边上的曲线是我们针对蓝点(当作现有数据)做出的模型,基本上能很好的描述蓝点的分布及曲线和蓝点的吻合度较高。用这曲线去描述黄点(当作新数据),吻合度也还不错。图九右边的曲线则完全通过了每一蓝点,吻合度极高,完全描述了蓝点的复杂特性。然而,它在描述黄点时,吻合度就差多了,偏差就比左边的曲线大不少。简单来说,数据越复杂,需要考虑的因素越多,建立普遍有效的统计模型的难度就越大。
偏差识别(Bias accumulation)
     分析数据时,我们需要估计或测试很多参数用以建立可靠的统计数据模型。期间不可避免会产生偏差,这些估计中产生的偏差积累,很大程度上受着数据量大小及参数多寡的影响。 在一般小数据时,这问题可以并不显著。但在大数据的情况下,这问题就变的相当值得注意。 我们用一简化的例子来说明这个问题。
假设我们有两组数据A和B,A组数据收集估算时没有偏差,所有样本数值都为1000。B组数据,实际所有样本数值也是1000,但存在偏差,而且偏差随收集样本量的增加呈指数式成长(为了说明情况,偏差指数式成长是一个很极端的例子)。每增加一个记录,偏差增长公式为:

    这样B组第一个记录包含偏差为1.001=1.0011. B组第一个值为1000×1.001=1001. B组第二个记录包含偏差为1.002001=1.0012. B组第一个值为1000×1.002001=1002.001. B组第十个值为1000×1.01004512=1010.045.这样如果是小数据n=10, A组数据其实和B组数据比起来相差是不大的。B组内的每一个数字增加的偏差不足以引起注意,如果2%以内的偏差都可以接受的话。

然而当我们收集了1万个数据记录后,情况就发生了很大的变化。我们来看最后10个数据相差情况已经相当相当大了。

    A组数据和B组数据,在拥有海量的数据样本的情况下,相差已是十万八千里了。图十显示了偏差随样本量增加的变化情况。在样本数量为4236左右,偏差的增加还不明显。一过4236,偏差则出现了惊人的增长。
图十

所以依此为判断的话,我们可以说在数据样本量4000左右,A组和B组比较,差别可能不大。但数据样本量大于4000以后,A组和B组比较,可能就会相当不一样了。这个例子充分说明了大数据相比较小数据而言对数据偏差更容易进行识别,从而发现数据收集过程中的问题并加以改善。
虚假相关(spurious correlation)
    虚假相关,我们用一个例子来加以解释说明。这儿还是以前面提到过的心血管数据为例。现在只收集了200个记录,但每条记录都有100个各方各面因素的信息。这样,我们想看是否这100个因素和“是否有心血管病”相关。如此,我们进行两两检验测试: 是否有心血管病和因素一进行检验,是否有心血管病和因素二进行检验……是否有心血管病和因素一百进行检验。
每一个检验测试结果只会出现两种情况: 统计学上有意义和统计学上无意义。
统计学上有意义,简单来说就是认为心血管病和该因素有关。统计学上无意义就是认为心血管病和该因素无关。 在此过程中,你可能发现,大约会有5次在统计学上被认为与心血管病相关的因素,实际上从常识和现实来判断是没有任何关联的,也就是说统计学上有意义是错误的。这就是虚假相关。
    也就是说,如果实际不存在相关性,我们允许100次假设检验中出现5次错误相关。这就是以上例子中出现虚假相关的原因。 在面对庞大的海量数据和超多维度的因素时,当同时对一个数据进行许多检验测试时,不可避免会出现虚假相关。如何处理这个问题,统计学上还在做着进一步的研究。
无意义显著性(meaningless significance)
     还有一种情况我们称为无意义的显著性 (Lin, Lucas, & Shmueli, 2013)。当我们做两组数据的分析比较时,如果A组,B组各只有1000个数据记录,我们测试两组数据的平均值是否一样,结果告诉我们统计学上无意义。也就是说,这两组数据的平均值无统计学上的差异。但当数据记录达到上万上百万时,测试的结果告诉我们统计学上是有意义的了。
这又是怎么回事?我们回到源头上去看,为什么要做两组数据的统计分析比较?不可以就算出两组的平均值,比一比他们是否相同吗?当然不可以,因为我们真正希望分析比较的结果是能够反映100%总体数量数据的客观现象。单纯孤立的比较两组各1000个记录的平均值,就是比大小,比出来的结论不能推广到100%总体数量数据的客观现象上。
但这两组数据等同于100%总体数量数据吗? 当然不是,就算是海量的大数据也并不能100%等同于总体数量数据。这样我们分析总结出的这两组数据的一些统计指标就会和总体数量数据的统计指标有一定的偏差。这个偏差一般有一个下限和上限,我们称为置信区间。真实的总体数量数据的统计指标就落在样本数据统计指标的左边或右边的一定范围内(置信区间)。
好了,我们实际要看的是A组总体数量数据和B组总体数量数据在平均值上是否一样,换种说法就是A组总体数量数据平均值减B组总体数量数据平均值是否等于零: 。现在我们只有A组样本数量数据平均值和B组样本数量数据平均值,表达符号就是和。要看的就是A组样本数量数据平均值减B组样本数量数据平均值的差值是否等于0: 但我们已经知道由于样本均分差的存在,样本平均值相减的差值不一定是零,而且这个差值有一定的置信区间。
那么我们实际上更精确的说是看0是否落在样本差值的置信区间内(置信区间的上限和下限和上面提到的第一统计错误率是相一致的,有一个5%的概念在里面,这儿就不详细介绍了。反正是否落在置信区间里否也可以用来判断统计学上是有意义还是没有意义)。落在里面我们就说是统计学上是没有意义的也就是两组数据的平均值是一样。不落在里面我们就说是统计学上是有意义的也就是两组数据的平均值不一样。如图十一所示:
图十一

    那为什么在样本数据量为1000和 上万上百万的情况下结果会不一样。这儿我们进一步要讲的就是样本数量和置信区间之间的关系了。随着样本数量的增加,样本差值会和真实的总体数据差值接近(不一定就是0哦),同时不确定性会减小,置信区间会缩短,其实就是估计的差值越来越精准了。这种情况下,就算样本差值是非常接近0的一个数(就是说我们都觉得两组数据的平均值是一样的了),但是由于置信区间的缩小,0仍旧会落在置信区间的外面(如图十一,下部分2所示)。
这样一来,结果就会是统计学上是有意义的:两组数据的平均值是不一样的。现有的统计方法运用在大数据时会带来这样的一种错误信息。这是因为现有的传统统计方法是针对小数据的,在被提出的时候,还没有面对过或想到数据量可以如此庞大。如何解决如何改进由于这样的数据特性带来的问题,我们还在研究的路上。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:大数据 significance accumulation correlation Extraction 移动互联网 Google 处方药 磁共振 X光片

本帖被以下文库推荐

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-30 21:59