数据预处理

  • 数据预处理主要分为:数据清洗、数据补全、数据转换、数据压缩、数据统计
  • 数据预处理是数学建模数据题型的必备操作,即使数据问题不大也要进行基本的预处理
  • 专业的数据预处理涉及专业的机器学习,数学建模要求没那么高

一、数据清洗

重复数据 :删除

异常数据 识别并删除(如果量大还需要填充补全)

  • 正态分布​**$3σ$原则:**

    适合适用总体符合正态分布的数据,不适合符合其他分布的数据

  • 箱型图法:

    计算上下四分位数(R1 和 R3)及四分位距(IQR = R3 - R1)

    定义正常值范围为 [R1 - 1.5 * IQR, R3 + 1.5 * IQR],超出该范围的数值视为异常值。

    image

  • 对于非数值型数据:不合理的数据也删除

    比如 2023C 题 235 删除了滞销打折销售的蔬菜数据

数据过少删除

  • 数据缺失严重;对分析问题作用不大的数据:

    比如 2023C 题 228 删除了销售数据少的某几个蔬菜品类

二、数据补全

  • 均值、众数、正态分布插补:

    定量数据:身高、年龄等数据,数量少则用整体的均值来补缺失,数量多则按照正态分布填充

    定性数据:性别、文化程度;某些事件调查的满意度,用众数补缺失

  • 分段三次 Hermite 插值多项式 (PCHIP)或三次样条插值法:
    适用数据大量连续的实数型数值数据

  • 移动平均插值:(多用于时间序列)

    基本思想:通过对序列中一组相邻点的平均值,以得出当前点的估计值

    步骤:

    1. 窗口设置:选择合适的窗口大小L

    2. 计算移动平均

      • 对于序列中的每个点 yj,计算其移动平均值Sj

        S_j = \frac{1}{L} \sum_{i=j-(L-1)/2}^{j+(L-1)/2} y_i
      • 注意处理边界情况,可能需选择相邻的可用数据进行计算

三、数据转换

格式转换非数值型数据转换为数值型数据

  • 类别数据编码:转换为 One-Hot 编码label 编码

    比如 2023C 题 228 将分类变量进行编码​

    image

    这两个编码有点复杂,没学懂有什么用还是慎重使用,不然代码里要露馅

    One-Hot 编码

    对于变量 Color​ 可能的值有 Red​、Green​ 和 Blue​,则编码为:

    Color_Red   Color_Green   Color_Blue  
    1           0             0      (代表 Red)  
    0           1             0      (代表 Green)  
    0           0             1      (代表 Blue)
    

    label 编码:

    对于变量 Color​ 可能的值有 Red​、Green​ 和 Blue​,则编码为:

    • Red → 0
    • Green → 1
    • Blue → 2
  • 图像数据转换:将图像转化为像素矩阵

  • 文本数据向量化:词频向量化、Word Embedding(语义向量)

数值转换

  • 标准化:有很多种标准化方式

    Z-score 标准化Z=(X−μ)/σ

    **Min-Max 标准化:**​X′=(X−Xmin)/(Xmax−Xmin)

  • 归一化

  • 正向化

  • 对数变换(数据峰右偏用对数)、指数变换(数据峰左偏用指数):可以处理数据分布偏斜的情况 Box-Cox 转换

