通过面插值填充数据之间的间隙

插入波兰老年人的百分比值

如果您知道数据集中大多数要素的值,则可以使用这些值来预测整个区域的连续值。 您需要进行此操作,以绘制波兰老年人的空间分布图。

  1. 下载 FillGaps 工程包
  2. 在计算机上找到已下载的文件。 双击 FillGaps.ppkx 以将其打开。
    注:

    如果您没有 ArcGIS Pro 的访问权限或者 ArcGIS 组织帐户,请参阅软件访问权限选项

    工程随即在 ArcGIS Pro 中打开。

    此波兰地图中的 powiaty 已按老年人百分比进行了着色。 10 个面为空

    此地图描绘了波兰境内类似于县的行政单位 powiaty。 面将被着色以表示 65 岁或 65 岁以上人口的百分比。 遗憾的是,数据还不够完整。 有 10 个 powiaty 中未包含老年人百分比的值。

    您可以在 ArcGIS Living Atlas of the World 中找到该空间数据。 老年人百分比的值系由波兰统计局提供。 (为了实现本教程的教学目的,我们已经人为地移除了缺失值)。

    人口统计数据通常很难用地统计进行建模,因为城市地区将呈现出与农村地区截然不同的模式。 在本案例中,该数据的空间差异相对平滑,没有十分明显的中断。 这意味着该数据可能适用于地统计。

  3. 在功能区分析选项卡的工作流组中,单击地统计向导

    功能区“外观”选项卡上的地统计向导

    随即显示地统计向导窗口。

  4. 地统计向导窗口中的地统计方法下方,选择面插值

    大多数插值方法需要将点数据作为输入,但面插值将使用面。 在本教程中,您将使用接近完整且像拼图碎片一样拼凑在一起的面。 您还可以使用间距较宽或重叠的面。 例如,您可能拥有表示鸟类观测值的数据,这些数据存储在每个观察点所覆盖地面的面中。

    注:

    您可以在什么是面插值?中阅读到有关此地统计方法的详细信息。

    如果您声明将值用作表示平均值、比率或事件,则面插值将以不同的方式处理值。 您将绘制特定年龄的人口百分比(这是一个比率)地图。

  5. 输入数据集 1 下方,针对类型,选择比率。 对于源数据集,选择 Powiaty_Seniors
  6. 对于计数字段,选择 2017 Senior Population,对于人口字段,选择 2017 Total Population

    在地统计向导中选中面插值,并将“类型”设置为比率

  7. 单击下一步

    下一个窗口将显示协方差图。 蓝色十字代表您的数据,其中没有任何建模。 蓝线代表将用于预测整个区域老年人百分比的模型。 您希望编辑模型的参数,直到模型线沿着十字的路径且 90% 的十字位于红色置信区间内为止。 而在目前,情况并非如此。

    协方差图

    不仅该线没有紧紧沿着十字路径,而且有两个十字位于离路径很远的位置。 在许多情况下,您将无法完成理想的模型,但您可以尝试尽可能接近这一结果。 将步长大小设置得小一些将是一个好的开端。 这样做可缩小在通过采样来生成蓝色十字时需要搜索的区域。

  8. 常规属性下,对于步长大小,输入 12000

    模型随即更改。 然而,现在十字与置信区间的距离更远了。

    协方差图

    接下来,您需要尝试通过更改模型形状来改进模型。

  9. 对于模型,选择 Stable
    注:

    Stable 和 K-Bessel 模型通常会提供最好的结果,但所需的处理时间也更长。

    将模型设置为 Stable 的协方差图

    获得完美的模型可能很困难甚至是不可能的,尤其是当您使用人口统计数据而非自然现象时更是如此。 在这种情况下,即使只有一个十字位于置信区间内,模型线也会相对紧密地跟随十字路径。 尽管这个模型并不完美,但它却是一个合适的折衷方案。

  10. 单击下一步

    下一个窗口中将包含预览地图。

    高亮显示邻近面的地统计向导的“搜索邻域”页面

  11. 单击此预览地图的不同部分。

    地图会高亮显示将用于确定您所单击位置的预测值的邻近面。 在分析中,采用红色的面将比采用绿色的面的权重更大。

  12. 单击下一步

    交叉验证页面随即打开。 交叉验证将评估预测表面的精度。 该验证将通过从数据集中移除单个面并使用剩余数据来预测所移除面内的值来实现。

    包含预测散点图和汇总值的交叉验证结果

    此模型的预测散点图外观存在问题。 在理想情况下,红色值应遵循蓝色线和灰色线的趋势。 您的图表看起来更像是一个随机的点云。 另一方面,摘要选项卡上列出的值显示良好。 这些数字应该都接近于零,但标准化均方根误差除外,该值应该接近于 1。 均方根值为 0.02 意味着所预测的老年人比例将比实际值平均低 2%。 这是一个合理的误差幅度。 这些值比散点图更能反映模型的质量。

  13. 单击完成。 在方法报告窗口中,单击确定

    一个已插值图层将添加到地图中。

  14. 内容窗格中,关闭 Powiaty_Seniors 并打开 Powiaty_Seniors 轮廓

    具有较重黑色轮廓的区域是缺失数据的区域。

    powiaty 轮廓下方的橙色和蓝色插值后表面

