数据质量分析
数据分析是数据挖掘中非常重要的一步,也是对数据预处理的准备工作,如果数据分析这一步骤没有做好,那再好的数据模型都无法得到客观的验证。
在对数据进行质量分析的时候,主要是处理数据中的脏数据,脏数据即是不符合要求,无法直接进行相应分析的数据。常见的脏数据包括:
- 缺失值
- 异常值
- 不一致的值
- 重复数据
- 含有特殊符号(如#,¥,*)的数据
缺失值
影响
数据的缺少主要包括记录的缺失和某些字段信息的缺失,缺失值的存在会丢失大量有用的信息,导致模型中蕴含的规律难以被发现;
分析
对缺失值使用简单的统计分析,可以得到含有缺失值的属性的个数,以及每个属性的缺失情况。
处理
处理缺失值的方法主要有:删除、插补和不处理。
【插补方法:均值/中位数/众数插补、固定值插补(如-1)、最近邻插补、回归拟合、通过插值函数近似代替】
异常值
影响
异常值(又称离群点)是指样本中的个别值,其数值明显偏离其余的观测值。
如果对异常值不做处理,会对结果产生不良影响。重视异常值的出现并分析其产生的原因,往往会成为发现问题进而改进决策的契机。
分析
常用的离群点分析方法有:
(1)简单统计量分析
data.describe()
主要是查看最大值和最小值有没有在合理的范围内。
(2) 3
σ
\sigma
σ法则
在数据服从正态分布的假设下,距离平均值3
σ
\sigma
σ 之外的值出现的概率为
P
(
∣
x
−
μ
∣
>
3
σ
)
≤
0.003
P(|x-\mu|>3\sigma)\leq0.003
P(∣x−μ∣>3σ)≤0.003
属于极个别的小概率事件。
(3) 箱型图分析
异常值通常被定义为小于超出图中上下限的值。
处理
常用的处理方法:(1)删除含有异常值的记录;(2)视为缺失值;(3)平均值修正;(4)不处理。
一致性分析
数据不一致性是指数据的矛盾性、不相容性。由于被挖据数据是来自于不同的数据源或是对于重复存放的数据未能进行一致性更新导致数据出现不一致性。
数据特征分析
分布分析
分布分析能揭示数据的分布特征和分布类型。
1、定量数据的分布分析
(1)求极差
(2)决定组距与组数
(3) 决定分点
(4)列出频率分布表
(5)绘制频率分布直方图
遵循的主要规则:
(1)各组之间必须是相互排斥的
(2)各组必须将所有的数据包含在内
(3)各组的组宽最好相等
2、定性数据的分布分析
对于定性变量,常根据变量的分类类型来分组,可以采用饼图和条形图来描述定性变量的分布。
对比分析
对比分析主要有两种形式:
1、绝对数比较
绝对数比较是利用绝对数进行对比,从而寻找差异的一种方法。
2、相对数比较
相对数比较是由两个有联系的指标对比计算的,用以反映客观现象之间数量联系程度的综合指标,其数值表现为相对数。
统计量分析
常用的统计指标有均值、中位数、众数、极差、标准差、变异系数和四分位数间距。
周期性分析
周期性分析是探索某个变量是否随着时间变化儿呈现出某种周期变化趋势。时间尺度可以是年、季节、月、周、天、小时等。
贡献度分析
贡献度分析(帕累托分析),又称20/80定律。例如,对于一个公司来讲,80%的利润常来自于20%最畅销的产品,而其他%80的产品只产生了20%的利润。
相关性分析
相关性分析是指分析连续变量间线性相关的程度,并通过适当的统计指标表示出来的过程。
1、直接绘制散点图
2、绘制散点图矩阵
3、计算相关系数
(1)Pearson系数
r
=
∑
i
=
1
n
(
x
i
−
x
ˉ
)
(
y
i
−
y
ˉ
)
∑
i
=
1
n
(
x
i
−
x
ˉ
)
2
∑
i
=
1
n
(
y
i
−
y
ˉ
)
2
r=\frac{\sum^n_{i=1}(x_i-\bar x)(y_i-\bar y)}{\sqrt{\sum^n_{i=1}(x_i-\bar x)^2\sum^n_{i=1}(y_i-\bar y)^2}}
r=∑i=1n(xi−xˉ)2∑i=1n(yi−yˉ)2∑i=1n(xi−xˉ)(yi−yˉ)
相关系数r的取值范围:-1
≤
\leq
≤ r
≤
\leq
≤ 1
{
r
>
0
为
正
相
关
,
r
<
0
为
负
相
关
∣
r
∣
=
0
表
示
不
存
在
线
性
关
系
∣
r
∣
=
1
表
示
完
全
线
性
相
关
\left\{ \begin{array}{l} r>0为正相关,r<0为负相关\\ |r|=0表示不存在线性关系\\ |r|=1表示完全线性相关\end{array}\right.
⎩⎨⎧r>0为正相关,r<0为负相关∣r∣=0表示不存在线性关系∣r∣=1表示完全线性相关
0<|r|<1表示存在不同程度线性相关:
{
∣
r
∣
≤
0.3
为
不
存
在
线
性
相
关
0.3
<
∣
r
∣
≤
0.5
为
低
度
线
性
相
关
0.5
<
∣
r
∣
≤
0.8
为
显
著
线
性
相
关
∣
r
∣
>
0.8
为
高
度
线
性
相
关
\left\{\begin{array}{l} |r|\leq0.3为不存在线性相关\\ 0.3<|r|\leq0.5为低度线性相关\\ 0.5<|r|\leq0.8为显著线性相关\\ |r|>0.8为高度线性相关\end{array}\right.
⎩⎪⎪⎨⎪⎪⎧∣r∣≤0.3为不存在线性相关0.3<∣r∣≤0.5为低度线性相关0.5<∣r∣≤0.8为显著线性相关∣r∣>0.8为高度线性相关
(2)Spearman秩相关系数
Pearson线性相关系数要求连续变量的取值服从正态分布。不服从正态分布的变量、分类或等级变量之间的关联性可采用Spearman秩相关系数:
r
s
=
1
−
6
∑
i
=
1
n
(
R
i
−
Q
i
)
2
n
(
n
2
−
1
)
r_s = 1-\frac{6\sum^n_{i=1}(R_i-Q_i)^2}{n(n^2-1)}
rs=1−n(n2−1)6∑i=1n(Ri−Qi)2
其中
R
i
\ R_i
Ri代表
x
i
\ x_i
xi的秩次,
Q
i
\ Q_i
Qi代表
y
i
\ y_i
yi的秩次,
R
i
−
Q
i
\ R_i-Q_i
Ri−Qi为
x
i
\ x_i
xi、
y
i
\ y_i
yi秩次之差。
x i \ x_i xi 从小到大排序 | 从小到大排序时的位置 | 秩次 R i \ R_i Ri |
---|---|---|
0.5 | 1 | 1 |
0.8 | 2 | 2 |
1.0 | 3 | 3 |
1.2 | 4 | (4+5)/2=4.5 |
1.2 | 5 | (4+5)/2=4.5 |
2.3 | 6 | 6 |
2.8 | 7 | 7 |
因为一个变量的相同的取值必须有相同的秩次,所以在计算过程中采用的秩次是排序后所在位置的平均值。
只要两个变量具有严格单调的函数关系,那么它们就是Spearman相关的,这与Pearson相关不同,Pearson相关只有在变量具有线性关系是才是完全相关的。
(3)判定系数
判定系数是相关系数的平方,用
r
2
\ r^2
r2表示;用来衡量回归方程对y的解释程度。判定系数取值范围:
0
≤
r
2
≤
1
\ 0 \leq r^2 \leq 1
0≤r2≤1。
r
2
\ r^2
r2越接近与1,表明x与y之间的相关性越强;
r
2
\ r^2
r2越接近于0,表明两个变量之间几乎没有直线相关关系。
参考文献
《Python数据分析与挖掘实战》
5分钟包你搞懂箱形图分析!