一.基本概述
数据探索与数据清洗没有严格的先后顺序,经常在一个阶段进行。
数据探索
- 数据质量分析(与数据清洗密切相关)
- 数据特征分析(分布/对比/周期/相关性/描述性统计分析/常见统计量等)
数据清洗
- 缺失值处理
- 异常值处理
二.数据探索
1.描述性统计分析
定性变量
- 频率
- 频数
定量变量
- 集中趋势的度量:均值、众数、中位数、四分位
- 变异程度的度量:极差、方差、标准差
- 相对位置的度量:标准得分
- 偏度和峰度:
2.分布分析
极差
组距:极差 / 组数
直方图
三.数据清洗
3.1缺失值处理
删除法
- 删除观测样本
- 删除变量
- 使用完整原始数据进行分析
- 改变权重
插补法
- 抽样填补
- 均值差补
- 回归模型
- 热平台差补
- 冷平台差补
- 拉格朗日插值法
- 随机森林插值
替换法
- 缺失值所在变量为数值型:用该变量在其他所有对象的取值的均值/特定值来替换变量的缺失值
- 缺失值所在变量为非数值型:用该变量其他全部有效观测值的中位数或众数进行替换
参考: http://blog.csdn.net/qq_31584157/article/details/52562830
3.2异常值(离群点)处理
异常值定义:测定值中与平均值的偏差超过三倍标准差的值
异常值大概包括离群值、重复值、数据不一致。
1.判断异常值方法汇总
简单统计量分析:描述性统计,判断变量的取值是否超出合理的范围
3O原则:正态分布假设下,P(|x-u|>3o)<=0.003,属于极个别的小概率事件
箱型图分析:1.5倍四分位间距的值
图像法汇总:绘制直方图、绘制点图、绘制箱形图、绘制qq图、绘制单变量散点图
局部异常因子检测:基于密度识别异常值的算法,只对数值型数据有效
通过聚类检测异常值
2.异常值处理方法(数据光滑)
分析异常值出现的原因,再判断是否取舍,如果数据正确,可直接在数据上进行挖掘建模
删除法:直接把相应的记录删除
把异常值视为缺失值:利用缺失值处理的方法进行处理
平均值修正:可用前后两个观测值的平均值修正该异常值
不处理:直接在具有异常值的数据集上进行挖掘建模
四.数据集成
即多个数据源的数据进行合并
实体识别
- 同名异义
- 异名同义
- 单位不统一
冗余属性识别
- 同一属性多次出现
- 同一属性命名不一致导致重复
1.判断方法
由卡方检验判断结果,若两个属性之间存在较大的相关系数,则其中一个可以被视作冗余而删除
两列协方差为正,两个属性趋于相同方向改变,两列数据协方差为负,趋于相反方向改变
观测值是否存在重复
2.解决办法
删除
五.数据规约
压缩数据量,保持原数据的完整性,但数据量比原来小很多
1.维归约
属性合并创建新属性维数
直接通过删除不相关的属性(维)来减少数据维数
方法
- 逐步向前选择
- 逐步向后删除
- 决策树归纳
- 主成分分析
2.数值归约
意义
- 降低无效、错误数据对建模的影响,提高建模的准确性
- 少量且具代表性的数据将大幅缩减数据挖掘所需的时间
- 降低储存数据的成本
六.数据变换
(简单函数变换/规范化/离散化/属性构造/小波变换)
1.简单函数变换:开方、平方、对数等
- 非正态分布数据变换成正态分布数据
- 非平稳序列转换成平稳序列(简单的对数变换或差分运算)
- 数据挖掘中,对数据压缩,如1000元到10亿元,对数变换
2.规范化:消除指标之间的量纲和取值范围差异的影响
- 最大-最小规范化(离差标准化)
数值映射到[0,1]之间
x*=(x-min)/(max-min)
缺点:数据值中某一值过大,则规范化后各值会接近于0
- 零-均值规范化(标准差规范化),使用最多
经过处理后数据的均值为0,标准差为1
x*=(x-xp)/o 减均值/原始数据的标准差
scale(data)
- 小数定标规范化
移动属性值的小数位数,将属性值映射到[-1,1]之间
x*=x/10^k
i1<-ceiling(log(max(abs(data[,1]))),10) #小数定标的指数
3.连续属性离散化:将连续属性变换为分类属性,首要任务:确定分类数及如何将连续属性映射到这些分类值
- 等宽法:类似频率分布表
- 等频法:将相同数量的记录放进每个区间
- 基于聚类分析的方法
result<-kmeans(data,6) #连续属性的值用聚类算法进行聚类
v3<-result$cluster #聚类得到的簇进行处理,合并到一个簇的连续属性值做同一标记
4.属性构造
- 线损率=(供入电量-供出电量)/供入电量*100%,线损率的正常范围一般在3%~15%,远远超过这个范围,则存在漏电行为
5.小波变换