第2章
数据分析的理论、工具、模型
记得在我上研究生的时候,曾经有一位老师问我,什么是足球的“越位”?我很奇怪他为什么问这个问题,他说看世界杯转播老是在说越位,但他不知道啥意思。而我上大学的时候特别喜欢踢球,大学毕业之后也经常踢球,所以“越位”对我来说再简单不过了,只是没想到一位智力超群、知识渊博的大学老师却并不知晓,所以这件事给我留下了深刻的印象。那时我就明白了,原来我觉得简单不过的东西,若其他人未接触过,可能就未必知道。反之亦然,别人觉得非常简单的东西,我若未入门,有可能也不知道。都说隔行如隔山,也就是这个理儿。
之所以说隔行如隔山,那是因为每个行业都有其规定、规矩、基本概念和术语,行外人常常是摸不着门道的。数据分析也不例外,它也有自己的特色,下面就一起来了解一下。
2.1 基本概念和术语
2.1.1 基本概念
有关统计和数据挖掘的概念很多,以下拣选一些常用的基本概念进行说明。
1.统计与挖掘
“统计”,对于读者来说可能并不陌生,在“统计”、“挖掘”这两个概念中,可能大家往往会觉得“挖掘”更难理解。统计和挖掘最大的差别在于:统计是事先设想好的一个动作,然后去验证它。例如先假设销售收入和销售投入之间有关系,公司多投钱给推销人员去拜访客户,就能获得更多的用户和订单,销售收入就能上升,然后我们用统计的模型去验证它。
另外的一个例子是:社会大众都认为吸烟是导致肺癌的重要原因,然后大家找来了一些肺癌患者的相关数据,研究表明,同样是吸烟者,有的人得了肺癌,但是很多人却没事,并且一些从来不吸烟的女性也有得肺癌的。这样,大家慢慢开始怀疑肺癌和吸烟之间的正向关系。或者简单地说,对于这个例子,统计分析的结论是固定的:只有两种可能,一是肺癌和吸烟有关系,二是无关!
那么数据挖掘是怎么样的呢?
曾经有炒股票的大户给了我们很多数据,包括股票是否涨停、是否放量、前几天的各种指标,涉及KDJ、RSI、MACD等,客户希望我们帮他确定:具有什么样特征的股票是比较容易涨停的?这个需求怎么实现后面再说,这里想要说明的是,在分析这个数据之前,是没有“假定”的,我们不知道最后做出来的结果是什么样的。这就是数据挖掘,从大量的数据中通过各种方法找出隐藏于其中的信息。
2.平均值
平均值似乎是一个无须讲的东西,但是实际上在数据量大的情况下,平均值反映的是一个数据“应该”是什么。记得之前曾看过一份报告,说上海成年男性的平均身高是170.5厘米,那份报告的样本量是比较大的,实际上就是说上海男性的身高“应该”是170.5厘米。
3.标准差
如果说平均值反映了数据的“中轴线”,那么标准差就反映了数据的波动情况,也就是说数据是波澜不惊还是起伏不定。
“平均值+标准差”仿佛就是一对结义兄弟,焦不离孟、孟不离焦,我们经常用这个组合来衡量数据的变动范围,如图2-1(数据的平均值和标准差分布图)所示。
图2-1(附彩图)
4.正态分布
说起正态分布,我自己都有点犯难,因为正态分布是理论性比较强的,这本书的初衷是侧重应用而不是理论。不过正态分布实在是重要,它贯穿了统计分析的全过程,几乎无处不在,正态分布如同统计分析中绕不过去的一堵墙,因此还是需要解释一下。
理解正态分布,就从这个例子开始:90年代末的时候,移民还比较容易,那时很多人都选择了移民,那么,我们现在来看看当时移民到美国、加拿大的人过得怎么样吧!大致梳理了一下,得到如下结论:
❑ 混得好的:很少,应该说是极少数。在当地大企业里面做得不错,没几个;自主创业成功的,好像没有。当然这里说的自主创业是正儿八经的创业,开中国餐馆个人认为不算创业。
❑ 混得一般的:大多数,就是在企业里面有一个普通的职位,算不上有钱,但是温饱不愁。
❑ 混得差的:也是少数,有一些人回来了,或者在那边就是干司机、导游或体力活,这里丝毫没有瞧不起这些职业的意思,但是对于在国内受过良好高等教育的人来说,算是专业不对口吧。
简单地讲,就是混得好的和混得很差的都很少,大多数都是普普通通。
其实这种规律在工作和生活中大量存在,如果跟踪统计一下大学毕业生的发展情况,大致也是这样;老百姓的体重、身高、血压、血糖等的分布都是如此。这种规律就是我们经常提到的正态分布。
如果把这个规律稍微讲得形象一点,就是“两头小,中间大”,请见图2-2(数据的频率和正态分布图)。
图2-2
让我们简单地看一下正态分布的规律:
1)两边基本是对称的。
2)形状像一个倒扣的“钟”。
3)高峰在中间,越到中间,数据分布的概率越大,越到两边,概率就越小。
这个看上去很简单的正态分布,其实就是统计分析的重要基础,实际上很多统计规律都是建立在数据正态分布的基础上的。或者说,如果数据不是正态分布的,那么很多统计规律则是不成立的。
根据正态分布的规律可以得到,绝大部分(95%)的数据,是分布在居中的位置上的,只有很小概率的事件分布在正态曲线两侧,这个就是假设检验中的单侧和双侧,如图2-3所示。
图2-3
5.峰度和偏度
峰度和偏度算是数据分析中比较专业的概念了,峰度反映的是数据中极值的情况,请看图2-4峰度的数据。
图2-4
在图2-4中,极值是-10的时候,KURT函数结果为21.86,下面观察一下当极值范围在-10和10之间时,KURT函数的取值结果,如图2-5所示。
图2-5
从图2-5可以看出,当极值与原值的取值范围比较接近的时候,峰值会接近于0,而极值与原值的范围差距比较大时,峰度值会变大,但是无论是正极值还是负极值,峰度的最大值都是23左右。
偏度是衡量数据对称性的一个重要指标,EXCEL中对应的函数是SKEW,它用于比较对象正态分布曲线,如图2-6所示,这是一个左偏的数据图。
图2-6
在图2-6中,数据明显左偏,其偏度值为0.346,再来看看图2-7,这是一个右偏的数据图。
图2-7
在图2-7中,数据的偏度为-0.098,此时数据明显右偏。因此根据偏度值判断数据对称性的规则如下:
❑ 数据服从正态分布,偏度为0。
❑ 数据左偏,偏度>0。
❑ 数据右偏,偏度<0。
6.连续和离散
连续变量和离散变量是数据分析中经常碰到的概念,所谓连续变量就是一个区间里可以任意变化的量,例如国民收入在0~100万之间波动时,每一个值都是可以取到的;离散变量就是只能取很少数的几个值,例如性别,就是男和女;大气雾霾的等级是优、良、中、轻度污染、重度污染、爆表。
离散变量内部也有区分,图2-8所示为离散型变量的分类。
图2-8
二元离散量的例子很多,例如医生关心患者是否得病,“得病”和“不得病”就是二元离散的;企业关心客户的购买行为,“买”和“不买”也是二元离散的。
只要离散变量超过两个,就是多元的,在“多元名义离散量”这个概念中,“名义”这两个字其实挺难理解的,它的英文是nominal,意思是有多个变量,但是变量之间并没有明确的排序关系,例如企业品牌之间的关系,宝洁有飘柔、伊卡璐、潘婷、海飞丝等品牌,我们很难说这些品牌之间有明确的排序关系。再例如,在研究城市的经济发展时,北京、上海、南京、武汉、南宁这些城市之间,也很难说有明确的排序关系。
多元有序则不然,现在国内空气质量不好,考虑PM2.5指数,有“严重污染”、“中度污染”、“轻度污染”、“良”、“优”这五个档次,见表2-1。
表2-1 我国空气质量级别和PM2.5指数对应表
类似于表2-1这种有多个并且之间可以明确排序的变量就是多元有序。
7.因变量和自变量
因变量,一般指的是我们研究和关心的变量,自变量一般就是其发生变化后会引起其他变量变化的变量。
因变量和自变量说起来很容易,但是在实际的数据分析中,学员往往会容易混淆。
我在上课的时候,经常举到一个“销售收入和销售费用”的例子,并且提出了一个判断因变量和自变量比较简单有效的原则,即:时间上靠前的就是自变量,时间上靠后的就是因变量。在实际销售工作中,通常是先有销售费用,然后去推销,然后再有销售收入,因此销售费用是自变量,销售收入是因变量。
2.1.2 术语
如同数据分析的概念一样,数据分析的术语也非常多,以下我们挑选一些常用的术语给大家做一些介绍。
1.稳定性和波动性
稳定性和波动性是一对反义词,在数据分析的很多领域,我们都更关注数据的稳定性,比如,在工业生产领域,我们关心产品质量的稳定程度,都不希望产品质量一会儿好一会儿坏。同样,在教育领域,我们在评估教学质量时,不仅仅是关注相关指标的高低状况,也关注数据的稳定程度,例如学生对教学的评分忽高忽低,这里面一般是有问题的。关于数据的稳定性和波动性,在本书的第6章“数据扫描”中,有详细的叙述。
2.数据变形
在我们的工作中,经常会碰到数据中存在极值的情况,情况如图2-9所示。
图2-9
在图2-9中,6月份的数据属于极大值,这个极大值的出现导致了其他月份的数据被大大压缩(压缩在0~10000的狭小区域中了),这使得这些数据之间的相互比较变得比较困难,例如9月份和11月份的数据谁大谁小,单凭肉眼比较难以判断。
在这种情况下,我们就在想,是否可以把上述的数据进行一个变形,既保留原来数据的基本特征,然后也让数据之间的对比变得比较容易?这个技术就是数据变形技术。
关于数据变形技术,会在第14章“高级绘图技巧”中详细阐述。
3.分类汇总
要讲清楚分类汇总,首先要理解什么是明细数据和概要数据,请看图2-10。
图2-10
可以看到,图2-10是业务的明细数据,明细数据就是细节数据的体现,也就是说,产生了一条细节的统计数据,就记录下一条。不过在实际工作中,我们也经常关心汇总数据,例如我们往往关心:每周的销售数据是多少?每种销售渠道的销售数据是多少?这就是分类汇总数据。
4.数据透视
数据分析人员经常会说“这个数据要透视一下”,实际上就是用数据透视表的方式来看数据,虽然数据分析属于统计的范畴,但是EXCEL数据透视表在数据分析中使用的频率非常高。
5.相关分析
相关分析和关联分析是两个比较容易混淆的概念,不过都非常重要。相关分析反映的是在发生变动时,变量相互之间的“互动”关系,例如在增加销售投入时,我们会关心销售收入是否增长;或者在产品的成本上升时,我们关心产品的价格是否变动。
再强调一下,相关分析反映的是数据变动量之间的关系,而不是数据本身。
6.关联分析
关联分析在数据分析领域是一个特定的术语,这里先简单地介绍一下购物篮。大家都习惯了去超市时要拿一个购物篮或者推一个购物车,然后将要买的东西放在购物篮或者购物车里,那么超市的经营者往往会关心一个问题:顾客同时会购买什么东西?例如一个顾客购买了猪肉之后会不会买芹菜?买了牛奶之后会不会买鸡蛋?在知道了这些信息之后,超市的经营者能用来干什么呢?答案:他们可以做关联销售啊。如果知道顾客经常同时购买猪肉和芹菜,就可以做捆绑销售。
7.数据拟合
在解释这个概念之前,先看看案例文件2.6的数据,并且看看图2-11所示的销售收入和消费费用的散点图。
图2-11
如果希望知道销售收入和销售费用之间的关系,怎么办呢?我们的统计学家很聪明,他们就会想办法找到一条曲线,这条曲线能够把上面的散点基本上都“串”起来,见图2-12数据拟合中的趋势线。
图2-12
当然,这条曲线也有一个方程,找到这样的曲线及其方程的过程,就是曲线拟合。
8.假设检验
有人说,假设检验是统计学中的最基本的概念,个人基本表示认同,不过讲清楚假设检验,并不那么容易。
首先看一个生活中的例子,我们中的大部分人都是“外貌协会”的,看到相貌英俊的男人或者清秀美丽的女人,都会产生好感。不过帅哥美女一定是好人吗?未必!可能打过交道之后,你的印象会大大改观。
图2-13所示为人和人打交道的过程图,看到帅哥美女从而心生好感,就是“假设”,后面继续打交道,就是“检验”,合起来就是“假设检验”。
图2-13
那么如何检验呢?
先做假设,如果检验的结果跟其假设一致或者相差不多,那么就肯定之前的假设;如果相差太大,例如,假设A是个好人,结果我们发现他表面上看起来不错(是个影帝),但是实际上品质很恶劣,那么就推翻假设,请见图2-14假设检验。
图2-14
2.2 选择称手的软件工具
数据分析的工具有很多种(大约有十多种),每种都有其优势和长处,也有它的缺陷。根据作者的经验,还真没有一种工具软件能够包打天下。当然从逻辑上讲也应该是这样的,如果存在一个“万能”的软件,那么其他的软件肯定就要消亡了。
笔者基于自己的经验列出了常用统计分析软件的利弊对比,见表2-2。
表2-2 各种主流统计分析软件的优缺点分析
2.2.1 EXCEL
无论如何,EXCEL都是最基础的数据分析工具,绝大多数人都在使用EXCEL,起码在使用EXCEL来收集录入数据。
从专业分析的角度来看,EXCEL的分析功能太弱了:数据透视表的功能还不错,但几乎没有像样的“统计”功能,图形的功能也很弱。此外,虽然配备了数组等比较高级的功能,能够勉强地实现编程中“循环”的功能,但是数据量比较大的时候,EXCEL会变得很慢甚至不能忍受。
事实上,EXCEL是否够用,完全取决你手里的数据、你的需求。如果你手里的数据一般、需求也不复杂,EXCEL差不多能满足你的需求;如果你的需求很大并且需求复杂,那么EXCEL可能会让你失望。
2.2.2 VBA
个人认为微软Office成功的一大原因,就是将高级语言VB整合到了Office中,形成了VBA。VBA几乎可以做所有数据分析类的事情,有人将聚类、关联分析、主成分分析这些统计分析算法都用VBA实现了,因此VBA几乎无所不能。
VBA还有一个很大的优点是:EXCEL中运用VBA控制Powerpoint和Word,这又可以大大地提高工作效率,在EXCEL中运用VBA处理完数据后,可以直接生成相应的PPT和Word文件。
2.2.3 Access
Access是微软提供的一个“半专业”的数据库,之所以称其为“半专业”数据库,是因为相对于MySQL、Oracle这些专业数据库而言,它的专业性确实还不够。
Access在操作灵活性等方面远不如EXCEL,按照笔者个人的理解,ACCESS优势主要体现在以下三个方面:
1)相对于EXCEL,它的数据存储量提高了,准确地讲,ACCESS数据库最大可以存储2GB左右的数据,至于具体能放多少条,那就要看数据的复杂度了。
2)数据一致性检查方面,效率特别高,例如A表中有BOM料号“ABC123”,我们要检查关联的B表中是否有该料号,在数据量比较大的情况下,使用ACCESS非常高效。
3)多条件查询的效率很高,EXCEL几乎不支持多条件查询,而ACCESS几乎是为图2-15所示的多条件查询而生的。
图2-15
2.2.4 SPSS
SPSS是知名度最高的专业统计软件,据我所知,虽然现在做数据分析的人可使用多种分析工具,但SPSS通常是他们使用的第一款统计软件。
SPSS的优点和缺点都很明显,优点是界面美观、功能强大,缺点是界面做得很复杂,是一款比较复杂的软件,以至于一些使用SPSS多年的人都说“我就是在糊里糊涂地用”。
值得一提的是,IBM在收购SPSS之后,认为SPSS过于学术化,IBM想对SPSS进行改造以增加其“商业气息”,因此就搞出来一个“直销”模块(见图2-16),里面整合了几个比较有用的小工具,后面会有详细介绍。
图2-16
2.2.5 XLSTAT
XLSTAT是一个小软件,或者说是一个小插件,它是在EXCEL环境中运行的,请见图2-17。
图2-17
XLSTAT插件的好处不言而喻,由于跟EXCEL环境无缝整合,使用起来比较方便,能够实现大多数统计分析的功能,但是缺点也很明显,数据量一旦比较大,插件运行的效果就比较差。
因此,XLSTAT就是个小工具,不大能作为一个正规的统计分析软件来使用。
2.2.6 Modeler
Modeler的前身是美国著名的CLEMENTINE软件,现在也被IBM收购了,成为IBM软件的一员。Modeler是专业数据挖掘软件,它包含了关联分析等著名的数据挖掘算法,而这些算法是SPSS所不包含的。
Modeler的一个显著的优点是完全图示化,如图2-18所示Modeler的分析界面。
图2-18
个人认为,专业统计挖掘软件能够做到几乎完全图示化的操作,确实相当不容易,Modeler也受到了广大非统计挖掘专业客户的欢迎。
2.2.7 R语言
R是近年来快速发展的一个统计语言,个人认为其最大的好处之一就是开源,在商务上它是基本免费的,这对于广大用户尤其是中小用户来说是一个福音。
对于R的学习需要有一定的统计基础,R有很多开发好的统计包,如果对这些统计包很熟悉的话,你会发现R实际上有一个共享的机制,就是别人可能老早就把你要做的统计分析功能做好了,你只要直接调用就可以了,这就是一个很大的福音。
另外,R的绘图功能非常强,绝对是专业级的绘图功能。
2.3 在分析需求和模型之间搭起桥梁
我们在现实工作中面临的都是实际的需求,这些需求往往乍一看跟数据分析并没有多少关系,例如:
❑ 成本上升了,对价格如何影响?
❑ 如何降低物流成本?
❑ 工厂里面做实验,有的时候成功有的时候失败,原因何在?
❑ 来我这里购买的客户有哪些特征?
看到这里,读者可能大致明白了,所谓的数据分析,一开始就没几个人考虑数据,而是首先考虑业务,然后再往数据的地方靠。
2.3.1 识别需求
首先考虑识别需求,还是看一个例子吧,一个北方的加油站企业,经常搞各种活动,大家都知道,加油站如果不搞活动,生意会不大好。问题是加油站经常搞多种活动,于是某一天,企业的领导发话了:我们搞了这么多活动,效果怎么样啊?
好了,这就是需求!非常实在的需求!
2.3.2 分解需求
下一步要分解需求,我们要去做以下的事情:
1)收集没有活动时,各加油站的加油数据。
2)收集有各种活动时,各加油站的加油数据。
需求分解完了,数据也收集完了,就形成了图2-19加油站的加油量数据。
图2-19
2.3.3 选择工具和模型
对于统计的初学者来说,选择工具和模型几乎是最难的,统计软件有很多,统计模型就更加多了,各种模型之间的区分,绝对是一言难尽的事情。需要长期基于统计工具的学习和积累,才能够比较自如地选择模型。
另外,从笔者长期运用工具的经验来看,很多人选择统计模型有其“习惯”和“偏好”,有的人习惯使用相关分析模型,有的人则喜欢决策树模型,不一而足。