缺失值的问题总结

合集下载

数据清洗项目总结报告

数据清洗项目总结报告

数据清洗项目总结报告在数据清洗项目中,我主要负责对原始数据进行整理、去除错误或不完整的数据,以便于后续分析和建模。

在整个项目过程中,我遇到了一些挑战并采取了相应的方法和技巧来解决。

首先,我发现原始数据中存在大量的缺失值。

为了解决这个问题,我采取了多种策略。

首先,我使用了插值方法来填补部分缺失值,例如使用均值、中位数或者最近邻的值来进行填充。

对于特别重要的指标,我选择了删除含有缺失值的记录,以保证数据的完整性。

此外,我还尝试了使用机器学习算法(如随机森林)来预测缺失值并填充,取得了不错的效果。

其次,原始数据中存在一些异常值,这对于后续分析和建模会产生不良影响。

为了解决这个问题,我首先进行了数据的可视化分析,发现了一些明显的异常点。

然后,我使用了统计学方法,如3σ原则或箱线图,来识别和处理异常值。

对于那些极端的异常值,我选择了删除或替换为合理的值,以减少其对整体数据分析的影响。

另外,有些数据存在重复记录的情况,这样会导致数据分析和建模时的误差。

为了解决这个问题,我使用了常见的去重方法,如使用唯一标识符进行去重或者根据多个特征进行组合判断是否重复。

通过去除重复记录,我成功减少了重复数据对于最终结果的干扰。

在整个数据清洗过程中,我坚持了数据的完整性和可靠性原则,保证了清洗后数据的准确性。

此外,我还注意了数据清洗的效率问题,尽量使用了高效的方法和算法来提高数据清洗的速度。

综上所述,通过对原始数据的认真整理和清洗,我成功地去除了大部分错误和不完整的数据,提高了数据的质量和准确性。

这为后续的数据分析和建模提供了可靠的基础。

在项目中我积累了丰富的数据清洗经验,并对数据分析和数据挖掘有了更深入的认识和理解。

同时,我也意识到了数据清洗工作的重要性和挑战性,需要不断学习和实践才能提高自己的能力。

因子分析中的缺失数据处理技巧分享(四)

因子分析中的缺失数据处理技巧分享(四)

因子分析是一种常用的统计方法,用于分析变量之间的关系和结构。

在因子分析中,处理缺失数据是一个常见的问题,因为缺失数据会对结果产生影响。

因此,需要掌握一些处理缺失数据的技巧,以确保因子分析的准确性和可靠性。

首先,当面对缺失数据时,我们需要了解数据的缺失机制。

数据的缺失机制可以分为完全随机缺失、随机缺失和非随机缺失三种类型。

完全随机缺失意味着缺失数据的出现与其他变量无关,随机缺失表示缺失数据的出现与其他变量有关,但是缺失的概率是随机的,而非随机缺失表示缺失的数据与其他变量有关,并且缺失的概率是非随机的。

其次,针对不同的缺失机制,我们可以采用不同的处理方法。

对于完全随机缺失,最常用的处理方法是删除带有缺失数据的观测样本。

这种方法简单直接,但是会减少样本的数量,从而影响统计分析的结果。

对于随机缺失,我们可以使用插补方法来处理缺失数据,比如均值插补、回归插补、最大似然估计等。

而对于非随机缺失,则需要更加复杂的处理方法,比如多重插补、模型融合等。

此外,我们还可以利用现有的变量信息来估计缺失数据。

比如,我们可以利用其他变量的信息来估计缺失数据的数值,然后进行插补。

这种方法可以在一定程度上减少插补的误差,提高数据的准确性。

在因子分析中,处理缺失数据的技巧还包括对模型的适应性进行评估。

我们可以使用各种统计指标来评估因子分析模型的拟合程度,比如卡方值、拟合优度指数、均方根误差等。

通过对模型的适应性进行评估,我们可以更好地理解缺失数据对因子分析结果的影响,从而采取相应的处理方法。

最后,我们需要注意在因子分析中,缺失数据处理过程中可能会引入一定的误差。

因此,我们需要在结果的解释和解读过程中谨慎对待。

