做数据分析为何要学统计学(1)——什么是概率分布

进行数据分析、数据挖掘/机器学习都需要掌握统计学基本知识,这是为什么呢?

首先一个主要的原因就是因为统计学就是关于数据分析的科学,所有设计数据分析的操作,都会以统计为基础。今天我们就来细说一下哪些统计操作在数据分析、机器学习中最常用。

首先先来说一下样本分布吧。

分布是统计学中描述性统计分析的基本工具。分布反应了样本取值的基本规律,简单一点来说就是哪些值出现得多,哪些值出现得少。反映到业务上,就是哪些业务更容易发生,哪些业务不容易发生。

现在我们来看泰坦尼克号数据集中票价的分布情况
做数据分析为何要学统计学(1)——什么是概率分布_第1张图片
从图上可以看出,票价主要分布在50元以下的区域,而50元以上的乘客少之又少。

那么分布和机器学习/数据挖掘又有何联系呢?

机器学习/数据挖掘是基于样本数据的建模操作,所建立的模型反应了蕴含在数据集合中的规律或模式。这种模型实质上是一种复杂的数学模型,机器学习/数据挖掘的任务就是通过某种算法,利用样本数据建立这个模型。

如果我们把这种模型表示为y=f(X), X和y是我们的样本数据。那么这个f就是机器学习/数据挖掘所得到的模型。

建立X到y的高质量映射模型f的过程是很复杂的,我们需要用到不同的算法,比如回归、分类、神经网等等,无论使用哪种算法,为了降低模型的数据y’与真实的y之间的误差,我们需要保证X自变量数据集合和y因变量集合尽可能符合正态分布(具体证明过程从略)。

是的,你没有看错!机器学习要想高质量,就要使样本数据保持正态分布。而这并不符合实际情况。现实情况往往不符合正态分布,而是偏态分布。如下图
做数据分析为何要学统计学(1)——什么是概率分布_第2张图片
左图为负偏态(样本数据取大值得较多 ),右图为正偏态(样本取小值的较多)

如果样本的偏度比较大,就会造成模型偏差或方差过大,影响模型的精确水平和泛化能力,降低模型质量。(样本偏度的检验有很多方法,参见基础课程的相关章节)

如果我们通过数据分布发现样本数据存在较为明显的偏态分布,就需要对数据进行处理,使之正态化。

偏态数据的正态化常用方法有两种,对于因变量y而言,可以采用对数化方法,即y=log(y)

如果偏度很大,则对数函数的底数就大一些,过大容易调整过头,产生相反的偏态,一般来说取自然对数即可(Numpy.log1p())函数;对于自变量集合X分布偏态的属性/字段,则使用box-cox()函数进行正态化(scipy.special.boxcox1p函数)。我们对泰坦尼克号票价数据进行对数正态化,结果如下
做数据分析为何要学统计学(1)——什么是概率分布_第3张图片
经过处理后,票价数据就接近正态分布了。使用boxcox方法,效果也相似
做数据分析为何要学统计学(1)——什么是概率分布_第4张图片
当然对于分布比较复杂的情况,需要其他的一些 方法,如倒数法、平方根法、指数函数法和三角函数法。

推荐自编课程《零基础学python数据分析》
推荐自编简明预测分析教程(Python版)

你可能感兴趣的:(数据分析,大数据,机器学习,数据挖掘,python,统计学)