“为预测准备数据”的工作原理

为预测准备数据工具可帮助对输入要素进行分割,以创建预测模型。 该工具从解释变量、距离要素和解释栅格中提取信息,以进行训练集 - 测试集分割。 还支持对原始数据进行重采样,以解决数据中的不平衡问题。 在预测稀有事件时,平衡数据有助于改善模型性能。

预测模型旨在尽可能多地捕获潜在模式,同时确保模型将来可有效生成新数据。 预测模型的学习依赖输入数据。 此输入数据被称为训练数据。 当基于输入数据创建模型并加以训练时,其目标是获取总体拟合,捕获训练数据中的潜在模式,同时对从未见过的新数据保持较高的预测性能。 目标不是完美复制训练数据,否则将会导致过度拟合。 同时,需要避免过于泛化,因为这可能会导致欠拟合,从而错过数据中的关键模式。

图表,用以展示欠拟合、过度拟合与良好拟合的数据

在开发预测模型时,我们希望确保模型在从未见过的数据(未用于训练模型的数据)上表现良好。 实现良好的拟合包括基于保留数据评估模型,其中预测变量的实际值已知,但这些值未用于训练模型。 我们将能使用多种度量,基于未知数据评估模型性能。 包含这些实际值的保留数据,往往被称为测试数据或验证数据。 一般情况下,测试数据与训练数据集分开,并专门留作模型评估之用。 为预测准备数据工具可简化将输入要素分割为训练集和测试集的流程,以便更好地进行模型训练。

测试集 - 训练集分割的制图表达

分割数据

当训练和评估预测模型时,建议将数据分割为训练和测试数据子集。

分割类型参数提供两种数据分割选项:

  • 随机分割 - 随机选择测试子集,因此在空间上分布在整个研究区域。
  • 空间分割 - 空间测试子集在空间上连续,并跟训练子集分开。 空间分割通过随机选择要素并标识其 K 个最近邻域而生成。 使用空间测试子集的好处在于,测试数据能够模拟与训练数据不在同一个研究区域内的未来预测数据集。

数据泄露

由于潜在数据泄露,选择训练数据时务必深思熟虑。 当训练数据包含该模型在未来预测期间无法访问的信息时,就会发生数据泄露。 这可能会导致对该模型的预测能力出现重大高估。 例如,如果您使用当天下午的航班延误数据来训练模型,以预测当天上午的航班延误情况;则当您希望预测新的一天时,必须等到当天下午才能对上午的航班延误进行预测,但此时延误已经发生。

但是,数据泄露问题也可能表现得更为隐蔽。 例如,受空间自相关的影响,相邻的人口普查区域往往表现出相似性。 当模型基于一个人口普查区域来学习,并基于其相邻人口普查区域来测试时,可能会表现得相当不错。 然而,在预测不同州的人口普查区域时,该模型的性能可能会大幅下降。 这是因为训练数据包含了一个区域的信息,而预测数据集缺乏不同州的类似信息。 为减少因空间邻近性而导致的数据泄露,可将分割类型参数设置为空间分割。 在训练之前,使用为预测预备数据工具创建空间训练集 - 测试集分割,或通过使用交叉验证评估预测值工具来评估各种空间分割。

处理不平衡数据

不平衡数据是指存在偏分布或不均匀分布的数据集。 在分类任务的背景下,不平衡数据会在一个类(少数类)的要素量远远少于其他类(非少数类)时出现。 这种不平衡可能会导致有效训练机器学习模型时遇到挑战。 例如,在预测是否会发生野火的二元分类问题中,如果有 99% 的要素表示不会发生野火(多数类),而只有 1% 的要素表示会发生野火(少数类),则该数据是不平衡的。 这一挑战在模型结果中的体现是:对那些较为稀有的类别具有低敏感度,这意味着模型很难正确识别与这些类别相关的众多要素。 例如,在预测哪些县将会遭遇罕见灾害,或识别存在欺诈行为的个人,这时精准辨识这些稀有类别就变得尤为重要,因为这些类别往往是解决这类问题时的核心案例。 如果模型无法有效学习所有类中的模式,则可能导致对新数据的泛化能力较差,从而降低模型的有效性。

