数据的预处理方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据的预处理方法
1.1数据预处理概述
1.1.1数据预处理的目的
由于人的错误、测量设备的限制或数据收集过程的漏洞等都可能导致各种问题,从而导致数据的值乃至整个数据对象都可能会丢失。
因此,为了高质量的数据挖掘结果,必须进行数据预处理。
数据预处理的目的是为信息处理过程提供干净、准确、简洁的数据,从而提高数据质量、信息处理率和准确性,使数据挖掘的过程更加有效,更加容易,同时也提高挖掘结果的质量。
数据预处理的对象主要是清理其中的噪声数据、空缺数据和不一致数据。
常用的数据预处理技术主要包括:数据清洗、相关分析和数据变换等。
1.1.2数据预处理的基本流程
从对不同的源数据进行预处理的功能来分,数据预处理主要包括数据清理、数据集成、数据变换、数据归约等4个基本的功能。
在实际的数据预处理过程中,这4中功能不一定都用得到,而且他们的使用也没有先后顺序,某种预处理可能先后要多次进行。
1.2异常值检测及处理
1.2.1基于图形的异常值检测
比较常见并且直观表达异常值的图形是箱形图。
箱形图可以用来观察数据整体的分布情况,利用中位数、25/%分位数、75/%分位数、上边界、下边界等统计量来来描述数据的整体分布情况。
通过计算这些统计量,生成一个箱体图,箱体包含了大部分的正常数据,而在箱体上边界和下边界之外的,就是异常值,如下图1。
其中上下边界的计算公式如下:
上边界= 上四分位数+(上四分位数-下四分位数)*1.5,
下边界=下四分位数-(上四分位数-下四分位数)*1.5
图1 箱形图
此外,也有有基于分布的方法。
在上、下α分位点之外的值认为是异常值(如图2)。
图2 正态分布图
1.2.2基于业务经验的异常值检测
除了通过图形采用直观方法检测异常值以外,有时还可以结合相关业务知识判断某个或某些值是否异常。
比如某些污染物检测值已经超过了仪器检测的上限,或者一些指标值已经超出了可能的范围。
对于这些异常情况,并不需要借助大量样本构造图形,而只需要单个的数据本身就可以判断其是否异常。
1.2.1基于统计量的异常值检测
判断异常值的统计量主要有以下判断规则:当标准差未知时,常用的有格拉布斯(Grubbs)检验法和狄克逊(Dixon)检验法;当标准差已知——奈尔(Nair)检验法。
格拉布斯(Grubbs)检验法具体步骤如下:
检验统计量=(样本均值-极值)/标准差
(1)计算统计量
12(x x x )/n
s 1,2,)
(X(n))/s n n Gn μμ=+++===-L L
式中μ为样本平均值;s 为样本标准差;Gn 为格拉布斯检验统计量。
(2)确定检出水平α,查表(见GB4881)得出对应n ,α的格拉布斯检验临界值1G -α(n )。
(1)当Gn >1G -α(n ),则判断x n 为异常值,否则无异常值。
(4)给出剔除水平α*的1(n)G α*- 当Gn >
1(n)G α*-时 x n 为高度异常值,应剔除。
除此之外,也可以用标准化数值(Z-score )这一统计量识别异常值。
Z 分数标准化后的数据服从正态分布。
因此,应用Z 分数可识别异常值。
我们可以将
Z
分数低于-1或高于1的数据看成是异常值。
1.2.4异常值处理
异常值处理的常用方法有:(1)直接将该条观测删除。
在SPSS软件里有2种不同的删除方法:整条删除和成对删除。
这种方法简单易行,但缺点也很明显。
如:当观测值数量很少,删除的做法会造成样本量不足;也可能会改变变量的原有分布,从而造成统计模型不够稳定。
(2)暂且保留,待结合整体模型综合分析。
通常我们观测到的异常值,有时在对于整个模型而言,其异常性质并没有观测到的明显,因此需要综合分析。
如:我们做回归分析的时候,利用残差分布信息来判断模型优劣,残差有没有超出经验范围(+1标准差),呈现什么分布等,另外对于整个模型而言,会有一些指标(Mahalanobis、协方差比率等)可以提供某条观测或整体的拟合信息,这些指标也会提示分析人员的异常值信息。
如果对于整个模型而言,并不是很明显时,建议保留。
(1)如果样本量很小,可以考虑使用均值或其他统计量取代。
这是一种折中的方法,大部分的参数方法是针对均值来建模的,用均值取代,实际上克服了丢失样本的缺陷,但却丢失了样本“特色”,可以说是不大不小的错误。
(4)将其视为缺失值,利用统计模型填补。
该方法的好处是可以利用现有变量的信息,对异常值(缺失值)填补。
(5)不做过多处理。
根据其性质特点,使用稳健模型加以修饰。
(6)使用抽样技术或模拟技术。
模拟技术可以利用先验分布特征和样本信息来构建事后预测的概率分布,进行事后模拟。
1.3缺失值处理
1.3.1简单的缺失值处理
对于缺失值的处理,从总体上来说分为删除存在缺失值的个案和缺失值插补。
对于主观数据,人将影响数据的真实性,存在缺失值的样本的其他属性的真实值不能保证,那么依赖于这些属性值的插补也是不可靠的,所以对于主观数据一般不推荐插补的方法。
插补主要是针对客观数据,它的可靠性有保证。
(1)删除含有缺失值的个案
主要有简单删除法和权重法。
简单删除法是对缺失值进行处理的最原始方法。
它将存在缺失值的个案删除。
如果数据缺失问题可以通过简单的删除小部分样本来达到目标,那么这个方法是最有效的。
当缺失值的类型为非完全随机缺失的时候,可以通过对完整的数据加权来减小偏差。
把数据不完全的个案标记后,将完整的数据个案赋予不同的权重,个案的权重可以通过logistic回归求得。
如果解释变量中存在对权重估计起决定性因素的变量,那么这种方法可以有效减小偏差。
如果解释变量和权重并不相关,它并不能减小偏差。
对于存在多个属性缺失的情况,就需要对不同属性的缺失组合赋不同的权重,这将大大增加计算的难度,降低预测的准确性,这时权重法并不理想。
(2)可能值插补缺失值
它的思想来源是以最可能的值来插补缺失值比全部删除不完全样本所产生的信息丢失要少。
在数据挖掘中,面对的通常是大型的数据库,它的属性有几十个甚至几百个,因为一个属性值的缺失而放弃大量的其他属性值,这种删除是对信息的极大浪费,所以产生了以可能值对缺失值进行插补的思想与方法。
1.3.2基于回归的缺失值处理
获取缺失值较少偏差估计值的方法是探寻变量之间的相关关系。
基于完整的数据集,建立回归方程(模型)。
对于包含空值的对象,将已知属性值代入方程来估计未知属性值,以此估计值来进行填充。
当变量不是线性相关或预测变量高度相关时会导致有偏差的估计。
回归填补是由单元的缺失项对观测项的回归,用预测值代替缺失值。
通常由观测变量及缺失变量都有观测的单元进行回归计算。
填补中还可以给填补值增加一个随机成分,这种方法称为随机回归填补。
它是用回归填补值加上一个随机项,预测出一个缺失值的替代值,该随机项反映所预测的值的不确定性影响。
随机回归填补法能够较好的利用数据提供的信息,解决因预测变量高度相关引起的共线性问题。
1.3.1基于邻近样本的缺失值处理
在处理缺失值的时候,可以使用行(观察值)之间的相似性来填补,这种方法可以填补除去那两个含有太多NA 值的样本外的其他缺失数据。
具体方法有两种:第一种方法简单地计算最相近的案例中的中位数并用这个中位数来填补缺失值。
如果缺失值是名义变量,可以采用最相似数据中出现次数最多的值(即众数)。
第二种方法采用这些最相似数据的加权均值。
权重的大小随着距待填补缺失值的个案的距离增大而减小。
通常使用高斯核函数从距离获得权重。
如果相邻个案距待填补缺失值的个案的距离为d ,则它的值在加权平均中
的权重为:()e d w d -=。
1.4针对特殊数据的预处理
1.4.1针对序列数据的预处理
时间序列的预处理,一方面能够使序列的特征体现的更加明显,利于分析模型的选择;另一方面也使数据满足模型的要求。
例如通过对序列取对数以及对序列进行标准化、中心化、归一化处理等方法进行数据变换,使偏态分布的序列变成对称的分布,消除序列中的异方差性,使变量间的非线性关系转换成线性关系,在时间序列数据数量很大的时候会起到显著改善计算精度的作用。
时间序列往往具有明显的长期趋势和不规则变动叠加于随机波动之上,因此,大部分时间序列都是非平稳的时间序列,只有通过各种数据处理方法将数据的非平稳特性从序列中分离出来,才能将其转换为平稳的时间序列。
因此,时间序列
的平稳化处理是时间序列分析的重要步骤。
时间序列非平稳性表现出多样性和复杂性。
一个均值平稳过程其方差和自协方差可能是非平稳的;而一个均值非平稳过程也可能是方差和自协方差非平稳过程。
因而时间序列平稳化的方法也是多种多样的。
多于不同形式的非平稳性,应采取不同的平稳化方法。
1.4.2针对文本数据的预处理
文本数据进行预处理主要包括文档切分、文本分词、去停用词(包括标点、数字、单字和其它一些无意义的词)、文本特征提取、词频统计、文本向量化等操作。
(1)文档切分
文档切分这个操作是可选的,取决于所获取到的文档集合的形式。
如果得到的文档集合本身就是一篇一篇文章分开的,那么这一步可以省略。
反之,如果文档集合是一个单一的文件,所有的文章都存储在这个文件中,那么就需要将其中的文章提取出来单独存放在一个文件中,从而便于以后的操作。
一般来说,单一文件的文档集合中文章与文章之间都会使用一些标记来区分,比如用空行、特定符号等等。
(2)文本分词
文本分词是预处理过程中必不可少的一个操作,因为后续的分类操作需要使用文本中的单词来表征文本。
文本分词包括两个主要步骤,第一个是词典的构造,第二个是分词算法的操作。
词典的构造目前比较流行的有字典树即标准trie树,字典树的构造有很多方法。
分词算法有简单的有复杂的,常见的主要有正向最大匹配、反向最大匹配、双向最大匹配、语言模型方法、最短路径算法等等。
(1)去停用词
去停用词也是预处理过程中不可缺少的一部分,因为并不是文本中每一个单词或字符都能够表征这个文本,比如说“这个”、“的”、“一二三四”、“我你他”、“0 1 2 ……9”等等,那么这些词就应当从文本中清除掉。
(4)文本特征提取
这个是文本分类过程中很重要的一部分,但是并不是必要的。
文本中的某一个单词不能100%表征这篇文档,但这个单词可以在某种程度来表征这篇文档,这个程度具体衡量的标准就是概率。
概率越大,说明这个单词越能表征这篇文档;反之则越不能表征这篇文档,当概率小到一个阀值的时候,这个单词就可以舍弃了。
表征的概率目前有两种使用比较广泛的方法,一种是差方统计,另一种是信息增益。
(5)词频统计
这一步是必不可少的一个步骤。
这涉及到另一个表征标准了---词频。
显然,如果一个单词在文本中出现的频率很高,那么这个单词就越有可能表征这个文本。