数据质量分析
主要是检查原始数据中是否存在脏数据,并做相应的处理,是数据预处理的前提,主要包括以下几种:
-
缺失值:记录的缺失或某个字段信息的缺失,一般的做法是删除、插补或者不作处理。
-
异常值:也即离群点,常用简单统计分析,3原则,箱图分析。
1、简单统计分析:先对变量做一个描述性统计,进而查看哪些数据是不合理的,如199岁的年龄显然不合理);
2、3原则:前提是数据服从正态分布,在3原则下,异常值被定义为一组测定值中与平均值的偏差超过三倍标准差的值,因为在正态分布的假设下,距离平均值3之外的值出现的概率为,属于极个别的小概率事件;
3、箱图分析:箱图依据实际数据绘制,不对数据作任何限制性的要求,只是真实直观地表现是数据分布的本来面目。它将异常值定义为小于 或大于 的值,其中:
: 下四分位数,表示全部观察值中有四分之一的数据比它小;
: 上四分位数,表示全部观察值中有四分之一的数据比它大;
: 四分位数间距,上下四分位数之差,其间包含全部观察值的一半。而且由于其异常值的判定用的是四分位数和四分位距,所以具有一定的鲁棒性,因为即便多达25%的数据异常才可能干扰四分位数,所以异常值不大能对这个标准施加影响。
箱图示意图如下:
- 一致性分析:数据不一致指的是数据的矛盾性、不相容性,如原始数据中2张表均存储有用户的电话,可能在某次更新时只更新了其中一处,此时则发生数据不一致的情况。
数据特征分析
质量分析之后,需要进行数据的特征分析以了解原始数据,为后续数据挖掘提供思路,主要手段如绘制图表、计算某些特征量等,通常有数据的分布分析、对比分析、统计量分析、周期性分析、贡献度分析、相关性分析等,以下进行各自的说明。
-
分布分析: 主要揭示数据的分布特征和分布类型,定量分析时,可通过频率分布表、频率分布直方图来直观分析,定性分析时则可以用饼图、条形图分析,通常根据变量的类型来分组。这些图均可在MATLAB中实现,具体使用时再看。
-
对比分析: 把两个相互联系的指标进行比较,从数量上展示和说明研究对象规模的大小、水平的高低、速度的快慢,以及各种关系是否协调,特别适用于指标间的横纵向比较、时间序列的比较分析,常用折线图。
-
统计量分析: 常从集中趋势(度量个体集中趋势)和离中趋势(度量个体离开平均水平)来分析,前者常用均值、中位数、众数等指标,后者则有极差、标准差、变异系数、四分位数间距等。
1、变异系数:度量标准差相对于均值的离中趋势,公式如下:
其中,为标准差,为均值,主要用来比较两个或多个具有不同单位或不同波动浮动的数据集的离中趋势。 -
周期性分析: 探索某个变量是否随着时间变化而呈现出某种周期变化的趋势。
-
贡献度分析: 即帕累托分析,以帕累托法则(80/20定律)为原理。
二八定律:在任何一组东西中,最重要的只占其中一小部分,约20%,其余80%尽管是多数,却是次要的。
帕累托图实例如下:
说明:帕累托用双直角坐标系表示,左边纵坐标表示频数,右边纵坐标表示频率.分析线表示累积频率,横坐标表示影响质量的各项因素,按影响程度的大小(即出现频数多少)从左到右排列,通过对排列图的观察分析可以抓住影响质量的主要因素。 -
相关性分析: 主要是分析连续变量之间的线性相关程度的强弱,并用适当的统计指标标出出来。可通过散点图、散点图矩阵、相关系数等进行描述。以下对常用的二元变量的相关系数进行说明。
1、Pearson相关系数:分析两个连续性变量之间的关系,要求连续变量的取值服从正态分布,公式如下:
其中, ,具体关系如下:
表示存在不同程度的线性相关:
2、Spearman秩相关系数:可分析不服从正态分布的变量、分类或等级变量之间的关联性。其计算公式如下:
对两个变量成对的取值分别按照从小到大(或从大到小)的顺序编秩,代表的秩次,代表的秩次,代表、的秩次之差。也就是说,首先对两个变量(X, Y)的数据进行排序,然后记下排序以后的位置(X’, Y’),(X’, Y’)的值就称为秩次,秩次的差值就是上面公式中的di,n就是变量中数据的个数,最后带入公式就可求解结果。
举例如下:
在Spearman相关系数的求解中,即使出现异常值,由于异常值的秩次通常不会有明显的变化(比如过大或者过小,那要么排第一,要么排最后),所以对斯皮尔曼相关性系数的影响也非常小。3、判定系数: 相关系数的平方,即,用来衡量回归方程对y的解释程度,其取值范围为0~1,越接近1表明与之间的相关性越强,越接近0则表明两变量之间几乎没有直线相关关系。
主要探索函数
- 统计特征函数:
| 函数名 | 功能 |
|---|---|
| mean() | 算术平均数 |
| geomean() | 几何平均数 |
| var() | 方差 |
| std() | 标准差 |
| corr() | 相关系数(Spearma、Pearson) |
| cov() | 协方差矩阵 |
| moment() | 指定阶的中心矩 |
- 统计作图函数:
| 函数名 | 功能 |
|---|---|
| plot() | 线性二维图、折线图 |
| pie() | 饼图 |
| hist() | 二维条形直方图 |
| boxplot() | 箱图 |
| semilogx()/semilogy() | 或轴的对数图形 |
| errorbar() | 误差条形图 |