数据科学家之路 chapter1 --- 拿到数据后该干什么

我的数据科学家之路。

chapter1 拿到数据之后该干什么

一.  前言

    2018年,经过了很多种数据分析的学习路线之后,我好像还是没有找到门道。经过深刻的反思,我发现过了这么久,自己连一个完整的数据分析流程的都不能很好的阐述,可以说是很失败了。在经过了近10个月的考研后,我深知“套路”对于一门学科的重要性,它让我们有了所谓的基础,从而可以做更多的探索。那么,痛定思痛,我将在这个章节中将数据分析的各个步骤好好的再过一遍,在自己脑中形成基本的分析“套路”,主要用书是《python数据分析与挖掘实战》,然后再开始大量的实践,深化,那些内容我会在后面的章节再继续延申。那么,让我们开始吧。

二.  数据探索

1.  数据质量分析:主要任务是检查原始数据是否有“脏”数据,通常就是指“缺失值”,“异常值”,“不一致值”,“重复数据”,“含特殊符号数据”。具体如下:

【补充】箱型图:这种图提供了识别异常值的一个标准。

 

 

 

三.  数据预处理

1.预处理的意义

a.减少或避免数据本身的错误或者遗漏
b.掌握数据的基本情况,获得进一步分析的灵感。获得比如取值范围、中值、分散程度这样的信息,可以提示我们数据中也许存在的关联。
c.初步判断我们的某些模型的假设是否成立。有些模型对数据本身有一定的要求(比如对分布的要求),只有当我们的数据满足这些假设时,统计检验的结果才有意义。

2.关于离散型变量

a.说明:

对于有些离散型变量来说,不同的分类是有某种顺序关系的,比如说教育程度可以从低到高排列,而有些离散变量并没有这种顺序,比如说某个基因的基因型。这两种情况分别称为有序变量(ordinal variable)和名义变量(nominal variable)。

b.处理方式:

要对离散型数据进行探索性分析,最简单、最有效的方法是算出一个包含所有情况的频率表(直方图)。

如图我们可以很容易地算出数据中“性别”这个变量的所有不同情况的数量以及百分比。这能够给我们提供哪些信息?
首先,我们可以很快了解数据中男女性的比例,还可以看到是否有异常的数据点出现。假设我们都用中文“男”“女”来标注受试者的性别,那么性别变量应该只有这两种情况。如果我们不清楚部分受试者的性别,则还会有第三种情况。但是,如果你在频数表中发现了还有一个类别“M”,那么很可能是在录入个别受试者的数据时不小心打了英文。
          其次,如果我们的研究中需要对男女性受试者进行比较,根据频数的信息,我们还可以考虑当前数据是否能够满足我们的需要(男、女性的数量是否都足够多,两者数量比例如何等)。
          如果你自认为是一个视觉动物,也可以选择绘制饼状图,它展示的信息与频数(频率)表是完全相同的。

3.关于连续型数据

a.说明:

连续型数据的数值有具体的科学意义,并且可以在数轴上的某个范围连续取值。如果不受测量精度的限制,它在理论上可能的取值是无限多的。比如身高、体重、血糖浓度、肾小球滤过率等。有些数据理论上并没有无限多的取值(比如人口只能取整数,商品的价格最高的精度只能是最小币值),严格来说应该是有序离散变量,但由于它们可能的取值足够繁多,因此在实际处理时当成连续型数据更加方便。

b.处理方法:

相比起离散型数据,连续型数据往往能提供更多的信息,因此预处理也更复杂一些。对于一个连续性变量,每一个数据点可能都有不同的取值。在这些纷繁复杂之中,我们首先想知道的自然是大势所趋——我们感兴趣的整个群体平均而言是多大一个数?用高大上的统计学术语来说,这叫做集中趋势(central tendency)。

算术平均数(arithmatic mean)是对集中趋势的最常用的描述。还有一个东西叫做中位数(median)。中位数的计算,是把该变量所有取值从小到大(或从大到小)排序,取最中间的一个(例如总共有21个数,则取排行第11的)。如果样本量是偶数,则取中间两个数的平均。换句话说,在数据集里,恰好有一半的数据点比中位数大,而另一半的数据点比它小。

许多人都会对中位数有些嫌弃,因为它不像算术平均数那样有一个固定又简单的式子。为什么我们还需要它?相比起算术平均数,中位数有一个突出的优点:根据它的定义,它就是所有数据点里最中不溜秋的一个,所以它有一种稳如泰山的性格(统计学中称为稳健性,robustness)。

比如说,如果有人算了算现任上海籍全国政协委员的身高平均值,很可能会得到一个比一般人的身高要大的一个数。难道长得高更容易当选全国政协委员?不是。这个平均值只是个假象,因为全国政协委员里面的上海人里有个姚明。在存在极端值的情况下,中位数比算术平均值更能反映样本的普遍水平,因为算术平均值很容易受到极端值的影响,而中位数则不然。

