曲线拟合预测工作原理

曲线拟合预测工具将使用简单曲线拟合对时间序列进行建模,并预测时空立方体中每个位置的未来值。例如,如果使用具有每年人口的时空立方体,则此工具可以预测未来几年的人口。主要输出是最终预测时间步长的地图以及信息性消息和弹出图表。您还可以创建一个新的时空立方体,其中包含来自原始立方体的数据以及追加的预测值。

此工具会将曲线拟合到输入时空立方体中的每个位置,并通过将该曲线外推到未来的时间步长来预测时间序列。曲线可以是线型、抛物线型、S 型(龚珀兹)或指数型。您可以在时空立方体的每个位置使用相同的曲线类型,或者允许该工具设置每个位置最适合的曲线类型。此外,您还可选择检测每个时间序列中的异常值,以识别明显偏离拟合曲线的位置和时间。

曲线类型和潜在应用

此工具支持 4 种曲线类型,可以在曲线类型参数中进行指定。下图显示了 4 种曲线类型中每种曲线类型的典型示例:

显示了 4 种曲线类型。
系统提供了 4 种曲线类型。
  • 线性 - 可以使用直线对每个时间序列进行建模。
    • 方程:线性方程,其中 Xt 为时间 t 处时间序列的值,并且可以根据数据使用最小二乘估计值来估计 ab
    • 潜在应用:线性曲线类型适用于随时间稳定增大或减小的数据。例如,此工具可用于预测人口增长大致呈线性的发展阶段的社区人口。
  • 抛物线 - 使用抛物线(也称为二次曲线)对每个时间序列进行建模。
    • 方程:抛物线方程,其中 Xt 为时间 t 处时间序列的值,并且可以根据数据使用最小二乘估计值来估计 abc
    • 潜在应用:抛物曲线类型适用于随时间改变方向(先递增然后递减,反之亦然)的数据。所有其他曲线类型均假设值随时间连续增大或减小。
  • 指数 - 使用指数曲线(也称为二次曲线)对每个时间序列进行建模。
    • 方程:指数方程,其中 Xt 为时间 t 处时间序列的值,并且可以根据数据使用最小二乘估计值来估计 abk。值 k 允许指数曲线平移以更好地拟合时间序列。
    • 潜在应用:指数曲线类型适用于随时间快速增大或减小的数据。例如,可以用指数曲线来建模发展中地区人口快速增长的时期。
  • S 型(龚珀兹)- 使用龚珀兹曲线对每个时间序列进行建模。这些曲线为 S 型,并在曲线上随附上下限。
    • 方程:龚珀兹方程,其中 Xt 为时间 t 处时间序列的值,并且可以根据数据使用最小二乘估计值来估计 abck。值 ak 必须为非负值。值 k 允许龚珀兹曲线平移以更好地拟合时间序列,并且永远不会超过时间序列最大值的十倍。
    • 潜在应用:龚珀兹曲线类型可用于对具有容量限制的增长进行建模。人口通常首先缓慢增长,当人口密度足以支撑工业后,人口将迅速增长。然后,随着人口密度接近该地区能够支撑的极限,人口增长将再次放缓。

默认情况下,曲线类型参数将使用适合所有四种曲线类型的自动检测选项,并标识一种可以为每个位置的时间序列提供最佳预测的曲线。如果选择此选项,则时空立方体中的不同位置可能会使用不同的曲线类型。将在每个位置使用具有最小验证均方根误差 (RMSE) 的曲线类型;但是,如果未保留任何用于验证的时间步长,则将使用预测 RMSE。这两个统计数据都将另存为输出要素中的字段并将在下一部分中进一步讨论。

预测和验证

该工具在预测每个时间序列时均会构建两个模型。第一个是预测模型,用于预测未来时间步长的值。第二个是验证模型,用于验证预测值。

预测模型

预测模型将通过将所选曲线类型拟合到时空立方体每个位置的时间序列值来进行构造。然后将此曲线外推到未来以预测未来时间片的值。该曲线对每个时间序列的拟合度均会通过预测 RMSE 进行测量,预测 RMSE 等于曲线与时间序列值之间的均方差的平方根。

预测 RMSE,其中 T 为时间步长数,ct 为曲线的值,而 rt 为时间 t 处时间序列的原始值。

下图显示了时间序列的原始值以及拟合到该时间序列的龚珀兹曲线。预测 RMSE 将测量这两个时间序列之间的差异程度。

曲线拟合预测的预测模型

预测模型将拟合到所有时间步长。

预测 RMSE 仅会测量曲线对原始时间序列值的拟合程度。它无法测量预测模型对未来值的实际预测程度。常见的情况是,曲线会紧密拟合时间序列,但在外推时无法提供准确的预测。验证模型可解决此问题。

验证模型

