数据质量分析与预处理
- 异常值分析与处理
1.1 异常值分析
(1)最小、最大值分析(超出合理范围的值为异常值,如年龄为200岁)
(2)空值、缺失值分析(空值与缺失值为异常值,最常用的处理缺失值的方法有拉格朗日插值法、牛顿插值法等,对于缺失值太多,也可根据实际业务情况去除该字段)
(3)箱型图分析(定义小于Ql-1.5IQR或者大于Qu+1.5IQR的值为异常值,其中,Ql为下四分位数,Qu为上四分位数,IQR=Qu-Ql,也就是四分位数间距)
如图为箱型图,原数据大于上界或者远小于下界的值为异常值
(4) 3σ原则分析(用|x-μ|>nσ来描述数据情况,其中x表示原数据,μ表示平均值,n为倍数,σ表示标准差;若数据服从正态分布,则n=3,满足|x-μ|>3σ的数值为异常值。因为概率P(|x-μ|>3σ)≤0.003为极个别的小概率事件)
(5)离群值等,未完待续……
1.2 异常值处理
(1)均值(/中位数/众数)替代
(2)插值法(拉格朗日插值法、牛顿插值法)
(3)不处理
(4)删除所对应记录
(5)未完待续……
是否还需要采样(数据不均衡、样本权重) - 数据预处理
2.1单个属性/特征预处理
(1)冗余属性、重复属性处理
(2)归一化(也就无量纲化,为了消除量纲和数值取值上的差异,讲数据按照比例缩放)
主要方法有:
①最小、最大值规范(离差标准化),对原始数据进行线下变换,使其映射到[0,1]之间,公式为 x*=(x-min)/(max-min)
②零-均值规范(标准差标准化),处理后的数据均值为0,标准差为1。公式为 x*=(x-均值)/σ,其中,σ为原数据标准差
③小数定标规范,通过移动属性值的小数位数,讲数据映射到[-1,1]之间,移动的小数位数取决于属性值绝对值的最大值。公式为 x*=x/10k
(3)连续属性离散化(有些属性需要转化为分类属性,如将收入情况分级)
具体方法如下:
①等宽法(根据属性的值域对属性划分,需要人为划分区间个数)
②等频法(其实是按照记录数的等宽法,需要人为划分区间个数)
③基于聚类分析的方法(将数据进行聚类,再对聚类好的簇作标记,需要人为划分区间个数)
④dummy coding(虚拟编码)
⑤数据变换(对数变换、指数变换、小波变换、Box-Cox)
2.2多个属性/特征预处理
(1)降维(PCA、LDA、t-SNE)
①线性降维PCA
②LDA
③非线性降维t-SNE
(2)特征选择
①结合业务需求主观判断(可以选择属性/特征,也可合并某些属性/特征)
②相关系数分析
③卡方检验
④信息增益、互信息
⑤决策树
⑥未完待续……
2.3根据分析需求自行计算新变量/属性/特征