在解释因子分析结果时,我们需要考虑到缺失数据处理方法的影响,避免对结果的过度解读。

总的来说,处理缺失数据是因子分析中的一个重要问题,需要我们掌握一定的技巧和方法。

通过了解数据的缺失机制、采用合适的处理方法、评估模型的适应性以及谨慎对待结果的解释,我们可以有效地处理缺失数据,提高因子分析的准确性和可靠性。

大数据分析中如何处理缺失数据(八)

大数据分析中如何处理缺失数据(八)

在大数据分析中,如何处理缺失数据是一个至关重要的问题。

大数据分析是指通过对海量数据进行收集、存储和分析,从中挖掘出有价值的信息和规律。

然而,在实际应用中,往往会遇到数据缺失的情况,这就需要对缺失数据进行有效处理,以保证数据分析的准确性和可靠性。

首先,我们需要了解缺失数据的类型。

数据缺失可以分为完全缺失和部分缺失。

完全缺失是指某个数据项的数值完全缺失,而部分缺失是指某个数据项的某些数值缺失。

针对不同类型的数据缺失,需要采取不同的处理方法。

对于完全缺失的数据,我们可以选择删除这部分数据。

当数据的完全缺失比例较小的时候,删除这部分数据并不会对整体数据分析造成太大影响。

但是当完全缺失的数据占比较大的时候,我们需要考虑其他处理方法。

针对部分缺失的数据,我们可以采用填充的方式进行处理。

常见的填充方法有:均值填充、中位数填充、众数填充、以及使用机器学习模型进行填充等。

这些填充方法可以根据实际情况来选择,以保证填充后的数据尽可能接近真实值。

除了以上的处理方法,我们还可以考虑使用插值的方法对缺失数据进行处理。

插值是一种数学方法,可以根据已知数据来推测缺失数据的值。

常见的插值方法有线性插值、多项式插值、样条插值等。

这些方法可以在一定程度上恢复缺失数据的真实值。

在实际应用中,除了对缺失数据进行处理外,我们还需要考虑如何评估处理后的数据质量。

数据质量的评估可以通过比较处理前后数据的差异来进行。

另外,我们还可以使用一些统计指标,如均值、方差、相关系数等来评估数据的质量。

通过对数据质量的评估,可以保证数据分析结果的准确性和可靠性。

总的来说,在大数据分析中,如何处理缺失数据是一个重要且复杂的问题。

我们需要根据数据的特点和缺失情况,选择合适的处理方法,以保证数据分析的准确性和可靠性。

同时,对处理后的数据进行质量评估也是必不可少的,只有经过严格的评估和验证,才能得出可信的数据分析结果。

pandas缺失值和异常值处理

pandas缺失值和异常值处理

pandas缺失值和异常值处理如何使用pandas在数据分析中处理缺失值和异常值。

一、引言(介绍pandas库)Pandas是一个开源的Python数据分析工具,提供了强大而灵活的数据结构,用于数据操作和分析。

这些数据结构非常适用于处理结构化数据,如表格数据。

其中,缺失值和异常值是我们在数据分析中经常需要处理的问题。

本文将重点介绍如何使用pandas来处理缺失值和异常值。

二、缺失值处理1. 什么是缺失值缺失值即数据缺失的情况,常用NaN表示,表示该位置的数据不可用或不存在。

2. 缺失值的影响缺失值会导致数据分析结果的不准确性,降低模型的预测能力。

因此,在进行数据分析之前,我们需要先处理缺失值问题。

3. 缺失值的检测我们首先通过pandas提供的isnull和notnull函数来检测数据中的缺失值。

isnull函数返回的是一个布尔值的DataFrame,表示数据是否为空值。

notnull函数则返回与isnull函数的结果相反的DataFrame。

pythonimport pandas as pddf = pd.DataFrame({'A':[1, 2, None], 'B':[None, 4, 5]})print(df.isnull())print(df.notnull())4. 缺失值的处理方法处理缺失值的方法有多种,我们可以根据需求选择适合的方法。

(1) 删除缺失值: 如果缺失值对于数据分析不重要,我们可以直接删除包含缺失值的行或列。