四、数据压缩(突出特征)

  • 数据聚合:比如 2023 年 C 题将销售记录按照日、月、年聚合

  • 数据聚类:详见聚类分析

  • 数据降维:(都还不懂

    主成分分析(PCA)

    线性判别分析(LDA)

    TSNE 降维模型(可视化好)

    UMAP 降维模型(降维算法高级)

    专业机器学习:

    image

五、数据统计(统计与特征分析)

  • 描述性统计分析:提供数据的基本特征(相关性系数清风讲过)

    b340db3928b675152293da2c03cf35a0

    207b7427a7712c42def3bd6da562cd23

  • 推断性统计分析:对总体进行推断,使用假设检验、置信区间等。

    414360ad3889cd36e48b9bb3c339cac7

    225306e44c2a3bbb972b99b2778d9183

  • 相关性分析

    3a6dd86b28768d514cefca7efde55a53

    image

  • 回归分析

  • **方差分析(ANOVA)**​ (还不懂)

例子均来自国赛 2023C 题 228:

image

补充:

2024 国赛数学建模全流程,从数据预处理到模型评估 (qq.com)

通透!十大数据预处理方法 最强总结! (qq.com)

fe361fbac57629e324ce73caffc5c649-20240903215351-y2sfpqp

Box-Cox 转换也是用来把数据变得更正态的

过采样(Over-sampling)技术

1. 过采样的目的

过采样的主要目标是通过增加少数类样本的数量来平衡数据集,尤其是在处理不平衡分类问题时。少数类样本通常难以被模型有效学习,因此需要通过过采样技术来增强其代表性。

2. SMOTE 的核心步骤

SMOTE 是一种常用的过采样方法,其核心步骤如下:

  1. 选择样本:从少数类样本中随机选择一个样本 ( x )。
  2. 找到最近邻样本:在少数类样本中找到 ( k ) 个最近邻样本 ( x_{neighbor} )。
  3. 生成新样本:在原样本 ( x ) 和一个最近邻样本 ( x_{neighbor} ) 之间生成一个新样本 ( x_{new} ),其计算公式为:
    [
    x_{new} = x + \lambda \times (x_{neighbor} - x)
    ]
    其中 ( \lambda ) 是一个在 0 到 1 之间的随机数。

3. 优点

  • 增加样本数量:通过增加少数类样本的数量,提高分类模型对少数类的识别能力。
  • 多样性:使用 SMOTE 生成的新样本更具多样性,减少了过拟合的风险。

4. 缺点

  • 引入噪声样本:可能会引入噪声样本,导致模型性能下降。
  • 过拟合问题:简单复制方法可能会导致少数类的过拟合问题。

5. 适用场景

  • 不平衡分类问题:特别适用于处理不平衡分类问题,如欺诈检测、医疗诊断等。

总结

过采样,尤其是 SMOTE 方法,是处理不平衡数据集的重要技术。通过生成新的少数类样本,可以提高模型的性能,但也需要注意可能引入的噪声和过拟合问题。

降采样(Under-sampling)技术详解

降采样是一种处理不平衡数据集的技术,旨在通过减少多数类样本的数量来平衡数据集,从而提高分类器对少数类的识别能力。以下是对降采样技术的详细解释,包括其核心步骤、优缺点和适用场景。

1. 核心步骤

  • 计算样本数量

    • 假设多数类样本数量为 ( N_{\text{majority}} ),少数类样本数量为 ( N_{\text{minority}} )。
  • 随机采样

    • 从多数类样本中随机选择与少数类样本数量相同的样本,即选择 ( N_{\text{minority}} ) 个样本。这种方法简单易行,但可能会丢失一些重要的信息。

2. 优点

  • 降低不平衡性

    • 通过减少多数类样本的数量,降低数据集的不平衡性,从而提高分类器对少数类的识别能力。
  • 减少计算开销

    • 降低数据集的规模,减少计算资源的消耗,适合大规模数据集的处理。

3. 缺点

  • 信息损失

    • 随机删除多数类样本可能会导致丢失关键信息,影响模型的整体性能。
  • 适用性限制

    • 仅适用于多数类样本数量远大于少数类样本数量的情况。如果多数类样本数量较少,降采样可能会导致数据不足。

4. 适用场景

  • 不平衡分类问题

    • 特别适用于类别严重不平衡的数据集,如垃圾邮件检测、欺诈检测等场景。
  • 大规模数据集

    • 在处理大规模数据集时,降采样可以有效减少计算负担。

总结

降采样是一种有效的处理不平衡数据集的方法,通过减少多数类样本的数量来提高分类器对少数类的识别能力。然而,使用降采样时需要谨慎,以避免丢失重要信息和影响模型性能。在实际应用中,降采样可以与其他技术(如过采样、集成学习等)结合使用,以获得更好的效果。

特征选择(Feature Selection)详解

特征选择是数据预处理中的一个重要步骤,旨在从高维数据集中选择出最具代表性的特征,以提高模型的性能和可解释性。以下是对特征选择的详细分析,包括其核心公式、优缺点和适用场景。

1. 核心公式

特征选择的核心在于评估每个特征与目标变量之间的关系。以卡方检验为例,其核心公式为:

[
\chi2 = \sum \frac{(O_i - E_i)2}{E_i}
]

  • (O_i) :观察值,表示实际观测到的频数。
  • (E_i) :期望值,表示在假设下预期的频数。

通过计算卡方统计量,可以评估特征与目标变量之间的独立性。特征选择的步骤如下:

  1. 计算卡方统计量:对每个特征 (X_i) 与目标变量 (y) 之间的关系进行评估。
  2. 选择特征:选择卡方统计量最大的前 (k) 个特征。

2. 优点

  • 减少特征数量:通过选择最重要的特征,减少特征数量,降低模型复杂度,防止过拟合。
  • 提高模型性能:去除冗余和无关特征,可以提高模型的泛化能力和解释性。

3. 缺点

  • 信息损失:在特征选择过程中,可能会丢失一些有用的信息,影响模型的性能。
  • 选择方法依赖性:不同的特征选择方法可能会导致不同的特征集,因此需要根据具体情况选择合适的方法。

4. 适用场景

  • 高维数据集:特征选择特别适用于高维数据集,如文本分类、基因表达数据分析等。
  • 模型解释性要求高的场景:在需要对模型进行解释的情况下,特征选择可以帮助识别重要特征。

总结

特征选择是数据预处理中的关键步骤,通过选择最具代表性的特征,可以提高模型的性能和可解释性。尽管特征选择有其优缺点,但在高维数据集和需要模型解释性的场景中,它仍然是一个不可或缺的技术。选择合适的特征选择方法和策略,将有助于构建更有效的机器学习模型。

  • 算法
    428 引用 • 254 回帖 • 24 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...