根据插值创建面

您所创建的插值为连续插值,且会忽略面轮廓。 地统计已经平滑了人口统计数据,以创建一个渐变的表面。 虽然它可能无法精确匹配已知数据,但这样的平滑插值通常更适合预测未知值。

接下来,您需要将连续插值表面转换为面。

  1. 在功能区地图选项卡的导航组中,单击书签并选择 Kluczborski

    从功能区的地图选项卡上打开的书签库

    地图随即导航至 Kluczborski powiat。

    Kluczborski powiat 将覆盖基础地统计图层上的四种颜色

    面插值图层是一个地统计图层,这意味着地图上每个位置的值都略有不同。 您需要填充的一些面(例如这个面)具有各种预测值。 您需要将此预测表面转换为一个面图层,并保证其中每个 powiat 都有一个预测值。

  2. 在功能区分析选项卡的地理处理组中,单击工具

    选择地理处理工具

    将出现地理处理窗格。

  3. 地理处理窗格的搜索栏中,输入面差值图层,然后在结果列表中,选择面插值图层到面工具。
  4. 面插值图层到面工具窗格中,输入以下内容:
    • 对于输入面插值地统计图层,选择面插值
    • 对于输入面要素,选择 Powiaty_Seniors
    • 对于输出面要素类,将输出名称更改为 Interpolated_Polygons。 确保包括下划线。

    已填充参数的面插值图层转面工具

  5. 单击运行

    面图层随即添加到地图。

  6. 在功能区地图选项卡的导航组中,单击全图范围按钮以返回到地图的默认视图。

    功能区中“地图”选项卡上的“全图范围”按钮

  7. 内容窗格中,将 Interpolated_Polygons 图层拖动到 Powiaty_Seniors 轮廓图层下方。

    Interpolated_Polygons 图层已拖动到 Powiaty_Seniors 轮廓图层下方

  8. 关闭面插值

    您现在拥有每个面中老年人百分比的值。

    “内容”窗格和地图,其中 Powiaty_Seniors 轮廓和 Interpolated_Polygons 为仅有的可见图层

    尽管得到了大多数面的实际值,但是您仅希望使用其中 10 个面的预测值。 您将选择 10 个缺少值的面,然后使用计算字段工具单独为这些面添加值。

  9. 右键单击 Interpolated_Polygons 并选择属性表

    属性表随即出现。 其中包含来自 Powiaty_Seniors 图层的所有数据,并且还有三个新字段:IncludedPredictedStandard Error

    属性表中的 Included、Predicted 和 Standard Error 列

  10. 双击 Percent Seniors 列的标题以对其进行排序。

    属性表中 Percent Seniors 列的标题

    现在,所有空记录都位于表的顶部。 接下来,您需要使用来自 Predicted 字段的数据替换掉这些 <Null> 值。

  11. 选中所有缺少老年人数据的行。
    注:

    单击第一条记录的行号并选择多个行,可按 Shift 键或在您想选择的行号上拖动光标。 您还可以使用按属性选择工具

    属性表中 Percent Seniors 为 Null 的行处于选中状态

  12. 在属性表顶部,单击计算按钮。

    位于属性表顶部的“计算”按钮。 已选择 10 个行

    弹出窗口中随即打开计算字段工具。 字段计算将仅应用于所选的行。

  13. 对于字段名称,选择 Percent Seniors

    在地理处理窗格中计算字段,其中字段名称已设置为 Percent Seniors

  14. 字段列表中,向下滚动并双击 Predicted

    PercentSeniors = 框将使用 !Predicted! 填充。该操作将从 Predicted 字段中获取值并将其粘贴到 Percent Seniors 字段中。 但这两个字段中的现有值将被格式化为十进制值而非百分比值。 要对其进行转换,您需要将该值乘以 100。

  15. !Predicted! 后,输入 * 100

    PercentSeniors = 框设置为 !Predicted! * 100

  16. 单击应用
  17. 在属性表中,单击显示所选记录按钮。

    显示所选记录按钮

    Percent Seniors 列中的 <Null> 值已被替换。 未选中的行将保持不变。

    显示 10 个选定行中的新 Percent Seniors 值的属性表

  18. 在属性表顶部,单击清除以清除选择内容

    位于属性表顶部的“清除”按钮

  19. 关闭属性表。