可以使用dropna函数实现,该函数默认删除包含缺失值的行。

pythonimport pandas as pddf = pd.DataFrame({'A':[1, 2, None], 'B':[None, 4, 5]})df.dropna() # 删除包含缺失值的行df.dropna(axis=1) # 删除包含缺失值的列(2) 填充缺失值: 如果缺失值对于数据分析是重要的,我们需要填充缺失值。

AI技术应用中常见的数据质量问题解决方法

AI技术应用中常见的数据质量问题解决方法

AI技术应用中常见的数据质量问题解决方法一、引言近年来,人工智能技术的广泛应用带来了许多改变,但同时也暴露出了一系列数据质量问题。

在AI技术应用中,数据的准确性和完整性对模型训练和预测结果至关重要。

本文将探讨常见的数据质量问题,并给出解决方法。

二、数据收集阶段的质量问题1. 数据采集不全面为了构建有效的AI模型,需要收集到充分且具有代表性的数据。

然而,在现实应用中,我们可能受制于时间和资源限制,无法获得包括各种变化因素在内的全面数据。

解决这个问题的方法是增加样本数量、选择更具代表性的样本或使用合成数据进行补充。

2. 数据缺失在真实情况下,数据中往往存在大量缺失值。

这些缺失值可能由于设备故障、人为错误或记录错误等原因导致。

解决这个问题可以采用插补方法来填充缺失值,比如通过均值、中位数或回归模型预测缺失值。

3. 数据重复重复数据会对模型训练产生影响,并导致过拟合现象。

常见原因包括重复采样、重复记录和数据冗余等。

解决这个问题的方法是删除或合并重复数据,确保模型训练过程中不会对同一数据样本进行多次学习。

三、数据清洗阶段的质量问题1. 噪声数据在原始数据中存在噪声是常见的现象。

噪声数据可能由于环境干扰、仪器故障或人工测量误差等原因引入。

解决这个问题可以使用滤波算法来降低噪声水平,例如使用移动平均或中值滤波器。

2. 异常值异常值是与其他观测值明显不同的数值,它们可能导致模型训练产生偏差,并影响预测结果的准确性。

处理异常值的方法主要有两种:一是将其删除,但需要谨慎考虑是否丢失了重要信息;二是使用插补方法进行修正,以尽可能保留其他有价值的特征。

3. 数据标准化在不同来源和格式的数据集组合时,其度量单位和数值范围可能存在差异。

为了消除这些差异并提高模型效果,可以进行数据标准化。

最常见的方法是通过z-score标准化或min-max归一化将数据转换为相同的尺度。

四、建模阶段的质量问题1. 数据不平衡在分类问题中,数据集中某些类别的样本比其他类别更多或更少,这会对模型训练和评估产生偏差。

数据缺失处理方法的比较与优化

数据缺失处理方法的比较与优化

数据缺失处理方法的比较与优化数据缺失是数据分析过程中常见的问题,对于确保数据的准确性和可靠性具有重要意义。

本文将比较和优化几种常见的数据缺失处理方法,旨在提供处理数据缺失问题时的指导和参考。

一、引言数据缺失是指在数据采集或记录过程中,部分数据未被记录或丢失。

这可能由于人为错误、技术故障或其他原因造成。

数据缺失会导致数据集中存在空值或NaN值,进而影响数据分析和模型建立的结果。

二、数据缺失处理方法比较1. 删除法删除法是最简单直接的数据缺失处理方法。

即删除含有缺失值的记录或变量。

删除法的优点是简单高效,能够避免对数据进行任何操作从而保持数据的原始性,但同时也会导致数据量的减少,可能使分析结果失真。

因此,删除法主要适用于缺失值的比例较小的情况。

2. 插补法插补法是通过已有的数据推测缺失值,并用推测值进行填补。

常见的插补方法包括均值替代、中位数替代、众数替代、回归法、插值法等。

插补法的优点是能够最大程度地保留数据样本量,但也存在一定的不确定性和风险,因为推测值可能与真实值存在偏差。

3. 建模法建模法是通过建立模型来预测缺失值。

常见的建模方法包括回归模型、决策树模型、贝叶斯网络等。

