• 客观原因:比如数据存储的失败、存储器损坏、机械故障导致某段时间数据未能收集(对于定时数据采集而言)。
      • 人为原因:由于人的主观失误(如:数据录入人员失误漏录了数据)、历史局限(如:数据在早期尚无记录)、有意隐瞒数据(如:在市场调查中被访人拒绝透露相关问题的答案,或者回答的问题是无效的)导致数据未能收集。
    1. 缺失值的处理有三种方法:

      • 直接使用含有缺失值的数据。

        某些算法可以直接使用含有缺失值的情况,如决策树算法可以直接使用含有缺失值的数据。

        • 优点:直接使用原始数据,排除了人工处理缺失值带来的信息损失。
        • 缺点:只有少量的算法支持这种方式。
      • 删除含有缺失值的数据。

        最简单的办法就是删除含有缺失值的样本。

        • 优点:简单、高效。

        • 缺点:如果样本中的缺失值较少,则直接丢弃样本会损失大量的有效信息。这是对信息的极大浪费。

      • 缺失值补全。

        用最可能的值来插补缺失值。这也是在实际工程中应用最广泛的技术。

        • 优点:保留了原始数据
        • 缺点:计算复杂,而且当插补的值估计不准确时,会对后续的模型引入额外的误差。
    2. 缺失值补全常见有以下方法:

      • 同类均值插补
      • 建模预测
      • 高维映射
      • 多重插补
      • 压缩感知及矩阵补全
    1. 均值插补:

      • 如果样本的属性是连续值,则该属性的缺失值就以该属性有效值的平均值来插补。
      • 如果样本的属性是离散值,则该属性的缺失值就以该属性有效值的众数(出现频率最高的值)来插补。
    2. 均值插补在含有缺失值的属性上的所有缺失值都填补为同一个值。

      而同类均值插补首先将样本进行分类,然后以该类中的样本的均值来插补缺失值。

    1. 建模预测的思想是:将缺失的属性作为预测目标,通过建立模型来预测。

    2. 给定数据集 。

      假设属性 一、缺失值处理 - 图1 含有缺失值,根据 是否缺失,将数据集划分为:

      • 一、缺失值处理 - 图2 :属性 有效的样本的集合。
      • 一、缺失值处理 - 图3 :属性 缺失的样本的集合。

      一、缺失值处理 - 图4 中的样本作为新的训练集,标签值重新定义为属性 的值,通过建模来完成属性 一、缺失值处理 - 图5 的学习。将 中的样本作为测试集,通过学得的模型来预测其属性 一、缺失值处理 - 图6 的值。

    3. 这种方法的效果相对较好,但是该方法有个根本缺陷:

      • 如果其他属性和属性 无关,则预测的结果无意义。
      • 如果预测结果相当准确,则又说明属性 一、缺失值处理 - 图7 可以由其它属性计算得到, 于是属性 信息冗余,没有必要纳入数据集中。
    1. 高维映射的思想是:将属性映射到高维空间。

    2. 给定数据集 一、缺失值处理 - 图8 ,假设属性 的取值为离散值 一、缺失值处理 - 图9 一共 个值,则将该属性扩展为 一、缺失值处理 - 图10 个属性 ,其中:

      • 若样本在属性 一、缺失值处理 - 图11 上的取值为 ,则样本在新的属性 一、缺失值处理 - 图12 上的取值为 1,在新的属性 上的取值为 0 。
      • 若样本在属性 一、缺失值处理 - 图13 上缺失,则样本的新的属性 上的取值为 1,在新的属性 一、缺失值处理 - 图14 上取值为 0 。
    3. 对于连续特征,高维映射无法直接处理。可以在连续特征离散化之后,再进行高维映射。

    1. 多重插补(Multiple Imputation:MI)认为待插补的值是随机的,它的值来自于已观测到的值。

      具体实践上通常是估计出待插补的值,然后再加上不同的噪声,形成多组可选插补值。然后根据某种选择依据,选取最合适的插补值。

    2. 多重插补法的步骤:

      • 通过变量之间的关系对缺失数据进行预测,利用蒙特卡洛方法生成多个完整的数据集。
      • 在每个完整的数据集上进行训练,得到训练后的模型以及评价函数值。
      • 对来自各个完整的数据集的结果,根据评价函数值进行选择,选择评价函数值最大的模型,其对应的插值就是最终的插补值。
    1. 在现实任务中,经常希望根据部分信息来恢复全部信息。压缩感知和矩阵补全就是用于完成这个任务。

    2. 假定有长度为 的离散信号 一、缺失值处理 - 图15 。 根据奈奎斯特采样定理,当采样频率达到 最高频率的两倍时,采样后的信号就保留了原信号的全部信息。

      假定以远小于奈奎斯特采样定理要求的采样频率进行采样,得到了长度为 一、缺失值处理 - 图16 的采样后信号 , 其中 一、缺失值处理 - 图17。 则有: 。

      其中 一、缺失值处理 - 图18 是对信号 的测量矩阵,它确定了以什么样的频率采样以及如何将采样样本组成采样后的信号。

    3. 通常在已知离散信号 一、缺失值处理 - 图19 和测量矩阵 时要得到测量值 一、缺失值处理 - 图20 很容易。但是如果给定测量值 和测量矩阵 一、缺失值处理 - 图21 , 要还原出原始信号 比较困难。这是由于当 一、缺失值处理 - 图22 时, 是一个欠定方程,无法简单的求出数值解。

      假设存在某种线性变换 一、缺失值处理 - 图23 , 使得 ,其中 一、缺失值处理 - 图24 也和 一样是 一、缺失值处理 - 图25 维列向量,则有 。令 一、缺失值处理 - 图26 ,则 。

    4. 如果能够从 一、缺失值处理 - 图27 中恢复 ,则能够通过 一、缺失值处理 - 图28 从 中恢复出 一、缺失值处理 - 图29

      从数学意义上来看,这种做法没有解决任何问题。因为根据 , 从 一、缺失值处理 - 图30 中恢复 这个问题仍然是欠定的。

      但是在实际应用中发现,如果 一、缺失值处理 - 图31 具有稀疏性(即大量的分量为零),则该问题能够很好地求解。这是因为稀疏性使得未知因素的影响大大减少。

      此时 称作稀疏基,而 一、缺失值处理 - 图32 的作用类似于字典,能够将信号转换为稀疏表示。

    1.5.1 压缩感知

    1. 与特征选择、稀疏表示不同,压缩感知侧重的是如何利用信号本身所具有的稀疏性,从部分观测样本中恢复原信号。

    2. 压缩感知分为感知测量和重构恢复两个阶段。

      • 感知测量:关注如何对原始信号进行处理以获得稀疏样本表示。常用的手段是傅里叶变换、小波变换、字典学习、稀疏编码等
      • 重构恢复:关注的是如何基于稀疏性从少量观测中恢复原信号。
    3. 则称 一、缺失值处理 - 图33 满足 限定等距性 。

      此时通过下面的最优化问题可以近乎完美的从 一、缺失值处理 - 图34 中恢复出稀疏信号 ,进而恢复出 一、缺失值处理 - 图35

      这里 一、缺失值处理 - 图36 范数表示向量中非零元素的个数。

    4. 该最优化问题涉及 范数最小化,这是个 NP难问题。但是 一、缺失值处理 - 图37 范数最小化在一定条件下与 范数最小化问题共解,于是实际上只需要求解最小化问题:

      一、缺失值处理 - 图38

      可以将该问题转化为LASSO等价形式,然后通过近端梯度下降法来求解。

    1.5.2 矩阵补全

    1. 矩阵补全解决的问题是:

      其中

      一、缺失值处理 - 图39

      • 为观测矩阵,其中有很多缺失值。
      • 一、缺失值处理 - 图40 为 中所有的有数值的下标的集合。
      • 一、缺失值处理 - 图41 为需要恢复的稀疏信号, 为矩阵 一、缺失值处理 - 图42 的秩。

      该最优化问题也是一个 NP 难问题。

    2. 理论研究表明:若 的秩为 一、缺失值处理 - 图43,则只需要观察 个元素就能够完美恢复出 一、缺失值处理 - 图44