与此类似的是,如果我们感兴趣的变量分布不对称时,中位数和算术平均数也会有比较大的差别。最经典的例子是个人收入,这个数字是有下限的(零),然而却是上不封顶,所以算术平均往往会被最大的那一小撮数据点拉高。因此,我们如果想从人均收入里推断一个国家或地区普通居民的经济情况,可能就不太准确了。这个时候该找谁?不错,就是中位数!

集中趋势只是数据中所蕴含信息的一个部分,要得到进一步的知识我们还需要知道数据的波动或发散程度,也称为展布(spread)

我们为什么要关心数据的波动程度呢?集中趋势能让我们靠近表面以下的本质规律,但是展布却告诉我们这一本质表现得有多稳定。设想一下,两个程度相当的学生,一个四平八稳,另一个则是一把神经刀,一会儿超常发挥一会儿大跌眼镜,他们俩进高考考场时的心态必然不一样吧?

展布有几种常见的表示方式。

其一是样本方差(variance),意思是,取每个数据点与平均值之差的平方(可以将其视为各数据点到平均值的“距离”),并把它们都加起来然后除以n-1。这个定义并不难理解,无非只是把各个数据点与中心的偏离程度汇总起来而已。至于为什么除的是n-1而不是n,涉及到稍微复杂一些的理论,我们暂时先不深究。由于平方的存在,方差的量纲也带上了平方(例如血压的方差的单位就成了毫米平方汞柱)。为了让量纲和原来的数据一致,我们可以给样本方差开个根号,这也就是大家常见的标准差(standard deviation)了。

聪明的你一定会想到,方差和标准差都有和算术平均数一样的毛病,就是容易被极端值带跑。那么有没有像中位数那样的稳健的表示展布的量呢?

沿用寻找中位数的思路,我们把所有数据点从小到大排列,并且分成样本量相等的四块。那么,这四块之间就会产生三个分界点(称为四分位点,quartile),从小到大分别用Q1, Q2, Q3表示。如果我们取Q3和Q1之差,那么这就是四分位差(interquartile range),也称为内距。由于四分位差不考虑首尾两端的数据点,因此,它是一个不容易受极端值干扰的表示展布的统计量。

上面讨论的这些统计量,可以很方便地用图形来表示。其中一种选择是箱线图(boxplot),它汇集了中位数、四分位差以及一些其他信息,能够使我们对样本的分布有一个直观的了解,也可以让我们快速发现数据中可能存在的错误(例如因为数据录入或单位错误导致的异常值)。

它之所以被称为箱线图,是因为它用一个“箱子”来表示我们的数据中最靠中间的一半(即Q1和Q3之间的所有数据点),而用箱子上下的两根“胡须”来表示数据的上下限范围。具体原理可以看这里

不难看到,箱线图提供了相当丰富的信息,但仍然不是全部。比如说,箱子里那50%的数据是怎样分布的?我们无法在箱线图上得知。这时,我们需要请出探索性数据分析的最大杀器——频率直方图(histogram)。
频率直方图是对样本数据分布状况的一种可视化的展现方式。它最初来源于大家在中学都听说过的高尔顿钉板(下图)。

我们可以把我们的每一个数据点想象成一个从上方以某种规律落下的小球(当然不一定像高尔顿钉板那样),那么频率直方图描绘的就是落到下方不同区域的球的数量。

要画出一张频率直方图,首先要将变量的整个取值范围划出若干区间(通常等距)。比如说,我们有一个样本,其中受试者体重的最小值和最大值分别是48公斤到73公斤,如果以5公斤作为组距(bin),那么我们可以把整个体重的范围分成[48,53], [53, 58], [58,63], [63, 68], [68,73]这些区间。然后以体重为横坐标,受试者的数量除以组距为纵坐标(这样每个矩形的面积就是该区间内受试者的数量),画出受试者在这些区间中的分布。

频率直方图可以让我们对样本的整体分布一目了然,得到分布形态、对称程度等关键信息(见下图)。频率直方图一个关键的地方,在于区间数量的确定:区间数量太少的话,频率直方图过于粗略,会掩盖真实的分布;区间数量太多,则变得过于琐碎,不容易看出分布的大趋势。区间数量多少合适,取决于样本量的大小和数据的具体分布情况,在实际应用时一般都要通过反复尝试才能获得比较好的选择。

要注意,千万不要把频率直方图和另一种常见的统计图——条形图(bar plot,或称柱状图)混为一谈。频率直方图呈现的是某个连续变量的整体分布情况(在不同取值范围里出现的次数多少),而柱状图描绘的是不同组别或个体的某一种用连续变量来表示的性质。因此,频率直方图(下图右)的横轴必然是该变量本身,而且必须覆盖这个变量取值的整个范围,矩形的高度表示的是落在对应区间的数据点的个数(或个数除以区间宽度);而条形图(下图左)的横轴则是某个分类(如组别、个体、年份等),矩形的高度则是这些分类各自的某个连续变量的值。

探索性数据分析的方法很多,这里介绍的只是其中最常用、最重要的一小部分。但是,万变不离其宗,不论用哪种方法,我们的目的都是要管中窥豹,尽可能全面地了解手上数据的情况。千里之行,始于足下,不管你要做怎样的数据分析,都别忘了这关键的第一步哦!

 

四.  挖掘建模

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值