建模法的优点是可以考虑多个变量之间的关系,更加准确地预测缺失值,但也需要更多的计算和时间成本。

4. 复制法复制法是通过复制其他记录或变量中的值来填补缺失值。

常见的复制方法有最近邻复制、均值复制等。

复制法的优点是简单易行,不引入额外的误差,但也可能存在样本之间的相关性,从而引入一定的偏差。

三、数据缺失处理方法的优化在实际应用中,根据数据集的特点和缺失情况,可以结合不同的数据处理方法进行综合优化。

以下是一些建议:1. 结合多种方法:根据数据缺失的情况,可以结合删除法、插补法和建模法等多种方法进行数据处理。

比如在缺失值较多的情况下,可以先进行删除或插补,再基于剩余的数据建立模型进行预测。

2. 考虑数据类型和业务场景:对于连续型变量和离散型变量,可以选择不同的插补方法。

数据缺失处理方法

数据缺失处理方法

数据缺失处理方法一、引言在数据分析和数据挖掘的过程中,经常会遇到数据缺失的情况。

数据缺失是指数据集中某些观测值或属性值缺失的情况。

数据缺失可能是由于多种原因造成的,例如人为录入错误、系统故障、数据传输错误等。

缺失数据会对数据分析的准确性和可靠性产生影响,因此需要采取适当的方法来处理缺失数据。

二、数据缺失的类型1. 完全随机缺失(MCAR):缺失数据的发生与其他变量无关,缺失数据的出现是完全随机的。

2. 随机缺失(MAR):缺失数据的发生与其他已观测到的变量有关。

3. 非随机缺失(NMAR):缺失数据的发生与未观测到的变量有关。

三、数据缺失处理方法1. 删除缺失数据如果缺失数据的比例较小且随机分布,可以考虑直接删除缺失数据。

但是需要注意,删除缺失数据可能会导致样本量减少,从而影响数据分析的准确性和可靠性。

2. 插补缺失数据插补是指根据已有的观测值和其他相关变量的信息,对缺失数据进行估计和填补。

常见的插补方法包括:- 均值插补:用变量的均值来填补缺失数据。

- 中位数插补:用变量的中位数来填补缺失数据。

- 众数插补:用变量的众数来填补缺失数据。

- 回归插补:利用其他相关变量建立回归模型,根据已有观测值和其他变量的信息来预测缺失数据。

- 多重插补:通过多次模拟产生多个完整的数据集,每个数据集都包含缺失数据的估计值。

然后对这些完整的数据集进行分析,并将结果汇总。

3. 使用专门的缺失值处理算法针对不同的数据缺失类型,还可以使用专门的缺失值处理算法来处理缺失数据,例如:- EM算法:适用于MCAR和MAR类型的缺失数据。

- MICE算法:适用于MAR类型的缺失数据。

- Hot-Deck算法:根据已有观测值的相似性来填补缺失数据。

四、评估缺失数据处理效果在处理缺失数据后,需要对处理效果进行评估,以确定所采用的方法是否合理和有效。

常用的评估方法包括:- 缺失数据比例:计算处理后的缺失数据比例,与处理前进行对比,如果比例减少说明处理效果较好。

数据清洗报告总结

数据清洗报告总结

数据清洗报告总结一、引言数据清洗是数据分析过程中不可或缺的一环,它涉及诸多数据处理和转换操作,旨在剔除脏数据、修正错误数据以及填补缺失数据,保证数据的准确性和完整性。

本报告总结了在数据清洗过程中所遇到的问题和解决方案,以及数据清洗对后续分析的影响和重要性。

二、数据质量问题在进行数据清洗的过程中,我们遇到了以下几个常见的数据质量问题:1.缺失值:数据集中存在大量缺失值,这些缺失值会影响模型的建立和分析结果的准确性。

2.异常值:数据中出现的异常值可能会导致分析结果产生误导,需要进行剔除或者修正。

3.重复值:数据中存在重复记录,这些重复值会对数据分析和建模产生不良影响。

4.不一致的数据格式:数据集中存在不一致的数据格式,如日期格式、单位标准等。