验证模型用于确定预测模型对每个时间序列的未来值的预测程度。该模型需通过排除每个时间序列的部分最终时间步长并将曲线拟合到未排除的数据来进行构造。随后即可将该曲线用于预测所保留数据的值,并将预测值与隐藏的原始值进行比较。默认情况下,系统将保留 10% 的时间步长用于验证,但是可以使用为进行验证排除的时间步长数参数来更改此数字。所排除的时间步长数不能超过时间步长数的 25%,且如果将其指定为 0,则系统将不执行任何验证。预测的精度需通过计算验证 RMSE 统计数据来进行测量,该统计数据等于所排除时间步长的预测值与原始值之间的均方差的平方根。

验证 RMSE,其中 T 为时间步长数,m 是为验证保留的时间步长数,ct 为根据前 T-m 个时间步长预测的值,而 rt 是为在时间 t 处验证保留的时间序列的原始值。

下图显示了拟合至时间序列前半部分,然后进行外推以预测时间序列后半部分的龚珀兹曲线。验证 RMSE 将测量所保留时间步长处的预测值与原始值之间的差异程度。

曲线拟合预测的验证模型

验证模型将拟合至时间序列前半部分,并用于预测后半部分。

验证模型十分重要,因为它可以直接将预测值与原始值进行比较,以衡量曲线的预测能力。尽管它实际上并不用于预测,但可将其用于证明预测模型的合理性。

注:

时间序列预测中的验证与名为交叉验证的常用技术相似但不相同。两者的不同之处在于,预测验证始终排除用于验证的最终时间步长,而交叉验证要么排除数据的随机子集,要么按顺序排除每个值。

解释

在解释“预测 RMSE”和“验证 RMSE”值时,需要牢记一些注意事项。

  • RMSE 值之间无法直接进行比较,因为它们测量的是不同的事物。预测 RMSE 测量的是曲线对原始时间序列值的拟合度,而验证 RMSE 测量的是曲线对未来值的预测能力。因为“预测 RMSE”使用的数据更多且不进行外推,所以它通常比“验证 RMSE”要小。
  • 两种 RMSE 值均采用数据的单位。例如,如果您的数据是以摄氏度为单位的温度测量值,则验证 RMSE 50 将是非常高的值,因为这意味着预测值与真值平均相差大约 50 度。但是,如果您的数据是一家大型零售商店的日收入(以美元为单位),则相同的验证 RMSE 50 将会是很小的值,因为这意味着所预测日收入平均每天与真值的差仅为 50 美元。

识别时间序列异常值

时间序列数据中的异常值是与时间序列中其他值的模式和趋势显著不同的值。例如,在假期前后的大量在线购物或暴雨期间的大量交通事故可能会被视为其时间序列中的异常值。简单数据输入错误(例如省略数字的小数)是异常值的另一个常见来源。确定时间序列预测中的异常值非常重要,因为异常值会影响用于预测未来值的预测模型,即使位置时间序列中的少量异常值也会大大降低预测的准确性和可靠性。具有异常值的位置,尤其是在时间序列开始或结束时出现异常值的位置,可能会产生误导性的预测,并且识别这些位置可以帮助您确定您应对每个位置的预测值有多大的信心。

异常值不是仅由其原始值确定,而是由其值与预测模型的拟合值相差多少来确定。这意味着,一个值是否被确定为异常值取决于上下文,并且取决于它的位置和时间。预测模型将基于整个时间序列定义期望值,而异常值是与该基准显著偏离的值。例如,考虑年平均温度的时间序列。由于过去几十年来平均温度升高,因此拟合的温度预测模型也将随着时间的推移而增加,以反映这种升高现象。这意味着,如果 2020 年的温度与 1950 年被视为典型且非异常值的温度值相同,则很可能被视为异常值。换句话说,按照 2020 年的标准,1950 年的典型温度将被视为非常低。

您可以选择在每个位置使用识别异常值参数来检测时间序列异常值。如果指定,则将对每个位置执行广义极值标准化偏差 (ESD) 测试,以测试时间序列异常值。可以使用置信度参数指定测试的置信度,默认情况下将使用 90% 的测试的置信度。广义 ESD 测试将在每个位置迭代测试单个异常值、两个异常值、三个异常值,依此类推,直到最大异常值数参数(默认为时间步长数的 5%,四舍五入),并且返回具有统计显著性数量的异常值。可以在输出要素的属性表中看到每个位置的异常值,而在下一部分中讨论的时间序列弹出图表中则可看到单个异常值。

了解有关时间序列分析中的异常值、广义 ESD 测试以及如何解释结果的详细信息

工具输出

此工具的主要输出为 2D 要素类,其中显示了使用存储为字段的所有其他时间步长的预测,按最终预测时间步长符号化的输入时空立方体中的每个位置。虽然会独立预测每个位置,并且未考虑空间关系,但是对于具有类似时间序列的区域,地图可能会显示空间模式。

弹出图表

