分类
外汇交易市场策略

指数平滑法 (ETS) 算法

FORECAST.ETS.CONFINT 函数

日程表 必需。 数值数据的独立数组或范围。 日程表中的日期之间必须具有一致的步骤,不能为零。 时间线不需要按 指数平滑法 (ETS) 算法 FORECAST 排序。ETS。CONFINT 将隐式排序以用于计算。 如果提供的时间线中无法识别常量步骤,则 FORECAST。ETS。CONFINT 将返回#NUM! 错误。 如果时间线包含重复值,则 FORECAST。ETS。CONFINT 将返回#VALUE! 错误。 如果时间线和值的范围不相同,则 FORECAST。ETS。CONFINT 将返回#N/A 错误。

Confidence_level 可选。 一个介于 0 和 1 之间的数值 (独占) ,指示计算置信区间的置信水平。 例如,对于 90% 的置信区间,将计算 90% 的置信水平 (指数平滑法 (ETS) 算法 90% 的未来点从预测值计算到此) 。 默认值为 95%。 对于超出范围的数字, (0,1) 预测。ETS。CONFINT 将返回#NUM! 错误。

季节性 可选。 数值。 默认值 1 指数平滑法 (ETS) 算法 表示Excel自动检测季节性,并使用正的、完整的数字作为季节性模式的长度。 0 表示无季节性,这意味着预测将是线性的。 正整数将指示算法使用此长度的模式作为季节性。 对于任何其他值,为 FORECAST。ETS。CONFINT 将返回#NUM! 错误。

最大支持 seasonality 是8,760(一年中的小时数)。 该数字上方的任何 seasonality 将导致"# NUM ! 错误。

数据完成 可选。 虽然时间线需要数据点之间的固定步骤,但 FORECAST。ETS。CONFINT 最多支持 30% 的数据缺失,并会自动调整数据。0 指数平滑法 (ETS) 算法 将指示算法将缺失点视为零。 默认值 1 将计算缺少的点,即将其完成为相邻点的平均值。

聚合 可选。 虽然时间线需要数据点之间的固定步骤,但 FORECAST。ETS。CONFINT 将聚合具有相同时间戳的多个点。 聚合参数是一个数值,指示哪个方法用于聚合具有相同时间戳的几个值。 默认值 0 将使用 AVERAGE,而其他选项为 SUM、COUNT、COUNTA、MIN、MAX、MEDIAN。

预测: 指数平滑法 (ETS) 算法 方法与实践