在空间场景中,数据不平衡可能是由采样偏差造成的。 这可能会导致训练样本具有明显的空间聚类,而无法准确代表整体数据分布。 例如,数据采集调查往往集中于靠近道路、小径和其他易于到达的位置,从而导致模型不准确,并可能得出有偏差的结论。 此工具提供了多种平衡方法选项,以对数据重采样并预防这些问题。

平衡方法

平衡类型参数平衡非平衡的要预测的变量参数值,或降低输入要素参数值的空间偏差。

注:

如果将分割类型参数设置为随机分割空间分割,则只将该平衡方法应用于训练数据中的输出要素。 此方法可确保测试要素保留其未经更改的原始形式以进行验证,从而有助于预防数据泄露问题。

平衡类型参数支持以下选项,以帮助您预备训练数据:

  • 随机欠采样 - 随机欠采样是用于平衡非平衡数据的一种技术,具体做法是从非少数类中随机移除要素,直到所有类都拥有相同数目的要素。

    展示随机欠采样的图表和地图

    蓝色要素在少数类中,橙色要素在非少数类中。 如果对数据应用随机欠采样,则该工具会随机移除橙色要素,从而让橙色要素数匹配蓝色要素数。

  • Tomek 欠采样 - Tomek 链接欠采样是一种用于平衡非平衡数据的技术,其原理是在属性空间中移除与少数类距离较近的非少数类样本。 此选项的目的是改善类之间的间隔,为诸如基于森林的增强分类与回归等树模型制定明确的决策边界。 此选项不保证所有类都拥有相同数目的要素。

    展示 Tomek 欠采样的图表和地图

    蓝色要素在少数类中,橙色要素在非少数类中。 在变量空间中,任意一对来自不同类别、且互为最近邻的样本,被称为 Tomek 链接。 如果对数据应用 Tomek 欠采样,当橙色要素与蓝色要素构成 Tomek 链接时,该工具会移除橙色要素。

  • 空间细化 - 空间细化是一种减少采样偏差对模型影响的技术,方法为强制要素与要素保持最小的指定空间间隔。

    当选择一个分类变量作为要预测的变量时,空间细化将单独应用于每个组,以确保每个类别内的平衡表示;否则,它将在整个训练数据集上执行,而不考虑属性值的差异。

    展示空间细化的图表和地图

    位于指定缓冲距离内的任何要素都将被移除。

  • K 中心点欠采样 - K 中心点欠采样是用于平衡非平衡数据的一种技术,具体做法是保持非少数类中一定数目的代表性要素,从而使所有类都拥有相同数目的要素。 如果对数据应用 K 中心点欠采样,则该工具将在非少数类的变量空间中,仅保留作为中心点的 K 要素。 使用 K 中心点而非别的聚类算法,以确保每个聚类中都有一个预先存在的、代表中心的要素。

    了解有关 K 中心点的详细信息。

    展示 K 中心点欠采样的图表和地图

    K 的数目等于少数类中的要素数,即 4。 聚类在每个因变量的类中进行创建,并根据解释变量的值进行聚类。 非少数类中的其余要素来自于每个聚类的中心点。

  • 随机过采样 - 随机过采样是用来平衡非平衡数据的一种技术,具体做法是复制少数类中随机选中的要素,直到所有类都具有相同数目的要素。

    展示随机过采样的图表和地图

    蓝色要素在少数类中,橙色要素在非少数类中。 如果对数据应用随机过采样,则该工具将会随机选中并复制蓝色要素,从而使蓝色要素数匹配橙色要素类。 已复制要素的变量和地理位置与原始要素相同。

  • SMOTE 过采样 - SMOTE(合成少数过采样技术)过采样是用来平衡非平衡数据的一种技术,具体做法是生成少数类中的合成要素,直到所有类都具有相同数目的要素。 选中少数类中的要素,然后选择属性空间中同一少数类的近邻要素,并生成新属性作为这两个要素的插值。 新合成要素几何是原始所选要素几何。

    展示 SMOTE 过采样的图表和地图

    蓝色要素在少数类中,橙色要素在非少数类中。 如果对数据应用 SMOTE 过采样,则该工具将对属性空间中少数类的两个随机所选要素进行插值,以生成合成要素。 合成要素的地理位置与原始所选要素相同,而变量则是从所选要素插值得到的。

