1. 数据质量分析
数据质量分析的主要任务是检查原始数据中是否存在脏数据:缺失值、异常值、不一致值、重复数据和含有特殊符号的数据。
1.1. 缺失分析
1)缺失的原因:
- 有些信息无法获取或获取的代价过大
- 有些信息是被遗漏
- 属性值不存在
- 数据挖掘建模将丢失大量有用信息
- 数据挖掘模型所表现出的不确定性更加显著,模型中蕴含的规律更难把握
- 包含空值的数据会使建模过程陷入混乱,导致不可靠的输出
3)缺失值分析
- 试用简单统计分析,可以得到含有缺失值的属性个数,以及每个属性的缺失数、未缺失数和缺失率
- 缺失值处理分为删除存在缺失值记录,对可能值进行插补和不处理三种情况
1.2. 异常值分析
异常值是指样本中的个别值,其数值明显偏离其余的观测值。
1)简单统计分析
可以先对变量做一个描述性统计,进而查看哪些数据是不合理的。常用统计量是最大值和最小值,用来判断这个变量的取值是否超出了合理的范围。
2)3δ原则
如果数据服从正态分布,在3δ原则下,异常值被定义为一组测量值中与平均值的偏差超过3倍标准差的值。如果数据不服从正态分布,可以用远离平均值的多少倍标准差来描述。
3)箱型图分析
箱型图提供了一个识别异常值的表准:异常值通常被定义为小于QL-1.5IQR或大于QU+1.5IQR的值。QL为下四分位数--表示全部观察值中有四分之一取值比它小;QU为上四分位数--表示全部观察值中有四分之一取值比它大;IRQ称为四分位数间距--表示上四分与下四分之差,期间包含了全部观察值的一半。
1.3. 一致性分析
数据的不一致是指数据的矛盾性、不相容性。直接对不一致的数据进行挖掘,可能会产生与实际相违背的挖掘结果。
2. 数据特征分析
2.1. 分布分析
分布分析能揭示数据的分布特征和分布类型。
对于定量数据:想了解其分布形式是对称的还是非对称的、发现某些特大和特小的可疑值,可通过绘制频率分布图、频率分布直方图、茎叶图进行直观地分析。
对于定性分类数据:可用饼图、条形图直观地显示分布情况。
1)定量数据的分布分析
对于定量数据而言,选择“组数”和“组宽”是做频率分布分析时最主要的问题,一般按一下步骤进行:
- 求极差
- 决定组距与组数
- 决定分点
- 列出频率分布表
- 绘制频率分布直方图
- 各组之间必须相互排斥
- 各组必须将所有的数据包含在内
- 各组的组宽最好相等
2)定性数据的分布分析
对于定性变量,常常根据变量的分类类型来分组,可以采用饼形和条形图来描述定性变量的分布。
2.2. 对比分析
对比分析是对两个相互联系的指标进行比较,从数量上说明和展示研究对象规模的大小,水平的高低,速度的快慢,以及各种关系是否协调。特别适用于指标间的横纵向比较、时间序列的比较分析。对比分析主要有两种形式:
1)绝对数比较
利用绝对数进行对比,从而寻找差异的一种方法。
2)相对数比较
由两个有联系的指标进行对比计算,用以反映客观现象之间数量联系程度的综合指标,其数值表现为相对数。相对数可以分为以下几种:
- 结构相对数:同一总体内部分值与全部值对比求得的比重,用以说明事物的性质、结构和质量。
- 比例相对数:同一总体内不同部分的数值进行对比,表明总体内各部分的比例关系。
- 比较相对数:同一时期两个性质相同的指标数值进行对比,说明同类现象在不同空间条件下的数量对比关系。
- 强度相对数:两个性质不同但有一定联系的总量指标进行对比,用以说明现象的强度、密度和普遍程度。
- 计划完成程度相对数:某一时期实际完成数与计划数的对比,用以说明计划完成程度。
- 动态相对数:同一现象在不同时期的指标数值进行对比,用以说明发展方向和变化速度。
2.3. 统计量分析
用统计指标对定量数据进行统计描述,常从集中趋势和离中趋势两个方面进行分析。
平均水平的指标是对个体集中趋势的度量,使用最为广泛的是均值和中位数;反应变异程度的指标则是对个体离开平均水平的度量,使用较广泛的是标准差(方差)和四分位间距。
1)集中趋势度量
- 均值:所有数的平均值。截断均值是指去掉高、低极端值后的平均数。
- 中位数:将观察值从小到大排序,位于中间的那个数。
- 众数:数据集中出现频率最高的值。
2)离中趋势度量
- 极差:最大值减最小值
- 标准差:度量数据偏离均值的程度。
- 变异系数:度量标准差偏离均值的离中趋势。
- 四分位数间距:上四分位(QU)与下四分位(QL)之差,其间包含全部观察值的一半。其值越大说明数据的变异程度越大。
2.4. 周期性分析
周期性分析是探索某个变量是否随着时间变化而呈现出某种周期性变化趋势
2.5. 贡献度分析
贡献度分析又称为帕累托分析,原则是帕累托法则,又称2/8定律。同样的投入放在不同的地方会产生不同的效益。
2.6. 相关性分析
分析连续变量之间线性相关程度的强弱,并用适当的统计指标表示出来的过场叫相关性分析。
1)直接绘制散点图
判断两个变量是否有相关性最直观的方式是直接绘制散点图。
2)绘制散点图矩阵
需要同时考察多个变量间的相关关系时,可利用散点图矩阵同时绘制各变量间的散点图,从而快速发现多个变量间的主要相关性,这在进行多元线性回归时显得尤为重要。
3)计算相关系数
通过计算相关系数来进行相关分析
Pearson相关系数:一般用来分析两个连续性变量之间的关系。-1<=r<=1,r>0正相关,r<0负相关,r=0不存在相关性,|r|=1完全线性相关。
Spearman秩相关系数:不服从正态分布的变量、分类或等级变量之间的关联性可以采用Spearman秩相关系数,也称等级相关系数描述。
对两个变量成对的取值分别按照从小到大(或从大到小)顺序编秩,Ri代表Xi的秩次,Qi代表Yi的秩次
判定系数:是相关系数的平方。
3. Python主要数据探索函数
3.1. 基本统计特征函数
1)D.sum():按列计算数据样本的总和。
2)D.mean():算数平均数
3)D.var():方差
4)D.std():标准差
5)D.corr(S2, method='pearson'):相关系数矩阵(pearson、spearman)
6)D.cov(S2):协方差矩阵
7)D.skew()/D.kurt():偏度(三阶矩)/峰度(四阶矩)
8)D.describe():直接给出基本统计量,如:均值、标准差、最大值、最小值、分位数等。
3.2. 拓展统计特征函数
除了基本统计特征外,Pandas还提供了一些非常方便实用的计算统计特征的函数,主要分累计计算(cum)和滚动计算(rolling_),如下:
- D.cumsum():依次给出前1,2,...,n个数的和
- D.cumprod():依次给出前1,2,...,n个数的积
- D.cummax():依次给出前1,2,...,n个数的最大值
- D.cummin():依次给出前1,2,...,n个数的最小值
- rolling_sum(D, k):每k列计算一次样本总和,滚动计算
- rolling_mean():算数平均值
- rolling_var():方差
- rolling_std():标准差
- rolling_corr():相关系数矩阵
- rolling_cov():协方差矩阵
- rolling_skew():偏度
- rolling_kurt():峰度
3.3. 统计作图函数
通过统计作图函数绘制的图标可以直观地反映出数据及统计量的性质及内在规律。
- plt.plot(x, y, S):绘制线性二维图,折线图,S表示图形的类型、样式和颜色
- plt.pie(size):饼形图,size是一个列表,记录各个扇形的比例
- plt.hist(x, y):二维条形直方图,x为待绘制直方图的一维数组,y表示均匀分为n组
- D.boxplot():箱型图
- D.plot(kind=''):DataFrame内置方法作图,默认index为横坐标,每列数据为纵坐标,通过kind指定作图类型(line线,bar条线,barh,hist直方图,box箱线图,kde密度图,area,pie饼图),同时也可以接受plt.plot()的参数。