为了区分具有加性误差的模型和具有乘性误差的模型(还要区分模型使用了哪种方法),我们在表 7.6 的分类中添加了第三个字母。我们将每个状态空间模型标记为 ETS( \(\cdot,\cdot,\cdot\) ),分别代表 (误差,趋势,季节性),这种标记也可以看作是指数平滑。使用与表 7.6 中相同的符号,每个成分的可能取值为:误差 \(=\\) ,趋势 \(=\d \(\>\) ,季节性 \(=\\) 。

ETS(A,N,N):具有加性误差的简单指数平滑

回想 一下简单指数平滑的组成形式: \[\begin \text && \hat_ & = \ell_\\ \text && \ell_ & = \alpha y_ + (指数平滑法 (ETS) 算法 1 - \alpha)\ell_, \end\] 如果我们重新调整这个水平的平滑方程,那么我们会得到“误差修正”形式: \[\begin \ell_ %&= \alpha y_+\ell_-\alpha\ell_\\ &= \ell_+\alpha( y_-\ell_)\\ &= \ell_+\alpha e_ \end\] 其中 \(e_=y_-\ell_=y_-\hat_\) 是 \(t\) 时刻的残差。

训练数据的误差会导致在 \(t=1,\dots,T\) 的整个平滑过程中需要对估计水平进行调整。例如,如果 \(t\) 时刻处的误差为负数,则 \(指数平滑法 (ETS) 算法 y_t < \hat_\) ,这样 \(t-1\) 时刻的水平就已被高估,新的水平 \(\ell_t\) 则是将前一个水平 \(\ell_\) 向下调整。 \(\alpha\) 指数平滑法 (ETS) 算法 越接近1,该水平的估计就越“粗糙”(会发生较大的调整)。 \(\alpha\) 越小,该水平越“平滑”(会发生较小的调整)。

我们还可以写成 \(y_t = \ell_ + e_t\) ,这样每个观察值都可以用前一个水平加上一个误差来表示。为了使它成为创新状态空间模型,我们需要做的是为 \(e_t\) 指定一个概率分布。对于有加性误差的模型,我们假设残差(一步训练误差) \(e_t\) 是服从正态分布的白噪声,均值为0,方差为 \(\sigma^2\) 。其简短表示法是 \(e_t = \varepsilon_t\sim\text(0,\sigma^2)\) ;其中NID代表“独立正态分布”。

那么模型的方程可以写成 \[\begin y_t &= \ell_ + \varepsilon_t \tag\\ \ell_t&=\ell_+\alpha 指数平滑法 (ETS) 算法 \varepsilon_t. \tag \end\] 我们将 (7.3) 称为 测量 (或观测)方程 ,将 (指数平滑法 (ETS) 算法 7.4) 称为 状态 (或转换)方程 。这两个方程和误差的统计分布形成了一个完全特定的统计模型。具体来说,这些构成了一个基于简单指数平滑的创新状态空间模型。

“创新” 这个词来源于这样一个事实:这种规范类型中的所有方程都使用相同的随机误差过程 \(\varepsilon_t\) 。出于同样的原因,这个公式也被称为“单一误差源”模型,与我们在这里没有介绍的另一种可替代的多源误差公式相反。

测量方程显示了观测值与未观测状态之间的关系。在这种情况下,观测值 \(y_t\) 是水平 \(\ell_\) ( \(y_t\) 的可预测部分)和随机误差 \(\varepsilon_t\) ( \(y_t\) 的不可预测部分)的线性函数。对于其他的创新状态空间模型,这种关系可能是非线性的。

转换方程显示了状态随时间的变化情况。平滑参数 \(\alpha\) 的影响与前面讨论的方法相同。例如, \(\alpha\) 控制着后续水平的变化程度: \(\alpha\) 的值越高,水平变化越快; \(\alpha\) 的值越低,变化越平滑。若 \(\alpha=0\) ,该时间序列的水平不随时间变化。若 \(\alpha=1\) ,该模型可简化为一个随机游走模型 , \(y_t=y_+\varepsilon_t\) 。 (有关此模型的讨论,请参见 8.1 节。)

ETS(M,N,指数平滑法 (ETS) 算法 N):具有乘性误差的简单指数平滑

以类似的方式 ,我们可以通过将向前一步训练误差写为相对误差 来具体说明具有乘性误差的模型: \[ \varepsilon_t = \frac><\hat_> \] 其中 \(\varepsilon_t \sim \text(0,\sigma^2)\) 。 代入 \(\hat_=\ell_\) 可以得到 \(指数平滑法 (ETS) 算法 y_t = \ell_+\ell_\varepsilon_t\) 和 \(e_t = y_t - \hat_ = \ell_\varepsilon_t\) 。

然后我们可以写出状态空间模型的乘性形式为 \[\begin y_t&=\ell_(1+\varepsilon_t)\\ \ell_t&=\ell_(1+\alpha \varepsilon_t)。 \end\]

ETS(A,指数平滑法 (ETS) 算法 A,N):具有加性误差的Holt线性方法

对于这个模型 ,我们假设向前一步训练误差由下式给出: \(\varepsilon_t=y_t-\ell_-b_ \sim \text(0,\sigma^2)\) 。将其代入Holt线性方法的误差修正方程中,即可得到 \[\begin y_t&=\ell_+b_+\varepsilon_t\\ \ell_t&=\ell_+b_+\alpha \varepsilon_t\\ b_t&=b_+\beta \varepsilon_t, \end\] 其中,为简单起见,我们设定 \(\beta=\alpha \beta^*\) 。

ETS(M,A,N):具有乘性误差的Holt线性方法

将向前一步训练误差指定为相对误差 可以得到: \[ \varepsilon_t=\frac<(\ell_+b_)> \] 并遵循类似于上文所述方法,将具有乘性误差的Holt线性方法的创新状态空间模型指定为 \[\begin y_t&=(\ell_+b_)(1+\varepsilon_t)\\ \ell_t&=(\ell_+b_)(1+\alpha \varepsilon_t)\\ b_t&=b_+\beta(\ell_+b_) \varepsilon_t \end\]

TFT:一种可以解释时间序列预测结果的深度学习模型

作者将 TFT 与用于多水平预测的各种模型进行比较,包括具有迭代方法(例如DeepAR、DeepSSM、ConvTrans)和直接方法(例如 LSTM Seq2Seq、MQRNN)的各种深度学习模型,以及传统的模型如ARIMA,ETS和TRMF。TFT 在各种数据集上的表现优于所有基准测试。这适用于点预测和不确定性估计,与次优模型相比,TFT 的 P50 损失平均降低 7%,P90 损失平均降低 9%。

可解释性用例

作者展示了 TFT 的设计如何允许分析其各个组件,以通过三个用例增强可解释性。

变量重要性

持久时间模式

可视化持久时间模式有助于理解给定数据集中存在的时间依赖关系。我们通过测量过去在不同范围内的预测中固定滞后的特征的贡献来识别类似的持续模式。如下所示,注意力权重揭示了 TFT 决策所依据的最重要的过去时间步长。

上面显示了随时间变化的注意力权重模式,表明 TFT 如何在没有任何硬编码的情况下学习持久的时间模式。这种能力有助于与用户建立信任,因为输出确认了预期的已知模式。模型开发人员还可以将这些用于模型改进,例如,通过特定的特征工程或数据收集。

识别重大事件

识别突然的变化可能很有用,因为重大事件的存在可能会导致暂时的转变。TFT 使用每个点的注意力模式与平均模式之间的距离来识别显着偏差。下图显示 TFT 可以在事件之间改变其注意力——当波动率较低时,对过去的输入给予同等的关注,而在高波动期间更多地关注急剧的趋势变化。

在高波动期附近可以观察到注意力模式的显着偏差,对应于在 dist(t) 中观察到的峰值,注意力模式之间的距离(红线)。我们使用阈值来表示重要事件,如紫色突出显示。

深度分析数据中心之ETS(Enhanced Transmission Selection)技术

I/O 整合与统一的设想是使适配器、交换机和/或存储系统使用相同的以太网物理基础实施来传送特性差异较大的不同类型流量和处理要求。数据中心管理人员可以采购更少的主机总线和服务器适配器、线缆、交换机和存储系统,削减电力、设备和管理成本。对于 IT 网络管理人员,这等同于安装并操作一个网络而不是一个结构树,但是仍然具有区分不同流量类型的能力。

IO整合后,多个网络流量共享同一条物理链路,带来了一个新的需求:在网络繁忙的情况下,如何保证各个网络能够运行正常的最小带宽。为此IEEE引入ETS(Enhanced Transmission Selection,增强传输选择)协议,来对不同网络流量进行带宽分配,保证各个网络正常运行所需的最小带宽。
在数据中心当中,主要以下三种流量:
1.存储数据流:要求无丢包;
2.高性能计算流:要求低延迟;
3.以太网流:允许一定的丢包和时延。
由于对数据流的要求不同,如上图所示,传统的数据中心使用三种不同类型的网络承载不同的流。
这种方法在小型的数据中心当中还是可接受的。然而,随着数据中心规模的扩大,运行三种不同类型的网络,并不是经济的解决方案。一种可选的方法是:统一采用以太网承载三种不同类型的流,并定义附加机制,以使以太网能够满足三种不同类型网络的要求。为此,IEEE定义了以下规范:
(1)增强传输选择(ETS):用于避免一种流量类型的大规模流量猝发影响其它流量类型,为不同的流量类型提供最小带宽保证。一种流量类型只有在其它流量类型带宽不占用的情况下,才能使用分配带宽之外的额外带宽。这使多种流量类型可在同一网络中和谐共存。
(2)基于优先级的流量控制(PFC):用于满足三种流量在以太网中共存时,存储流量无丢包,且对其它的两种流量无影响的要求。
(3)拥塞通告(CN):用于降低引起拥塞的端点站的报文发送速率,从根源上避免拥塞,以保持网络的畅通,解决因拥塞引发报文重传或流量控制,导致报文时延增加的问题。
(4)数据中心交互协议(DCBX):它是基于LLDP(Link Layer Discovery Protocol)的扩展协议,用于在设备间自动协商并配置PFC、ETS及CN等。
以上四个功能是DCB协议族中定义的解决越来越庞大的数据中心网络所遇到的传统网络无法解决的问题。其他几个协议在后续的文章中陆续分享,今天中要讲述ETS(Enhanced 指数平滑法 (ETS) 算法 Transmission Selection,增强传输选择)协议,是在IEEE 802.1qaz文档定义了ETS功能如下:支持对802.1p类别中的流量进行分类,分成多个传输类(Traffic Class),对各个传输类进行带宽分配。当其中一个传输类没有使用完分配给它的带宽时,其他传输类可以使用剩下的带宽。

二、技术原理:

ETS属于IEEE数据中心的一个基础协议,是802.1Q(8.6 The Forwarding Process)转发规则部分的传输选择(8.6.8)部分。

在IEEE 802.1qaz文档定义了ETS调度方式有如下三种:
(1)WRR算法(Weighted Round Robin)
WRR(Weighted Round Robin)是目前一个比较常见的轮循(Round Robin)调度算法,它给每个队列分配一定的权重(weight)。WRR算法在队列之间进行轮流调度,队列权重决定在从该队列取报文出来发送的次数。WRR算法可以保证每个队列都能够得到调度,不会出现低优先级队列被饿死的情况。如果出现某一个队列为空,那马上换到下一个队列调度,这样可以使带宽资源可以得到充分的利用。

WRR可以保证每个队列能够至少得到相应权重比例的带宽;当某一个队列没有使用完所分配给他的带宽时,其他队列可以使用这部分带宽,一般用于保证队列的最小带宽。

(2)严格优先级算法(SP,Strict priority algorithm)
严格优先级算法总是先从高优先级的队列中取报文出来发送;当高优先级队列中的队列为空时,才从低优先级的队列取报文出来发送。

一般情况下,严格优先级算法用于通过将关键业务报文放到高优先级队列,来保证一些关键业务的正常运行 。

(3)令牌整形调度算法 (CBS,Credit-based shaper algorithm)
整形算法基于现有令牌桶整形算法模型。当队列中有报文时,往桶放入令牌(速率为idleslope);发包时,从桶中取相应的令牌出来;队列中没有任何报文时,令牌个数设置成0。当令牌个数为非负数时,从队列取报文出来发送;当令牌个数为负数时,不从队列取报文出来发送。

下面分析一下CISCO ETS的实现:
思科没有单独把ETS功能的命令分享出来,而是结合原有的QOS配置,QOS功能中实现了ETS标准描述的功能,在数据中心交换机nexus 5000支持入队列和出队列方向的带宽分配,支持6个队列。支持全局和接口上配置ETS功能。
ETS功能默认开启,默认ETS配置如下:
(1)送CPU报文被配置成严格优先级队列,用于保证控制报文的传输,对用户不可见。
(2)FCoE 流量(优先级为3的流量)被配置到一个非丢弃的队列中,带宽分配50%。
(3)正常流量被配置到另外一个队列,带宽分配50%。
思科支持匹配ACL,IP TOS字段,COS字段,ip rtp端口号等属性进行流量区分,将不同的流量放到不同的队列中,基于队列进行带宽分配或者设置优先级队列。
注:有些产商把这个功能叫做CEE,其实描述的是一个功能。