购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 数据分析

在分析完问题之后,需要对数据进行分析来进一步了解业务,为后续建模的工作做准备。分析数据集、观察数据分布和数据特性可以帮助我们从整体上把握数据,更有效地理解业务问题与特征之间的关系。常用的数据分析方法有多种,例如描述性统计分析、特征之间的相关性分析、回归分析、分类分析以及聚类分析等。

2.3.1 描述性统计分析

描述性统计是指运用制表和分类、图形以及计算概括性数据来描述数据特征的各项活动。描述性统计分析要对调查总体所有变量的有关数据进行统计性描述,主要包括数据的频数分析、集中趋势分析、离散程度分析、数据的分布以及一些基本的统计图形。

(1)数据的频数分析:在数据的预处理部分,利用频数分析和交叉频数分析可以检验异常值。

(2)数据的集中趋势分析:用来反映数据的一般水平,常用的指标有平均值、中位数和众数等。

(3)数据的离散程度分析:主要是用来反映数据之间的差异程度,常用的指标有方差和标准差。

(4)数据的分布:在统计分析中,通常要假设样本所属总体的分布属于正态分布,因此需要用偏度和峰度两个指标来检查样本数据是否符合正态分布。

(5)绘制统计图:用图形的形式来表达数据,比用文字表达更清晰、更简明。在SPSS软件中,可以很容易地绘制各个变量的统计图形,包括条形图、饼图和折线图等。

2.3.2 相关分析

相关分析是研究两个或两个以上处于同等地位的随机变量间的相关关系的统计分析方法。例如,人的身高和体重之间、空气中的相对湿度与降雨量之间的相关关系都是相关分析研究的问题。相关分析与回归分析之间的区别:回归分析侧重于研究随机变量间的依赖关系,以便用一个变量去预测另一个变量;相关分析侧重于发现随机变量间的种种相关特性。相关分析在工农业、水文、气象、社会经济和生物学等方面都有应用。相关分析就是对总体中确实具有联系的标志进行分析,其主体是对总体中具有因果关系的标志的分析,它是描述客观事物相互之间关系的密切程度并用适当的统计指标表示出来的过程。

根据散点图,当自变量取某一值时,因变量对应为一个概率分布,如果对于所有的自变量取值的概率分布都相同,则说明因变量和自变量是没有相关关系的。反之,如果自变量的取值不同,因变量的分布也不同,则说明两者是存在相关关系的。

两个变量之间的相关程度通过相关系数 r 来表示。相关系数 r 的值在-1和1之间,但可以是该范围内的任何值。正相关时, r 值在0和1之间,散点图是斜向上的,这时一个变量增加,另一个变量也增加;负相关时, r 值在-1和0之间,散点图是斜向下的,此时一个变量增加,另一个变量将减少。 r 的绝对值越接近1,两个变量的关联程度越强; r 的绝对值越接近0,两个变量的关联程度越弱。

其中, r ∈[0,1], r 越接近1, x 1 x 2 之间的相关程度越强;反之, r 越接近0, x 1 x 2 之间的相关程度越弱。

相关关系根据现象相关的影响因素可以分为单相关、复相关和偏相关。

(1)单相关:研究两个变量之间的相关关系。

(2)复相关:研究一个变量 x 0 与另一组变量( x 1 , x 2 …, x n )之间的相关关系。

(3)偏相关:研究多变量时,控制其他变量不变时其中两个变量之间的相关关系。

【例2.1】使用NumPy进行相关分析。

结果输出:

使用Matplotlib展示相关分析结果,如图2.3所示。

图2.3 Matplotlib展示相关分析结果

相关性矩阵的左侧和顶部都是相对变量,从左到右、从上到下依次是列1到列9。由于相关性结果中看的是绝对值的大小,因此需要对correlation_matrix进行取绝对值操作,其对应的值域会变为[0,1]。

2.3.3 回归分析

回归分析研究的是因变量(目标)和自变量(特征)之间的关系,用于发现变量之间的因果关系。回归分析按照涉及变量的多少可分为一元回归分析和多元回归分析;按照因变量的多少,可分为简单回归分析和多重回归分析;按照自变量和因变量之间的关系类型,可分为线性回归分析和非线性回归分析。其中,线性回归分析指的是自变量和因变量之间满足线性关系(见图2.4),其表现形式如下:

其中, 是预测值, n 是特征的数量, x i 是第 i 个特征, θ j 是第 j 个模型参数(包括偏执项 θ 0 以及特征的权重( θ 1 , θ 2 …, θ n ))。

图2.4 线性关系

现实生活中的数据往往更为复杂,难以用简单的线性模型拟合,因此衍生出了更多非线性模型、多项式回归和逻辑回归等。

回归分析与相关分析的相同之处在于研究变量之间的相关性;不同之处在于,相关分析中两组变量的地位是平等的,而回归分析中两组变量一个是因,一个是果,位置一般不能互换。

2.3.4 分类分析

分类就是将具有某种特征的数据赋予一个标志(或者叫标签),根据这个标志来分门别类。分类是为了产生一个分类函数或者分类模型(也叫分类器),并且包含数据集的特点,用于预测一些未知数据是否符合类别。这种分类器能将数据集中未知的数据项反映成预定的类型中的一种。分类与回归一般都能预测,可能不同的是回归的输出是有序的和线性的值,而分类的输出是非线性的类型值。

有监督机器学习领域中包含许多可用于分类的方法,如逻辑回归、决策树、随机森林、支持向量机、神经网络等。有监督学习基于一组包含预测变量值和输出变量值的样本单元,将全部数据分为一个训练集和一个验证集,其中训练集用于建立预测模型,验证集用于测试模型的准确性。

分类分析能够根据特征的特点将数据对象划分为不同的类型,再通过进一步分析挖掘到更深层次的事物本质。有时不仅是对离散变量采用分类分析,连续变量也可以通过分箱法进行分类分析。分箱法可以将连续变量离散化,从而发掘特征潜在规律,使模型更稳定,降低模型的过拟合风险。常用的分箱方法包括有监督与无监督两种。

2.3.5 聚类分析

聚类的输入是一组未被标记的样本,聚类根据数据自身的距离或相似度将其划分为若干组,划分的原则是组内距离最小化,而组间(外部)距离最大化。

聚类分析的目标就是在相似的基础上收集数据来分类。聚类源于很多领域,包括数学、计算机科学、统计学、生物学和经济学。

聚类分析是一种探索性的分析,在分类的过程中,人们不必事先给出一个分类的标准,聚类分析能够从样本数据出发,自动进行分类。聚类分析所使用的方法不同,常常会得到不同的结论。不同研究者对于同一组数据进行聚类分析,所得到的聚类数未必一致。

常用的聚类分析方法如表2.2所示。

表2.2 常用的聚类分析方法

Python的主要聚类算法如表2.3所示。

表2.3 Python的主要聚类算法

这些不同模型的使用方法大同小异,基本都是先用对应的函数建立模型,然后用.fit()方法训练模型,训练好之后,再用.label_方法给出样本数据的标签,或者用.predict()方法预测新的输入标签。此外,SciPy库中也提供了一个聚类子库——scipy.cluster。 Jtle5P9+FDo8cTKUNLs7h4AsltlEGEMAsXd29u238rvEEuYMidzmY1Q4xtwwKXLQ

点击中间区域
呼出菜单
上一章
目录
下一章
×