描述
用于在多个预测结果中为时空立方体的每个位置选择最准确的结果。这使您可以在具有相同时间序列数据的时间序列预测工具集中使用多个工具,并为每个位置选择最佳预测。
插图
使用方法
输入预测时空立方体参数中提供的所有时空立方体必须由使用相同输入时空立方体的时间序列预测工具集中的工具进行创建。
对于每个位置,此工具都会识别提供最小验证或预测均方根误差 (RMSE) 的预测方法。这可以导致针对彼此相邻的位置识别出不同的方法。例如,如果您的数据表示各县的年人口,则其中一个县可能会使用基于森林的方法,而邻近的两个县可能会使用 Gompertz 曲线和季节性指数平滑方法。请考虑对不同位置使用形状不同的预测方法是否有意义,并确定按位置选择预测方法是否会显著降低该位置的预测 RMSE 或验证 RMSE。如果在每个位置使用单一方法与逐个位置使用不同方法时准确性几乎相同,则精简原则表明您应对所有位置优先使用单一预测方法。
输出要素将被添加到基于每个位置上所选方法的最终预测时间步长进行渲染的内容窗格。
-
该工具会创建地理处理消息和交互式弹出图表,以帮助您了解和可视化结果。这些消息将包含有关时空立方体的结构、RMSE 值的汇总统计数据,以及用每种预测方法表示的位置数量汇总的信息。使用浏览工具单击要素将在弹出窗格中显示一个折线图,图中会显示该时空立方体的值以及每种预测方法的预测值。在该位置选择的预测方法将在该图表中突出显示。
通常,使用基于森林的预测工具所创建的预测方法可提供最适合某个位置的时间序列,但此类方法在预测值时,通常准确性不如其他方法。如果任何输入预测时空立方体表示基于森林的方法,则建议您保持使用验证结果评估参数处于选中状态。
如果任何输入预测时空立方体预测的未来时间步长数与另一个立方体不同,则输出将包含最少时间步长数的预测。例如,如果提供了两个时空立方体,并且第一个预测三个时间步长,第二个预测五个时间步长,则输出要素和输出时空立方体将预测未来的三个时间步长。
如果未选中使用验证结果评估参数,则将使用 Diebold-Mariano (DM) 或 Harvey、Leybourne 和 Newbold (HLN) 测试比较每个位置的选定方法和所有其他方法。这些测试将确定所选方法所提供的与时间序列的拟合度是否比未选择的方法更好。
如果之前选择在输入预测时空立方体参数中提供的任何时空立方体中检测异常值,此信息将不会包含在输出要素或输出时空立方体中。
如果尚未将立方体另存为 netCDF 文件,则输入预测时空立方体参数中提供的时空立方体无法用作 ModelBuilder 中的中间数据变量。如果在模型中创建了任何时空立方体,但其尚未作为文件存在,则必须在运行整个模型之前在 ModelBuilder 中运行每个工具。
语法
arcpy.stpm.EvaluateForecastsByLocation(in_cubes, output_features, {output_cube}, {evaluate_using_validation_results})
参数 | 说明 | 数据类型 |
in_cubes [in_cubes,...] | 昆输入时空立方体包含要进行比较的预测。为了进行比较,必须根据相同的原始时间序列数据创建所有预测立方体。 | File |
output_features | 新的输出要素类表示时空立方体的位置以及包含每个位置上所选方法的预测值的字段。要素的弹出窗口将显示原始时间序列数据的图表以及所有方法的预测。 | Feature Class |
output_cube (可选) | 输出时空立方体(.nc 文件)包含原始时间序列数据以及每个位置上的所选方法的预测。可视化 3D 时空立方体工具可用于同时查看原始值和预测值。 | File |
evaluate_using_validation_results (可选) | 指定将使用最小验证 RMSE 还是最小预测 RMSE 来确定位置的预测方法。
| Boolean |
代码示例
以下 Python 脚本演示了如何使用 EvaluateForecastsByLocation 函数:
import arcpy
arcpy.env.workspace = "C:/Analysis"
# Compare and merge three forecasts from three forecasts.
arcpy.stpm.EvaluateForecastsByLocation("CurveFit.nc;ExpSmooth.nc;ForestBased.nc",
"Analysis.gdb/Forecasts",
"outEvaluate.nc","USE_VALIDATION")
以下 Python 脚本演示了如何使用 EvaluateForecastsByLocation 函数预测人口:
# Compare and merge three forecasts
# Import system modules
import arcpy
# Set property to overwrite existing output.
arcpy.env.overwriteOutput = True
# Set workspace
workspace = r"C:\Analysis"
arcpy.env.workspace = workspace
# Run tool
arcpy.stpm.EvaluateForecastsByLocation(["CurveFit.nc", "ExpSmooth.nc", "ForestBased.nc"],
"Analysis.gdb/Forecasts", "outEvaluate.nc",
"USE_VALIDATION")
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是