Excel FORECAST.ETS.STAT 函数

2025年3月17日 | 阅读 8 分钟

统计和预测相辅相成。然而,Microsoft Excel 中有许多函数可以根据先前的数据预测未来值。如果除了预测之外,我们还能获得与预测相关的统计值,那不是很好吗?为此,Excel 推出了 Excel FORECAST.ETS.STAT 函数。

在本教程中,我们将涵盖 FORECAST.ETS.STAT 函数的定义、语法、参数、错误类型及其原因,以及用于理解此公式如何返回与时间序列相关的特定统计值的示例。

Excel FORECAST.ETS.STAT 函数是什么?

"Excel 中的 FORECAST.ETS.STAT 函数可返回与时间序列指数平滑预测相关的特定统计值。"

Excel FORECAST.ETS.STAT 函数通过 FORECAST.ETS 函数返回与时间序列预测相关的特定统计值。statistic_type 参数决定了 FORECAST.ETS.STAT 返回哪个统计信息。此函数使用高级机器学习算法(如指数三重平滑 (ETS))进行工作。

注意:Forecast.Ets.Stat 函数是在 Excel 2016 中引入的。因此,如果您使用的 Excel 版本低于 Excel 2016,则此函数将不可用。它在 Excel 2016 for Mac 中也不可用。

语法

FORECAST.ETS.STAT(values, timeline, statistic_type, [seasonality], [data_completion], [aggregation])

参数

Values (必需) - 此参数代表与日期/时间数组对应的历史已知值数组。

Timeline (必需)- 此参数代表日期/时间的独立数组,与每个值对应。

这必须满足以下条件

  • 指定的 timeline 数组必须与给定的 values 数组具有相同的长度;
  • timeline 中给定的日期/时间之间必须存在一致的步长。
  • timeline 中可能存在重复项,其对应的值将根据 [aggregation] 参数的定义进行聚合。
  • timeline 中给定的日期/时间可以按任何时间顺序指定。

statistic_type (必需)- 此参数代表一个数字值,表示要返回的统计值。

此整数值必须介于 1 到 8 之间,每个值将返回以下内容

statistic_type返回的统计值
1它表示 ETS 算法的 Alpha 参数
2此值表示 ETS 算法的 Beta 参数
3它表示 ETS 算法的 Gamma 参数
4它表示 MASE 指标
5它表示 SMAPE 指标
6它表示 MAE 指标
7它表示 RMSE 指标
8它表示检测到的步长

Seasonality (可选):此参数指示应使用哪个算法来检测数据中的季节性。

由于这是一个可选参数,也可以省略。但如果提供,此参数必须是介于 0 到 8784 之间的正整数,其中 seasonality 值表示以下内容

[seasonality]参数
00 表示没有季节性值(即,对预测使用线性算法)。
1(或省略)如果传递 1,此函数将自动计算季节性值,并为季节性模式的长度取正整数。
整数 ≥ 2 & ≤ 8784此值使用此长度的模式作为季节性。

注意:更高的 seasonality 数字将导致 #NUM! 错误。

Data completion (可选) - 此参数表示算法应如何处理 timeline 中的缺失点。

由于这是一个可选参数,也可以省略。但如果提供,此参数可以具有值 0 或 1,表示以下内容

[data completion]算法
0将缺失点视为值为零。
1(或省略)计算缺失值的邻近值的平均值。

Aggregation (可选)- 此参数指定算法应如何聚合具有相同时间戳的值。

由于这是一个可选参数,也可以省略。但如果提供,此参数可以是从 1 到 7 的任意整数,表示以下内容

[aggregation]聚合方法
1(或省略)表示平均值
2表示计数
3表示 Counta
4表示最大值
5表示中位数
6表示最小值
7表示总和

返回

FORECAST.ETS.STAF 函数返回时间序列预测结果的统计值。

示例

示例 1:使用 FORECAST.ETS.STATS 函数计算与此预测相关的统计值。

如您在下表中所见,我们有一个 2020 年的月度销售表,基于先前的值,我们需要预测 2021 年 1 月和 2021 年 2 月的销售额(要预测值,请使用现有的 FORECAST.ETS 函数)。但正如问题所问,在预测值之前,我们应该了解与此预测相关的统计值。

Excel FORECAST.ETS.STAT function

Excel FORECAST.ETS.STAT 函数可用于返回与此预测相关的统计信息。要使用 Excel FORECAST.ETS.STAT () 函数计算与预测相关的统计值,请遵循以下步骤

步骤 1:选择单元格

在上述问题中,我们已经提供了一个辅助列来计算统计值。因此,我们将选择此列的第一个单元格,即 F4,来应用 FORECAST.ETS.STAT() 公式。

步骤 2:键入 FORECAST.ETS.STAT 函数

要计算给定预测的统计值,我们将使用内置的 FORECAST.ETS.STAT() 函数。因此,键入函数时,请从等号 (=) 开始,后跟预定义的 FORECAST.ETS.STAT 函数。