地图和图表展示了过采样如何影响类的分布
展示过采样示例。 训练数据集中类别分布的地图和图表展示了过采样之前(上)和过采样之后(下)的情况。

输出

该工具将生成地理处理消息和两个输出:一个输出要素类,以及(可选的)一个输出测试子集要素类。

地理处理消息

可将鼠标悬停在进度条上、单击弹出按钮或展开地理处理窗格中的消息部分来访问消息。 您还可以在地理处理历史记录中查看该工具上一次运行的信息。 其中包含因变量范围诊断解释变量范围诊断表。

​​因变量范围诊断表将列出待预测变量,解释变量范围诊断表将列出所有指定的解释变量。​​ 如果变量为连续变量,则表将汇总字段中的最小值和最大值。 如果变量为分类变量,则表将列出每个类别以及该类别要素的百分比。 如果将分割类型参数设置为随机分割空间分割,则表还将包含测试子集要素的相同诊断。

其他输出

此工具还将生成一个输出要素类,以及(可选的)一个输出测试子集要素类。

输出要素

输入要素可以用作基于森林的增强分类与回归广义线性回归仅存在预测工具以及其他模型中的训练要素。 此要素类中的字段将包含所有解释变量、所有解释距离要素以及待预测的变量。 如果选中从输入要素追加所有字段参数,则输出要素将包含输入要素中的所有字段。 如果选中对分类解释变量进行编码参数,则将为分类解释变量中的每个类别创建一个字段。 每个要素的值将为 0 或 1。 1 指示要素属于该类别,而 0 指示其属于其他类别。 如果分割类型参数设置为,则输出要素将包含输入要素中的所有要素。

输出测试子集要素

输出测试子集要素是可以用作测试要素的输入要素的子集。 例如,可以在使用空间统计模型文件预测工具中使用输出测试子集要素来评估模型精度。

将为输出测试子集要素保留一定比例的输入要素。 可以使用作为测试子集的数据百分比参数指定该比例。 此要素类中的字段将包含所有解释变量、所有解释距离要素以及待预测的变量。 如果选中对分类解释变量进行编码参数,则将为每个类别创建一个字段。 每个要素的值将为 0 或 1。 1 指示要素属于该类别,而 0 指示其属于其他类别。

仅当分割类型参数设置为随机分割空间分割时,才会创建此要素类。

最佳做法

以下是使用该工具时的最佳做法:

  • 务必确保在将分类变量用作要预测的变量解释变量参数值时,每个分类等级都出现在训练数据中。 这至关重要,因为模型在使用新数据进行预测之前,需要查看并学习每个可能的类别。 如果测试数据或验证数据的解释变量中出现了训练数据中未出现的类别,则模型将失败。 如果该工具在尝试迭代 30 次之后,仍无法获取训练数据集中的所有分类等级,则工具将失败。
  • 数据平衡处理后,不应再用作验证数据或测试数据,因为它已无法代表现实世界中将被测量的数据分布。 过采样数据绝不能用作验证数据来评估模型性能。 可以使用欠采样数据,但不建议这样做。 因此,在平衡之前,需要分割训练和测试数据集,并且仅平衡训练集。
  • 当对分类变量进行编码时,将为每个类别创建二进制变量(0 和 1),并将其添加至训练和测试输出要素的属性表。 对于每个类别,1 指示要素属于该类别,而 0 指示其属于其他类别。 在使用线性模型(例如,广义线性回归)时,必须从解释变量中至少忽略一个二值变量,以避免完全多重共线性。
  • 一旦选择了最终模型(例如,模型类型最终确定,已选择参数,已选择变量),您可能希望使用完整数据集重新训练最终模型。 如果您最初将数据分割为训练集和测试集,则可重新组合这些数据集,或再次运行为预测预备数据工具,并将分割类型参数设为不分割,然后运行最终的模型选择。 在这些模型运行结束后,所生成的最终模型文件或其预测结果,将使用全部可用数据进行训练。 此分析步骤并非必需,但许多分析师仍会选择执行。
  • 在从栅格中提取数据时,提取到点的值可能与底层栅格中的像元值不完全匹配。 这是因为在将数值从栅格提取到点时,我们应用了双线性插值法。

参考资料

使用了以下资源来实现该工具:

相关主题