使用浏览导航工具单击地图上的任何要素将在弹出窗口窗格中显示一个图表,其中显示了时空立方体的值以及拟合的曲线和预测值。时空立方体的值将显示为蓝色,并通过蓝线进行连接。拟合的值将显示为橙色,并通过表示曲线的橙色虚线进行连接。预测的值将显示为橙色,并通过表示曲线的外推和预测的橙色实线进行连接。可以将鼠标悬停在图表中的任何点上,以查看该点的日期和值。此外,如果您选择检测时间序列中的异常值,则所有异常值都会显示为紫色大圆点。

时间序列弹出窗口

弹出图表将显示原始值、拟合值和预测值。

注:

将输出要素另存为 shapefile (.shp) 时,将不会创建弹出图表。

地理处理消息

此工具将提供许多消息,其中包含有关工具执行的信息。消息具有三个主要部分。

输入时空立方体详细信息部分将显示输入时空立方体的属性以及有关时间步长间隔、时间步长数、位置数和时空图格数的信息。在第一部分中显示的属性取决于最初创建立方体的方式,因此该信息因立方体的不同而有所不同。

分析详细信息部分将显示预测结果的属性,其中包括预测的时间步长数、针对验证排除的时间步长数以及有关预测的时间步长的信息。

各位置的精度汇总部分将显示所有位置之间的“预测 RMSE”和“验证 RMSE”的汇总统计数据。对于每个值,将显示最小值、最大值、平均值、中值和标准差。

如果针对曲线类型参数选择了自动检测,则将显示所选曲线类型汇总部分。此部分将显示针对四种曲线类型中的每种类型选择的位置数量和位置百分比。

如果您选择使用使用异常值选项参数来检测时间序列异常值,则会显示时间序列异常值汇总部分。此部分显示的信息包括异常值的位置数量和百分比、最多异常值的时间步长,以及按位置和时间步长计算的异常值数量的汇总统计数据。

注:

在工具执行期间,地理处理消息将显示在地理处理窗格底部。可将鼠标悬停在进度条上、单击弹出按钮 弹出 或展开地理处理窗格中的消息部分来访问消息。您还可以使用地理处理历史访问之前运行工具的消息。

输出要素的字段

除了对象 ID、几何字段以及包含弹出图表的字段之外,输出要素将具有以下字段:

  • 位置 ID (LOCATION) - 时空立方体相应位置的位置 ID。
  • (时间步长)中(分析变量)的预测FCAST_1FCAST_2,依此类推)- 每个未来时间步长的预测值。字段别名将显示分析变量的名称以及预测的日期。将为每个预测的时间步长创建此类型的字段。
  • 预测均方根误差 (F_RMSE) - 预测 RMSE。
  • 验证均方根误差 (V_RMSE) - 验证 RMSE。如果未针对验证排除任何时间步长,则不会创建此字段。
  • 预测方法 (METHOD) - 在该位置使用的曲线类型。如果使用自动检测选项,则此字段可用于标识位置的曲线类型。
  • 预测方程 (EQUATION) - 显示该位置处预测曲线方程的文本字段。如果使用自动检测选项,则不会创建此字段。
  • 模型拟合异常值数 (N_OUTLIERS) - 在该位置的时间序列中检测到的异常值数。仅当您选择使用异常值选项参数检测异常值时,才会创建此字段。

输出时空立方体

如果指定输出时空立方体,则输出立方体将包含输入时空立方体中的所有原始值以及附加的预测值。这一新建的时空立方体可以使用在 2D 模式下显示时空立方体在 3D 模式下显示时空立方体工具进行显示,也可以用作时空模式挖掘工具箱中工具的输入,例如新兴热点分析时间序列聚类

可以使用按位置评估预测工具来比较和合并多个预测的时空立方体。由此即可使用不同的预测工具和参数来创建多个预测立方体,并且该工具可以使用“预测 RMSE”或“验证 RMSE”为每个位置标识最佳预测。

最佳做法和限制

在确定此工具是否适合您的数据以及应该选择的参数时,应考虑以下几点:

  • 时间序列预测工具集中的其他预测工具相比,此工具最简单,并且最适用于遵循可预测趋势且未显示明显季节性的时间序列。如果您的数据遵循复杂趋势或者显示明显季节性周期,则建议您使用其他预测工具。
  • 确定针对验证排除的时间步长数量非常重要。排除的时间步长越多,则用于评估验证模型的时间步长越少。但是,如果排除的时间步长过少,则将使用少量数据来评估“验证 RMSE”,并且可能会产生误导。建议您排除尽可能多的时间步长,同时仍保持足够的时间步长来估计验证模型。此外,建议您针对验证至少保留与要预测的时间步长数量相同的时间步长(如果时空立方体具有足够的时间步长以允许执行此操作)。
  • 此工具不会为预测值生成置信区间。

其他资源

有关使用简单曲线拟合进行预测的详细信息,请参阅以下教科书:

  • Klosterman, R. E., Brooks, K., Drucker, J., Feser, E., & Renski, H. (2018). Planning support methods: Urban and regional analysis and projection. Rowman & Littlefield. ISBN: 1442220309

相关主题