1700510112
数据科学家养成手册 16.5 分析的内涵
1700510113
1700510114
数据分析工作在不同的单位是由不同岗位、不同职种的人员完成的,有的分析工作是在做统计的时候就已经嵌入算法当中了,而有的分析是在一般性的指标统计呈现在报表或者文件中以后,通过其他辅助分析软件和人的阅读判断来进行。这两类分析工作都是分析,但分析应该放在哪个环节更为妥当,分析工作应该由什么样的人来完成更为合适呢?是由偏重业务(具体场景)的人来做,还是由数学超牛的“大拿”们来做呢?我想,如果我们能够理解分析的内涵和实质,这个问题不难解答。
1700510115
1700510116
说到分析,究其本质,就是通过对事物的感知及对比、类比、推测、反证等各种研究方法得到事物规律的过程。既然如此,凡是帮助人们逼近事物规律的认知过程都应该算作分析,或者说,凡是有助于消除不确定性的与数据互动的行为都应该算作分析——我认为这么说绝对不夸张。所以从这个角度来说,程序员在数据库里进行的各种加和值、平均值、方差、数量的计算工作,都应该算是整个分析工作的一部分。不过,通常没有人把这些已经得到广泛应用的认知方式算作分析,因为它太“直接”,没有通过复杂辩证去伪存真的过程——含金量太低。
1700510117
1700510118
按照这种“含金量”的说法,目前获得普遍认可的有意义的分析工作是什么呢?从目的出发,大致可以分为以下几种。
1700510119
1700510121
16.5.1 相关性分析
1700510122
1700510123
相关性分析是所有分析里最常见的一种,也是在日常生产中使用最普遍的一种。这种分析的目的就是通过事件或者数据发生的彼此连带程度来判断其相关程度。如果两个事件大概率前后发生或一起发生,就认为二者有关联性,或者说关联性较高;如果两个事件中一个发生的情况下会大概率抑制另一个的发生,则认为二者是负关联。
1700510124
1700510125
在这里我一直用的是“相关”、“关联”这样的词,而没有用“因果”。这也是不少刚入行的分析师容易在逻辑上犯的一个小错误——“相关”是否等于“因果”?答案很明确——不等于。
1700510126
1700510127
有这样一个案例(这个案例也出现在《爱上统计学》这本书中):“在美国中西部的一个小镇,一名地方警察局局长发现了如下神奇的规律,也即冰淇淋销量越高,犯罪率就越高;反之,冰淇淋销量下降后,犯罪率也跟着下降了。城市议员Joe Bob得知上述规律后,便兴奋地提出了他的政见,也即‘限制冰淇淋消费以便降低犯罪率’。朋友们应该能察觉,这想法甚是荒谬,可问题出在何处?原来,当气温逐步变暖后,会呈现白昼更长、门窗常开、衣着较少等现象,进而引发犯罪率的提升。不巧的是,冰淇淋销量也往往随气温同步变化。于是,两个本无因果关系的事件,却因数据上的极大相关性而凑在一块儿,被生硬解读后,冰淇淋也终于‘中枪’倒地。”
1700510128
1700510129
这类错把“相关”当成“因果”的事情其实用归谬的方法也能很快得到验证。在实践中,简单地说,就是把被认为是因果关系的两件事单独罗列出来,然后靠增大(提高)或降低(减小)“因”事件的程度来观察“果”事件对应的程度。当然,最好能够用量化的方式去观察。
1700510130
1700510131
在这种目的下,常用的分析方法很多,例如朴素贝叶斯算法、贝叶斯信念网络、Apriori算法等。这类基于统计的概率模型通常能够比较好地呈现关联关系,为我们的分析起到了很好的过滤作用。
1700510132
1700510133
朴素贝叶斯算法是一种典型的使用量化概率的方式计算事件之间关联程度的算法。在11.8.2节我们已经对朴素贝叶斯算法进行了比较详细的介绍,这里只说说对这个模型的理解。
1700510134
1700510135
例如,在全局范围内P(A)是一个值,但是P(A|B)比P(A)大,这说明在发生事件B的情况下,事件A更容易发生——至少观测到的结果是这样。还要说明一下:即使在这种情况下从数据层面去理解,同样不能下结论说事件A和事件B有因果关系,而只能说事件B与事件A正相关(如图16-11所示)。相反,如果P(A|B)比P(A)小,就说明在事件B发生的情况下会抑制事件A的发生,事件B与事件A负相关(如图16-12所示)。这里说的事件A或事件B都属于复合事件,例如事件A可以定义为多个事件的与或非关系,事件B也可以。
1700510136
1700510137
1700510138
1700510139
图16-11 正相关 图16-12 负相关 在任何一个BI或者大数据系统里都可以进行“无脑”式的相关性分析工作,并在正负相关性的基础上进行过滤,找到有趣的模式。这种试探性的认知方式使用极为普遍,而且建模容易,数据层面的证据充分,理解难度低,是大数据应用中一种很有效的分析方法。
1700510140
1700510142
16.5.2 预测分析
1700510143
1700510144
预测分析也是在分析实践中使用比较多的。预测分析通常是对历史性的多维度数据进行建模和拟合,然后通过拟合出来的模型对未来或过去但未知的数据进行推测。
1700510145
1700510146
预测分析从目的上来说带有比较明确的量化目标。从数据科学的角度看,预测分析的准确性本身同样是无法自验证的。所以,在使用数据进行验证的过程中,只能选择其中的一部分作为训练数据供拟合使用,剩下的部分则供验证使用。在实践中,训练数据与验证数据通常为4∶1或3∶1(抑或其他比例)。这种验证集存在的目的主要是避免在预测分析过程中产生过拟合现象。这种同样通过量化数据的归纳得到的预测模型,是用验证集数据的召回率和准确率来做评价的,只要召回率和准确率满足场景的需求,就是一个科学的模型,可以用来做预测分析。
1700510147
1700510148
在预测分析中,如果预测的目标是连续的数值,通常期望被表达成一个解析解与误差的形式;而如果期望被表达成一个离散的枚举类型,通常期望被表达成一个概率形式。基于这种目的,通常会应用线性回归、逻辑回归、支持向量机、决策树、随机森林、隐马尔可夫模型等算法或者深度学习的相关算法。
1700510149
1700510150
这些方法无一例外,都是用“已知”的训练集数据来做训练,把模型训练好之后,再用验证集验算的方法来确定模型的可靠性(主要是验证数据召回率和准确率是否达到业务需求)。召回率和准确率是衡量模型准确性时最关键的指标,也是用数据为模型的可靠性提供证据的唯一标准。不管训练模型的人是什么专业毕业、有什么工作经验、采用什么理论依据,最后只看这两个指标。进行模型改进的时候,也是看这两个指标是否都有明显提高。
1700510151
1700510152
当模型的可靠性满足业务需求以后,就要让其进行预测分析了。这个预测分析就是将一个待预测标签的向量放入模型,使其生成一个标签的过程,通常是对一个未知的未来状态的预计值。
1700510153
1700510155
16.5.3 其他分析
1700510156
1700510157
在日常生产中,相关性分析和预测分析作为两种主要的分析目的,涵盖了大多数分析场景。这些分析的结果通常可以直接用来指导生产,相对而言,指导的目的比较清晰,要么解释或找到隐藏的因果关系及关联关系,要么通过模型来进行一定的预判和猜测。
1700510158
1700510159
除此以外的分析目的则相对是泛泛而谈,没有想要找到或解决的具体问题和确切的认知目标。这种情况下会使用一些无监督学习或者半监督学习的机器学习模型进行处理,例如聚类、半监督回归等。这类学习通常以试探为主,在分析前对分析的结果不具有明确的倾向性和期望。
1700510160
[
上一页 ]
[ :1.700510111e+09 ]
[
下一页 ]