符号化地图

最后,您需要对新图层进行符号化以匹配原始图层。 您需要从 Powiaty_Seniors 图层导入符号系统参数,而不是一一设置符号系统参数。

  1. 内容窗格中,关闭 Powiaty_Seniors 轮廓并单击 Interpolated_Polygons 以将其选中。
  2. 在功能区要素图层选项卡的绘图组中,单击导入

    功能区中“外观”选项卡上的“导入”按钮

    随即出现导入符号系统窗口。

  3. 导入符号系统窗口中,对于符号系统图层,选择 Powiaty_Seniors

    “符号系统图层”设置为 Powiaty_Seniors 的“导入符号系统”工具

  4. 单击应用,然后单击确定

    现在,Areal_Interpolation_Polygons 的符号系统与初始图层 Powiaty_Seniors 的符号系统相匹配,但数据中不再存在任何孔洞。

    此波兰地图中的 powiaty 已按老年人百分比进行了着色,且没有任何间隙

  5. 快速访问工具栏上单击保存按钮。

    快速访问工具栏上的“保存”按钮

用替换值的方式来替换缺失数据的过程称为插补。 通常,我们使用剩余数据集的平均值对值进行插补。 当您的数据是空间数据时,您会拥有更好的选择,因为您可以假设相互距离较近的事物比相互距离较远的事物更具有相似性。 在本教程中,您使用面插值创建了一个覆盖波兰全境的连续表面,以便对 65 岁以上人口的百分比进行建模。 接下来,您从该表面进行了采样,以预测缺失数据的面的值。

不要忘记告诉您的地图读者,有些值是通过插补得到的。 该操作可通过标注、列表或符号系统来完成。 如果您的地图包含在报告中,则您可以描述插补方法。

填充缺失值工具可以完成相同的任务。 对于某些数据集,此工具将得出更好的结果。 而对于其他一些数据集,地统计的效果会更好。 这两种工具都必须在真正尝试后才能知道效果究竟如何,但如果值之间的空间过渡不平滑,则建议使用填充缺失值

注:

可以选择性地进行额外挑战,在地理处理窗格中找到填充缺失值工具并使用它来插补 Powiaty_Seniors 图层中的缺失值。 将您的结果与 Powiaty_full_dataset 中的实际值进行比较,访问方式为打开目录窗格,展开地图文件夹,然后双击完整数据集地图。

请于填充缺失值(时空模式挖掘)和 ArcUser 文章处理缺失数据中了解更多信息。

您可以在教程库中找到更多教程。