我们的公式将变为:=FORECAST.ETS.STAT(

Excel FORECAST.ETS.STAT function

步骤 3:提供参数

  • 首先,此函数将要求您指定“Value”参数。在这里,我们将指定与日期/时间数组对应的历史已知值数组。公式将是 =FORECAST.ETS.STAT($C$3:$C$14,
  • 下一个参数是 Timeline。此参数应包含日期/时间的独立数组。公式将是 =FORECAST.ETS.STAT($C$3:$C$14,$B$3:$B$14
  • 下一个参数我们将为此函数指定统计值。虽然问题中已提供统计值。因此,在此参数中,我们将引用单元格:=FORECAST.ETS.STAT($C$3:$C$14,$B$3:$B$14,E4)
  • 这些函数的最后 3 个参数是可选的。因此,我们省略了它们。Excel 将使用以下默认值代替
    • 自动计算季节性,并为季节性模式的长度取正整数。
    • 对于 Data completion 参数,将默认提供 1 作为选项,以将缺失点计算为邻近点的平均值。
    • 在 **Aggregation** 参数中,将使用默认选项值 1,以便通过 AVERAGE 函数来聚合具有相同时间戳的多个数据值。

因此,整个公式变为:

=FORECAST.ETS.STAT($C$3:$C$14,$B$3:$B$14,E4)

Excel FORECAST.ETS.STAT function

注意:由于我们将公式复制到其他单元格,因此使用绝对单元格引用(如 $C$3:$C$14)我们锁定了单元格,以防止在将公式复制到其他单元格时更改其值。

步骤 4:FORECAST.ETS.STAT 函数将返回输出

结果,FORECAST.ETS.STAT 函数将返回时间序列预测结果的统计值。

Excel FORECAST.ETS.STAT function

步骤 5:拖动公式单元格以复制公式

接下来,我们将使用相同的公式计算其余单元格的统计值。对于其余单元格,Values 和 Timeline 参数将相同(因此我们使用了绝对引用),只更改统计值。

选择 F4 公式单元格,然后将光标移至所选框的右角。结果,光标将变为加号 (+) 图标。将图标拖动到后续单元格,您会惊喜地发现公式已复制到这些单元格中。

您将获得不同 statistic_type 的以下统计值。

Excel FORECAST.ETS.STAT function

非常好!现在,我们已经学习了如何使用 Excel FORECAST.ETS.STAT 函数,让我们来处理另一个函数不起作用并显示错误的示例。

示例 2:如果 statistic_type 未包含在 1-8 的范围内,则计算统计值。

在上一个示例中,如果您注意到,所有 statistic_type 值都在 1-8 的范围内。如果此范围超过 8 会怎样?在下表中,我们的一些 statistical_type 值不在 1-8 的范围内。使用 FORECAST.ETS 函数,让我们计算输出。

Excel FORECAST.ETS.STAT function

如果 statistic_type 的值不在 1-8 范围内,Excel FORECAST.ETS.STAT 函数将返回 #NUM 错误。要计算上表的统计输出,请遵循以下步骤

步骤 1:选择单元格

在上述问题中,我们已经提供了一个辅助列来计算统计值。因此,我们将选择此列的第一个单元格,即 F4,来应用 FORECAST.ETS.STAT() 公式。

Excel FORECAST.ETS.STAT function

步骤 2:键入 FORECAST.ETS.STAT 函数

要计算给定预测的统计值,我们将使用内置的 FORECAST.ETS.STAT() 函数。因此,键入函数时,请从等号 (=) 开始,后跟预定义的 FORECAST.ETS.STAT 函数。

我们的公式将变为:=FORECAST.ETS.STAT(

Excel FORECAST.ETS.STAT function

步骤 3:提供参数

  • 首先,此函数将要求您指定“Value”参数。公式将是 =FORECAST.ETS.STAT($C$3:$C$14,
  • 下一个参数是 Timeline。此参数应包含日期/时间的独立数组。公式将是 =FORECAST.ETS.STAT($C$3:$C$14,$B$3:$B$14
  • 下一个参数我们将为此函数指定 statistical_type。虽然问题中已提供统计值。因此,在此参数中,我们将引用单元格:=FORECAST.ETS.STAT($C$3:$C$14,$B$3:$B$14,E4)
  • 这些函数的最后 3 个参数被省略了。

因此,整个公式变为:

=FORECAST.ETS.STAT($C$3:$C$14,$B$3:$B$14,E4)

Excel FORECAST.ETS.STAT function

注意:由于我们将公式复制到其他单元格,因此使用绝对单元格引用(如 $C$3:$C$14)我们锁定了单元格,以防止在将公式复制到其他单元格时更改其值。

步骤 4:FORECAST.ETS.STAT 函数将返回输出

结果,FORECAST.ETS.STAT 函数将返回 num! 值错误,因为 statistic_type 参数超过了 8。

Excel FORECAST.ETS.STAT function

Excel FORECAST.ETS.STAT 函数的要点

FORECAST.ETS.STAT 函数有一些关键点,应在工作时牢记

  1. ETS.STAT 函数是在 Microsoft Excel 2016 中引入的。
  2. 此函数使用高级机器学习算法(如指数三重平滑 (ETS))进行工作。
  3. 如果出现以下情况,FORECAST.ETS.STAT 函数将返回 #VALUE! 错误
    • 指定的 seasonality 参数不是数字
    • data_completion 参数不是数字
    • 参数 aggregation 不是数字
  4. 如果 values 和 timeline 的大小不相同,此函数将返回 #N/A 错误
  5. 如果出现以下情况,此函数将返回 #NUM 错误
    • 在 timeline 参数中找不到一致的步长
    • 所有给定的 timeline 值都相同
    • statistic_type 参数的数字值不在 1-8 范围内
    • seasonality 的数字值不在 0-8784 范围内
    • data_completion 的数字值不是 0 或 1
    • aggregation 的数字值不在 1-7 的范围内