数学建模中数据的预处理、数据清洗步骤可用方法总结

数据清洗主要是对数据中的错误值、异常值、缺失值进行处理,还包括删除那些取值很多的类别型字段,或者取值一致性程度极高的字段

1.首先将数据导入excel中,方便对数据进行初步的审阅查看以及之后导入其它如SPSS等软件进行深入分析

2.对数据的定义进行明确,比如日期格式,数值的单位等,必要的时候进行格式转化

3.异常值的确定与处理

异常值的判断:一般依据题目中给出的限制条件和一些公认的限制进行初步判断

通过绘制箱线图可以观察是否存在离群值

异常值的处理:结合实际情况进行更改,造成异常值的原因有多种:包括人工失误,比如多输入了一位,或者小数点位置输入错误,就可以将数据还原,具体可以这样写:考虑到可能因为人工输入错误,将125岁改为12岁。

  1. 删除异常值
    • 简单直接:直接将含有异常值的记录删除是最简单、最直接的方法。这种方法适用于数据样本大,异常值数量较少,且对总体数据影响不大的情况。
    • 信息丢失:删除异常值可能导致信息丢失,特别是当异常值代表某种真实但罕见现象时。因此,在使用此方法前需要仔细评估异常值的性质和重要性。
  1. 替换异常值
    • 使用统计量替换:用平均值、中位数或众数等统计量来替换异常值是常用方法之一。这样做可以保持数据的完整性,同时减少异常值对整体数据分析的影响。
    • 应用插补法:插补法通过对异常值进行修正,如使用附近观测值的平均或利用预测模型计算替代值。这种方法适用于异常值较多且分布不均的情况。
  1. 保留异常值
    • 重要信息:在某些情况下,异常值可能代表重要的信息,如欺诈检测中的异常行为。在这种情况下,保留异常值并进行特别分析可能更合适。
    • 模型健壮性:对于某些机器学习模型,保留异常值可以测试和提高模型的健壮性。但这需要视具体应用场景和模型要求而定。
  1. 转换异常值
    • 封顶和底部处理:对连续变量设置上下限,将超过范围的值进行修正,即所谓的封顶和底部处理。例如,年龄字段可以设定一个合理的最大值,超过这个值的数据可以被设为最大限值。
    • 数据转换:通过数据转换,如对数值进行对数转换,可以减少异常值对数据分析的影响。这种方法适用于数据具有明显偏斜和异常值集中在高值区域的情况。
  1. 其他方法
    • 分组处理和数据截尾:将数据分组并对组内数据进行汇总处理或仅对数据进行截尾处理。例如,可以将收入数据分成若干组,每组内部进行均值处理,从而平滑异常值的影响。
    • 基于聚类和孤立森林:采用聚类方法如DBSCAN或孤立森林算法来识别和处理异常值。这些高级方法可以在保留大部分数据结构的同时,有效识别和处理离群点。

异常值检验与处理,以及缺失值的检验与处理。为了识别数据中是否存在异常值,可以采用箱线图方法。箱线图能够直观地展示数据的分布情况,特别是能突出显示离群值,这些离群值可能是由于测量误差、输入错误或其他非典型条件造成的。一旦在箱线图中识别出离群值,将进一步通过均值替换法进行处理。这种方法用该变量的其他非离群值的平均数来替换离群值,从而减少其对整体数据分析的影响。在确认数据中无异常值后,接下来需要检查数据集中是否存在缺失值。可以通过SPSS软件进行描述性统计分析,该分析可以揭示数据集中的缺失值数量和位置。对于发现的缺失值,同样推荐使用均值替换法进行处理。这种方法简单有效,尤其是在数据缺失不严重时,可以保持数据集的整体统计特性不变。

在数学建模和数据分析中,检测异常值(outliers)是非常关键的一步,因为异常值可能会对模型的性能和预测准确性产生显著的影响。以下是一些常见的用于检测异常值的方法:

基于统计的方法

  1. Z-Score(标准分数):如果一个数据点的Z-Score的绝对值大于某个阈值(通常为3),则认为它是异常值。
  2. 四分位数范围(IQR):使用箱线图(Boxplot),任何低于第一四分位数减去1.5倍IQR或高于第三四分位数加上1.5倍IQR的数据点都被视为异常值。
  3. 绝对中位差(MAD):计算每个数据点与中位数的绝对偏差,再取这些偏差的中位数,偏离MAD较大的点被视为异常值。
  4. Grubbs检验:用于检测单个或多个异常值,适用于正态分布的数据集。
  5. Dixon检验:用于小样本数据集中的异常值检测。

基于距离的方法

  1. Mahalanobis距离:考虑到变量间的相关性,用于多维空间中检测异常值。
  2. 欧氏距离:在多维空间中,如果一个点与所有其他点的距离都很大,那么这个点可能是异常值。

基于密度的方法

  1. DBSCAN(Density-Based Spatial Clustering of Applications with Noise):基于点的密度将数据点聚类,并将密度低的区域标记为噪声或异常值。

基于聚类的方法

  1. K-means聚类:虽然主要用来聚类,但可以利用离群点远离集群中心的特性来识别异常值。
  2. 层次聚类:异常值往往在聚类树的末端形成较小的子簇。

基于机器学习的方法

  1. 孤立森林(Isolation Forest):随机构建决策树来隔离异常值,异常值被更快地隔离。
  2. One-Class SVM:学习正常数据的边界,任何落在边界之外的数据点都被认为是异常值。
  3. 局部异常因子(LOF):基于局部密度比率来检测异常值。
  4. 自动编码器(Autoencoder):通过重建误差来识别与正常数据模式不匹配的异常值。

基于偏差的方法

  1. 移动窗口滤波算法:在时间序列分析中,使用滑动窗口来检测与趋势或季节性模式不一致的点。

基于深度的方法

  1. 投影寻踪(Projection Pursuit):寻找数据的低维投影,在此投影中异常值可以被容易地识别。

每种方法都有其适用场景和局限性,实际应用时需要根据数据的性质和需求选择合适的方法。在处理异常值时,重要的是不仅要检测它们,还要理解它们出现的原因,以及决定如何处理它们(删除、修正或保留)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值