三、数据清洗方案为了解决上述数据质量问题,我们采取了以下的数据清洗方案:1.缺失值处理:a) 删除含有过高缺失值的列:当某一列的缺失值占比过高时,可以考虑将该列删除。

b) 删除含有缺失值的行:对于缺失值较少的行,可以直接删除。

c) 插值填补:对于缺失值较少的列,可以使用合适的插值方法进行填补,如均值填补、插值法填补等。

2.异常值处理:a) 观察异常值:对异常值进行观察,判断异常值是否合理存在,如果属于极端情况,可以考虑将其删除或者修正。

b) 根据业务领域知识进行处理:根据具体业务领域的知识,对异常值进行处理,例如采取合理的替代值.3.重复值处理:a) 删除重复记录:对于完全一致的重复记录,可以直接删除。

b) 根据索引列剔除重复值:根据索引列(例如ID或者时间戳)对数据进行排序,保留第一个或最后一个记录,删除其余的重复记录。

4.数据格式统一化:a) 日期格式转换:将不同格式的日期数据进行转换,统一为统一的日期格式。

b) 单位标准化:将不同单位的数据进行转换,统一为统一的单位标准。

四、数据清洗的重要性和影响数据清洗在数据分析的全过程中具有重要的作用,其影响主要体现在以下几个方面:1.准确性:通过数据清洗,可以剔除脏数据,修正错误数据,提高数据的准确性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4)有些信息(被认为)是不重要的。如一个属性的取值与给定语境是无关的,或训练数据库的设计者并不在乎某个属性的取值(称为dont-carevalue)[37]。
5)获取这些信息的代价太大。
6)系统实时性能要求较高,即要求得到这些信息前迅速做出判断或决策。
数据缺失机制
在对缺失数据进行处理前,了解数据缺失的机制和形式是十分必要的。将数据集中不含缺失值的变量(属性)称为完全变量,数据集中含有缺失值的变量称为不完全变量,Little 和 Rubin定义了以下三种不同的数据缺失机制[38]:
(2)特殊值填充(Treating Missing Attribute values as Special values)
将空值作为一种特殊的属性值பைடு நூலகம்处理,它不同于其他的任何属性值。如所有的空值都用“unknown”填充。这样将形成另一个有趣的概念,可能导致严重的数据偏离,一般不推荐使用。
(3)平均值填充(Mean/Mode Completer)
(10)多重填补(Multiple Imputation,MI)
多重填补方法[44]分为三个步骤:①为每个空值产生一套可能的填补值,这些值反映了无响应模型的不确定性;每个值都被用来填补数据集中的缺失值,产生若干个完整数据集合。②每个填补数据集合都用针对完整数据集的统计方法进行统计分析。③对来自各个填补数据集的结果进行综合,产生最终的统计推断,这一推断考虑到了由于数据填补而产生的不确定性。该方法将空缺值视为随机样本,这样计算出来的统计推断可能受到空缺值的不确定性的影响。该方法的计算也很复杂。
补齐处理只是将未知值补以我们的主观估计值,不一定完全符合客观事实,在对不完备信息进行补齐处理的同时,我们或多或少地改变了原始的信息系统。而且,对空值不正确的填充往往将新的噪声引入数据中,使挖掘任务产生错误的结果。因此,在许多情况下,我们还是希望在保持原始信息不发生变化的前提下对信息系统进行处理。这就是第三种方法:
3)占位型空值。即无法确定是不存在型空值还是存在型空值,这要随着时间的推移才能够清楚,是最不确定的一类。这种空值除填充空位外,并不代表任何其他信息。
空值处理的重要性和复杂性
数据缺失在许多研究领域都是一个复杂的问题。对数据挖掘来说,空值的存在,造成了以下影响:首先,系统丢失了大量的有用信息;第二,系统中所表现出的不确定性更加显著,系统中蕴涵的确定性成分更难把握;第三,包含空值的数据会使挖掘过程陷入混乱,导致不可靠的输出。
(二)数据补齐
这类方法是用一定的值去填充空值,从而使信息表完备化。通常基于统计学原理,根据决策表中其余对象取值的分布情况来对一个空值进行填充,譬如用其余属性的平均值来进行补充等。数据挖掘中常用的有以下几种补齐方法[41,42]:
(1)人工填写(filling manually)
由于最了解数据的还是用户自己,因此这个方法产生数据偏离最小,可能是填充效果最好的一种。然而一般来说,该方法很费时,当数据规模很大、空值很多的时候,该方法是不可行的。
(4)热卡填充(Hot deck imputation,或就近补齐)
对于一个包含空值的对象,热卡填充法在完整数据中找到一个与它最相似的对象,然后用这个相似对象的值来进行填充。不同的问题可能会选用不同的标准来对相似进行判定。该方法概念上很简单,且利用了数据间的关系来进行空值估计。这个方法的缺点在于难以定义相似标准,主观因素较多。
关于数据缺失问题的总结
作者:enova摘自:《计算机科学论坛》
造成数据缺失的原因
在各种实用的数据库中,属性值缺失的情况经常发全甚至是不可避免的。因此,在大多数情况下,信息系统是不完备的,或者说存在某种程度的不完备。造成数据缺失的原因是多方面的,主要可能有以下几种:
1)有些信息暂时无法获取。例如在医疗数据库中,并非所有病人的所有临床检验结果都能在给定的时间内得到,就致使一部分属性值空缺出来。又如在申请表数据中,对某些问题的反映依赖于对其他问题的回答。
2)有些信息是被遗漏的。可能是因为输入时认为不重要、忘记填写了或对数据理解错误而遗漏,也可能是由于数据采集设备的故障、存储介质的故障、传输媒体的故障、一些人为因素等原因而丢失了。
3)有些对象的某个或某些属性是不可用的。也就是说,对于这个对象来说,该属性值是不存在的,如一个未婚者的配偶姓名、一个儿童的固定收入状况等。
空值语义
对于某个对象的属性值未知的情况,我们称它在该属性的取值为空值(nullvalue)。空值的来源有许多种,因此现实世界中的空值语义也比较复杂。总的说来,可以把空值分成以下三类[39]:
1)不存在型空值。即无法填入的值,或称对象在该属性上无法取值,如一个未婚者的配偶姓名等。
2)存在型空值。即对象在该属性上取值是存在的,但暂时无法知道。一旦对象在该属性上的实际值被确知以后,人们就可以用相应的实际值来取代原来的空值,使信息趋于完全。存在型空值是不确定性的一种表征,该类空值的实际值在当前是未知的。但它有确定性的一面,诸如它的实际值确实存在,总是落在一个人们可以确定的区间内。一般情况下,空值是指存在型空值。
(7)组合完整化方法(Combinatorial Completer)
这种方法是用空缺属性值的所有可能的属性取值来试,并从最终属性的约简结果中选择最好的一个作为填补的属性值。这是以约简为目的的数据补齐方法,能够得到好的约简结果;但是,当数据量很大或者遗漏的属性值较多时,其计算的代价很大。另一种称为条件组合完整化方法(Conditional Combinatorial Complete),填补遗漏属性值的原则是一样的,不同的只是从决策相同的对象中尝试所有的属性值的可能情况,而不是根据信息表中所有对象进行尝试。条件组合完整化方法能够在一定程度上减小组合完整化方法的代价。在信息表包含不完整数据较多的情况下,可能的测试方案将巨增。
(5)K最近距离邻法(K-means clustering)
先根据欧式距离或相关分析来确定距离具有缺失数据样本最近的K个样本,将这K个值加权平均来估计该样本的缺失数据。
(6)使用所有可能的值填充(Assigning All Possiblevalues of the Attribute)
这种方法是用空缺属性值的所有可能的属性取值来填充,能够得到较好的补齐效果。但是,当数据量很大或者遗漏的属性值较多时,其计算的代价很大,可能的测试方案很多。另有一种方法,填补遗漏属性值的原则是一样的,不同的只是从决策相同的对象中尝试所有的属性值的可能情况,而不是根据信息表中所有对象进行尝试,这样能够在一定程度上减小原方法的代价。
(8)回归(Regression)
基于完整的数据集,建立回归方程(模型)。对于包含空值的对象,将已知属性值代入方程来估计未知属性值,以此估计值来进行填充。当变量不是线性相关或预测变量高度相关时会导致有偏差的估计。
(9)期望值最大化方法(Expectation maximization,EM)
EM算法是一种在不完全数据情况下计算极大似然估计或者后验分布的迭代算法[43]。在每一迭代循环过程中交替执行两个步骤:E步(Excepctaion step,期望步),在给定完全数据和前一次迭代所得到的参数估计的情况下计算完全数据对应的对数似然函数的条件期望;M步(Maximzation step,极大化步),用极大化对数似然函数以确定参数的值,并用于下步的迭代。算法在E步和M步之间不断迭代直至收敛,即两次迭代之间的参数变化小于一个预先给定的阈值时结束。该方法可能会陷入局部极值,收敛速度也不是很快,并且计算很复杂。
(11)C4.5方法
通过寻找属性间的关系来对遗失值填充[45]。它寻找之间具有最大相关性的两个属性,其中没有遗失值的一个称为代理属性,另一个称为原始属性,用代理属性决定原始属性中的遗失值。这种基于规则归纳的方法只能处理基数较小的名词型属性。
就几种基于统计的方法而言,删除元组法和平均值法差于hot deck、EM和MI;回归是比较好的一种方法,但仍比不上hot deck和EM;EM缺少MI包含的不确定成分[46]。值得注意的是,这些方法直接处理的是模型参数的估计而不是空缺值预测本身。它们合适于处理无监督学习的问题,而对有监督学习来说,情况就不尽相同了[47]。譬如,你可以删除包含空值的对象用完整的数据集来进行训练,但预测时你却不能忽略包含空值的对象。另外,C4.5和使用所有可能的值填充方法也有较好的补齐效果[42],人工填写和特殊值填充则是一般不推荐使用的。
将信息表中的属性分为数值属性和非数值属性来分别进行处理。如果空值是数值型的,就根据该属性在其他所有对象的取值的平均值来填充该缺失的属性值;如果空值是非数值型的,就根据统计学中的众数原理,用该属性在其他所有对象的取值次数最多的值(即出现频率最高的值)来补齐该缺失的属性值。另外有一种与其相似的方法叫条件平均值填充法(Conditional Mean Completer)。在该方法中,缺失属性值的补齐同样是靠该属性在其他对象中的取值求平均得到,但不同的是用于求平均的值并不是从信息表所有对象中取,而是从与该对象具有相同决策属性值的对象中取得。这两种数据的补齐方法,其基本的出发点都是一样的,以最大概率可能的取值来补充缺失的属性值,只是在具体方法上有一点不同。与其他方法相比,它是用现存数据的多数信息来推测缺失值。
1)完全随机缺失(Missing Completely at Random,MCAR)。数据的缺失与不完全变量以及完全变量都是无关的。
2)随机缺失(Missing at Random,MAR)。数据的缺失仅仅依赖于完全变量。
3)非随机、不可忽略缺失(Not Missing at Random,NMAR,or nonignorable)。不完全变量中数据的缺失依赖于不完全变量本身,这种缺失是不可忽略的。
人工神经网络可以有效的对付空值,但人工神经网络在这方面的研究还有待进一步深入展开。人工神经网络方法在数据挖掘应用中的局限性,本文在2.1.5节中已经进行了阐述,这里就不再介绍了。
总结:大多数数据挖掘系统都是在数据挖掘之前的数据预处理阶段采用第一、第二类方法来对空缺数据进行处理。并不存在一种处理空值的方法可以适合于任何问题。无论哪种方式填充,都无法避免主观因素对原系统的影响,并且在空值过多的情形下将系统完备化是不可行的。从理论上来说,贝叶斯考虑了一切,但是只有当数据集较小或满足某些条件(如多元正态分布)时完全贝叶斯分析才是可行的。而现阶段人工神经网络方法在数据挖掘中的应用仍很有限。值得一提的是,采用不精确信息处理数据的不完备性已得到了广泛的研究。不完备数据的表达方法所依据的理论主要有可信度理论、概率论、模糊集合论、可能性理论,D-S的证据理论等。
相关文档
最新文档