@IT·互联网机器学习与数据挖掘

浅谈数据二-数据的质量分析与特征分析

2020-06-21  本文已影响0人  封不然

在进行数据挖掘的第一步,首先需要考虑的问题就是

在去考虑这些问题的同时,通过检验数据、绘制图标、计算特征向量等手段对样本数据进行分析的过程一般称之为数据探索。而探索离不开数据质量分析和特征分析这两方面。

数据质量分析

数据质量分析是数据预处理的前提条件,也是分析结论的有效性以及准确性的基础,数据质量分析的主要任务是检查原始数据中是否存在脏数据(一般指不符合要求以及不能直接进行相应分析的数据),脏数据的情况一般包括:缺失值、异常值、不一致的值、重发户数据以及含有特殊符号的数据。

1. 缺失值
主要包括记录的缺失以及记录中某些字段的缺失。可能会造成大量有用数据丢失,会增加数据的不可靠性,造成数据的规律更难以把握,一般来说需要对其进行删除、插补、不处理这三种选择。

缺失的可能性多种多样,一般就是因为数据暂时无法获取或者获取难度、代价过大,或者说是最初手机的时候被认为是不重要数据而遗漏,当然也可能是在收集存储的时候有问题,这个无需过于追究这些非人为因素产生的。

当然还有一种情况需要考虑,那就是有些分析的属性对于这条数据归属对象并不存在,例如说,对于一个单身的人统计结婚年限,对于一个婴幼儿统计固定收入等,需要适当的进行筛选。

2.异常值分析
异常值分析主要是针对与检查录入错误以及含有不合理因素的数据。方法常用的有三种:

import pandas as pd
data = pd.read_excel('xxxxx.xls', index_col = u'日期')
print(data.describe())
结果

3.不一致性分析
数据不一致性 值得是数据的矛盾性,不相容性,直接对不一致的数据进行挖掘的话,可能会产生与实际偏差很大的结果。一般来说造成他的主要是来自于三种原因,其一是由于数据冗余,往往是由于重复存放的数据未能进行一致性地更新造成的。二是由于并发控制不当造成,多用户共享数据库,而更新操作未能保持同步进行而引起。三是由于各种故障、错误造成的。

数据特征分析

1.分布分析
分布分析主要是为了揭示数据的分布特征以及分布类型,可分为以下几种情况

2.对比分析「折线图」
对比分析指把两个相互联系的指标进行比较。特被适用于指标之间的横纵向对比,时间序列的比较分析。其实简单来说,就是中学学习的折线图。一般包含绝对数比较和相对数比较,相对数有包含结构相对数、比例相对数、比较相对数、强度相对数、计划完成程度相对数、动态相对数,在这里就不意义赘述了。

3. 统计量分析
用统计指标对定量数据进行统计描述,常用集中趋势和离中趋势来进行分析。其中平均水平指标广泛使用均值、众数和中位数,反映变异程度主要是方差、标准差、四分位间距(就是上文提到过的IQR),其中变异系数的计算方式为 “标准差/均值 × 100%”

4.周期性分析「折线图」
周期性分析是探索某个变量是否随时间的变化 而 呈现出某种周期变化趋势。时间尺度相对较长的周期性趋势有年度周期性趋势、季节性周期趋势,相对短的有月度周期性趋势,周度周期性趋势,甚至更短的天和小时。

5. 贡献度分析「帕累托图」
贡献度分析又称帕累托分析,原理是帕累托法则(20/80定律),即同样的投入放在不同的地方会产生不同的效益。例如一个店商公司,80%的利润可能来自于20%的畅销品。

帕累托图做法: 
1.列出所有感兴趣的内容
2.测量元素,每个元素用相同的计量单位
3.命令的内容根据自己的测量
4.百分比计算出每个元素的总测量
5.累积百分比从顶部向底部等于100%
6.创建一个块和线路图,线路占累计百分比
7.在最重要的组成部分的先工作
帕累托图

6.相关性分析「散点图、散点图矩阵」
分析连续变量之间线性相关的强弱,并选择适当的指标表示出来的过程叫做相关分析。

描述变量之间的线性相关程度,可以通过计算相关系数进行分析,常用的在二元变量的相关分析过程中比较常用的有Pearson相关系数、Spearman秩相关系数和判定系数。

相关系数r的取值范围: -1 <= r <= 1
r > 0 为正相关,r < 0 为负相关;
|r| = 0,|r| <= 0.3 表上不存在线性相关;
|r| = 1 表示完全线性相关;
0.3 < |r| <= 0.5 为低度线性相关
0.5 < |r| <= 0.8 为显著线性相关
|r| > 0.8 为高度线性相关

不服从正态分布的变量、分类、等级变量之间的关联性可采用Spearman秩相关系数。


计算公式

(对于两个变量承兑的取值分别按照从小到大或从大到小顺序编秩「统计学中,指序数。秩次其实就是序数,如有以下一组数字:1、2、5、6、7、9将它们排序后对应的秩次就是1、2、3、4、5、6,秩和就是秩次的和」,公式中di表示xi 和 yi 的秩差)


计算示例

判定系数是相关系数的平方,用来衡量回归方程对y的解释程度。判定系数取值位0~1,越接近1,相关性越强,反之异然。下方是使用python计算的一个示例


excel源数据
import pandas as pd

data = pd.read_excel('xxx.xls', index_col = u'日期') # 上方元数据
data.corr() # 相关系数矩阵,给出了任意两列间相关系数
data.corr()[u'百合酱蒸凤爪']  # 只显示“百合酱蒸凤爪”与其他菜式的相关系数
data[u'百合酱蒸凤爪'].corr(data[u'生炒菜心']) # 计算“百合酱蒸凤爪” 与 “生炒菜心” 的相关系数
上一篇 下一篇

猜你喜欢

热点阅读