楼主: 时光永痕
1138 0

[数据挖掘新闻] Excel中的时间序列!了解Excel中用于时间序列预测的指数平滑模型 [推广有奖]

  • 0关注
  • 14粉丝

svip3

学术权威

12%

(VIP/贵宾)四级

72%

威望
0
论坛币
26 个
通用积分
49.8622
学术水平
4 点
热心指数
4 点
信用等级
4 点
经验
34070 点
帖子
2731
精华
0
在线时间
317 小时
注册时间
2020-7-21
最后登录
2024-5-13

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
Excel中的时间序列!了解Excel中用于时间序列预测的指数平滑模型
Excel中的时间序列–看起来很自然,对吧?从销售预测到收入审查,我们一直在Excel中查看和设计折线图,这完全符合我们在分析和数据科学中使用Excel的想法。
但是,这就是时间序列预测的问题–对于初学者来说,它似乎令人生畏。这不是在公园散步。我们需要了解如何处理时间成分,而不仅仅是其他变量。那个时间成分常常会弄乱我们的整个分析!
尽管大多数课程和教程都会向您展示如何在Python和R中执行时间序列预测,但是本文没有这样的期望。您所需要的只是Excel的使用知识–您将可以很好地遵循!
指数平滑
那么我们将在本文中介绍什么呢?我们将讨论时间序列预测的指数平滑模型的概念以及所涉及的数学,并向您展示如何在MS Excel中进行指数平滑。
而且,如果您是时间序列预测和Excel的新手,或者需要复习,我们可以为您提供以下两种流行的免费课程:
时间序列预测免费课程
Microsoft Excel:函数和公式
目录
时间序列预测简介
快速查看不同的时间序列组件
指数平滑模型列表
简单指数平滑(在Excel中实现)
双指数平滑(在Excel中实现)
三重指数平滑(在Excel中实现)
时间序列预测简介
我们几乎每天都处理时间序列数据(没有一半时间实现)。在日常生活中,我们经常根据过去的观察和经验对某些事情做出结论。
例如,如果特定公司的股价在过去10天内一直持续下跌,我们可以假设股价明天也会下跌。或者,如果过去一周的每一天都在下雨,我们可以猜测今天也会下雨,因此最好带伞。
以上示例表明,最近的过去可以使我们对未来有一个清晰的认识。这是时间序列预测背后的主要思想。
在时间序列中,每个点都取决于先前的值。因此,我们可以使用过去的值并估计将来的值。“时间”部分在这里至关重要。
您可以参考以下文章,以了解有关时间序列预测的更多信息:
全面的初学者指南,用于创建时间序列预测(使用Python和R中的代码)
快速查看不同的时间序列组件
要了解指数平滑模型及其如何预测未来价值,我们必须熟悉不同的时间序列组成部分。时间序列包含以下三个组成部分:
趋势成分
趋势描述了数据的总体趋势,可能会增加或减少或保持稳定。例如,在取消货币化时,我们观察到了股价的下降趋势。或多年来,我们已经看到智能手机的销售数量有所增加。
趋势通常描绘了该系列的长期运动。看一下以下示例–您可以确定这些系列的趋势吗?
指数平滑指数平滑
即使数据中有些杂音,您也可以观察到上述系列中的趋势呈上升趋势。
季节性成分
下一个重要组成部分是时间序列的季节性组成部分。例如,每年新年或排灯节前后,服装和糖果的销量可能会更高。同样,在整个假日季节,航班预订量可能会增加。而且这种模式可以全年观察到。
如果您仔细观察下面的图像,您会发现有某种模式会不断重复。在序列中观察到的这种重复模式是时间序列的季节性组成部分。它描绘了该系列的短期走势。
指数平滑
指数平滑-季节性
尽管由于该系列中的噪音,您会注意到在第一个系列中识别季节性有点困难。但是第二个系列的季节性很明显。我们有一个每年重复的特殊模式,这表明我们第二个系列具有每年的季节性。如果您探索第一个系列并仔细研究,您会发现它具有每周的季节性。
残留成分
假设我们从一个时间序列中确定趋势和季节成分,然后将其删除。除去这两部分后剩下的就是残留成分。它没有任何模式或趋势。顾名思义,残留成分是不规则的。
因此,既然我们了解了时间序列的不同组成部分,就让我们了解指数平滑算法如何使用它们进行预测。
指数平滑算法列表
指数平滑算法通常用于预测单变量时间序列。这是三种指数平滑算法:
简单的指数平滑
双指数平滑
三重指数平滑
我们将学习每种方法的工作原理,研究每种方法的数学方程式,并在Excel中实现这些算法。
这是我们将要处理的问题陈述:
我们为您提供了当天预订JetRail的人数。我们需要预测未来几个月的预定数量。有关问题陈述的更多详细信息,请查看此链接- 时间序列预测实践问题。
简单指数平滑(在Excel中实现)
我们知道时间序列中的数据点相互依赖。因此,我们可以使用历史数据对未来进行预测。
现在,问题是–如果您要预测明天的股价,您会考虑昨天的价格还是10天之前或去年的价格?
显然,与一年前的价格相比,昨天的价格或上周的价格会更好地了解这一预测。这意味着新近度是预测值的重要因素。这就是指数平滑算法大放异彩的地方。
简单的指数平滑模型会考虑历史值,并为这些值分配权重。这个想法是,对于最近的观察,权重更高。
让我们看一下数学方程式:
?t+ 1 =αYt+α(1-α)Yt-1 +α(1-α)2Yt-2 +α(1-α)3Yt-3 +…。.. ..(1)
哪里,
Yt代表历史价值
这是预测
alphaα是平滑参数
alpha(α)的值介于0-1之间。如您在上面的等式中所看到的,每个随后的Yt的权重都较小。Alpha是一个超参数,我们可以选择alpha的值。下表将帮助您了解更改Alpha值如何影响预测:
如果alpha值较低,则将考虑更多数量的历史值用于预测。对于较高的α值(例如0.8或0.9),很少考虑到观察结果。
现在,如果我们对第二个预测使用相同的等式,则将是:
?t+ 2 =αYt+ 1 +α(1-α)Yt +α(1-α)2Yt-1 +α(1-α)3Yt-2 +α(1-α)4Yt-3 +…。.. ..(2)
同样,我们可以为剩余的预测写出此等式。您可以看到每个新术语都是附加的(1-alpha)。上面的等式也可以写成:
?t+ 2 =αYt+ 1 +(1-α)[αYt+α(1-α)1Yt-1 +α(1-α)2Yt-2 +α(1-α)3Yt-3 +…....] ..(3)
如果比较第一个和第三个方程,您会发现此方程中的方括号本质上具有第一个方程的LHS。因此,我们可以简化第三个方程并将其写为:
?t+ 2 =αYt+ 1 +(1-α)[?t+ 1] .. ..(4)
这是简单指数平滑算法的简化版本。对于后续的预测,我们考虑了先前的观测值和先前预测的(1-alpha)倍。这将为我们节省大量计算。毫无疑问,我们可以使用扩展版本,但这会增加计算量。
现在,我们已经对上述方程式有了很好的了解,让我们继续使用该方程式来预测值并在Excel中实现。
第1步:
首先,我们在第一步中没有任何历史价值。因此,第一个值是手动初始化的。在这里,我只是将其作为第一个观察值:
第2步:
然后,对于下一个值,我们使用了上面讨论的公式(4)。您可以在编辑栏中看到相同的内容:
请注意,这里我们使用“观察值”进行预测。对于测试或验证集,我们将没有任何观察到的值,对吗?那我们不能做进一步的预测吗?让我们找出答案。
第三步:
由于我们没有测试集(或验证集)的实际值,因此我们将最后观察到的值用作实际值。这是我们可以做到的:
在公式栏中查看公式-我们已固定了Yt值。使用带有列和行值的$符号可以完成此操作。因此,这就是您可以对验证集进行预测的方式。在此演示中,我将alpha值固定为0.7。继续尝试不同的alpha值,看看结果如何变化。
这是预测的结果。黄线是预测,蓝线和红线是火车和验证数据:
注意,这里有一条平线。简单的指数平滑算法仅考虑历史值,但趋势成分不包括在预测中。这可以通过双指数平滑算法解决。
双指数平滑(在Excel中实现)
双指数平滑算法使用与简单指数平滑相同的思想。它使用历史值进行预测并以指数级增加的方式分配权重(对最近的观察值权重更高)。此外,双指数平滑还考虑了该系列的“趋势”。
预测(DES)=水平+趋势
“水平”是历史数据的加权平均值,与我们为简单指数平滑计算的平均值相同。我们可以将Level的等式写成:
Lt + 1 =αLt+(1-α)[L't] .. ..(5)
这类似于简单的指数平滑方程。双指数平滑模型中的另一个组成部分是“趋势”。“趋势”的计算公式为:
Tt + 1 =β(Lt + 1- Lt)+(1-β)Tt .. ..(6)
这里的beta是趋势分量的平滑参数。计算出特定时间的趋势是级别项之间的差异(指示级别的增加或减少)。为了考虑过去趋势值的加权总和,我们使用(1-β)Tt,其中Tt是为上一个时间步长计算的趋势。
现在最终的预测将是?t= Lt + Tt。让我们找出如何在Excel中使用这些方程式!
第1步:
和以前一样,由于第1步没有任何历史值,因此我们必须自己初始化这些值。因此,请手动初始化第一个值。
在这里,我简单地将其作为L1的值作为第一个观察值。趋势(T1)的值取为1.2(您可以更改此值并查看预测如何变化)。
此时还定义了平滑参数值。
第2步:
然后,对于下一个值,我们将使用上面讨论的公式(5)和公式(6)。您可以在编辑栏中看到相同的内容。
Lt + 1 =αLt+(1-α)[L't] .. ..(5)
Tt + 1 =β(Lt + 1- Lt)+(1-β)Tt .. ..(6)
像前面的示例一样,在这里我们使用“观察值”进行预测。对于验证或测试集,我们将没有任何观测值。我们将在整个验证集中考虑最后的观测值以进行预测。
第三步:
在前面的公式中,我们将验证集的Lt和Tt替换为最后的观测值。新的预测公式变为:?t= Lt + hTt。
如果Lt和Tt的值是固定的,则所有未来点的预测都将相同。因此,考虑到增加的趋势,将系数“ h”与趋势分量相乘。对于下一个n个预测,h的值取为1
参见公式栏中的方程式-我们已固定Lt和Tt值。以下是预测结果。黄线是预测,而蓝线和红线是火车和验证数据:
注意,这里我们增加了一条线。双指数平滑算法在进行预测时会考虑趋势和历??史值。
让我们看一下三重指数平滑模型,该模型还考虑了时间序列的季节性成分。
三重指数平滑(在Excel中实现)
这也被称为Holt Winter算法。正如您已经猜到的,三重指数平滑算法考虑了三个组成部分:水平,趋势和季节性。
注意,季节性成分可以是加法或乘法形式。这意味着最终预测可以采用以下两种形式之一:
+ 1t + 1 =(等级+趋势)+季节性
+ 1t + 1 =(等级+趋势)x季节性
让我们看一下其中每一个的数学方程式,然后我们将使用Excel中的乘法形式进行预测。
1.三重指数平滑:加性季节性
为了预测值,我们需要找到“水平”,“趋势”和“季节性”的值。在这种情况下,水平方程具有季节性调整后的观测值(Yt – St-m),因为我们正在添加季节性分量进行预测。随之而来的是,Level的计算包括先前观测值的水平和趋势:
Lt =α(Yt – St-m)+(1-α)[Lt-1 + Tt-1]
趋势方程与双指数平滑模型相同,由下式给出:
Tt + 1 =β(Lt + 1- Lt)+(1-β)Tt
最后,我们需要季节性方程来进行预测。在前面的部分中,我们讨论了季节性的概念。季节性是在系列中观察到的重复模式,可用于预测值。例如,在每周的季节性中,该模式将每7天重复一次。
为了捕获季节性,我们考虑了前n个值(而不是立即值)。以下是加性季节成分的方程式:
St = γ(Yt – Lt)+(1 - γ)St-m
Gamma是季节性分量的平滑参数。在这里,我们考虑St-m,这是前m个时间步的季节性。因此,对于每周的季节性,m = 7。
现在让我们看一下三重指数平滑的乘法系列。
2.三重指数平滑:乘法季节性
在本节中,我们将讨论乘法形式的水平,趋势和季节分量方程,并使用这些方程在Excel中建立三重指数平滑模型。我们可以通过以下方式计算级别:
Lt =α(Yt / St-m)+(1-α)[Lt-1 + Tt-1]
请注意,季节性分量未减去,而是在此处进行了划分。趋势方程类似于双指数平滑模型。这是等式:
Tt + 1 =β(Lt + 1- Lt)+(1-β)Tt
最后,我们有一个季节性因素。这是特定时间步长t处的季节性值和tm步长处的季节性值。这是我们如何计算最终值:
St = γ(Yt / Lt)+(1 - γ)St-m
值得深思的–第一步,我们没有St-m值。那么我们将如何计算St的值呢?好吧,我们将必须像在简单和双指数平滑模型中所做的那样初始化值。我们来看一下!
第1步:
首先,对于三重指数平滑算法,我们必须初始化季节性分量的值。由于在此示例中我们有每周的季节性,所以我们必须初始化前7个值。这些将用于计算系列的季节性成分。您可以在结束时初始化这些值。
此外,以以下方式初始化第一级和趋势值:
Lt = Yt / St-7
Tt = Lt – Lt-1
初始化所需的值以及alpha,beta和gamma值后,我们可以继续进行下一步。alpha,beta和gamma是超参数,您可以在末端调整这些值以查看结果如何变化。在这里,我将这些值定义为:
第2步:
这样我们就有了初始值和平滑参数。现在,我们将使用前面讨论的方程式来计算水平,趋势和季节性的值。
在任何时间步长处的电平计算为Lt =α(Yt / St-m)+(1-α)[Lt-1 + Tt-1]。
对于趋势分量,我们将使用时间步长t和t-1处的水平差。除此之外,前面的时间步长的影响是采用(1-β)的权重。这是等式:Tt + 1 =β(Lt + 1- Lt)+(1-β)Tt。
最后,季节成分为:St = γ(Yt / Lt)+(1 - γ)St-m。
现在我们可以使用以下方程式做出最终预测:
?t+ 1 =(Lt + Tt)x St
第三步:
这些方程对于训练数据将非常有效,其中我们具有Yt值,该值用于计算水平和季节分量。进行验证集的预测(其中Yt不可用)有点棘手。
为了在验证阶段确定水平和趋势值,我们将使用与在双指数平滑中实现的想法相同的想法。我们将把Lt和Tt的值固定为最后计算的值。此外,为了包括增加的趋势因子,我们将使用系数h。但是季节性(St)值呢?我们将修复St.的最后七个值。
下图将帮助您更好地理解该想法:
验证集开始于2014年3月26日。因此,最后一次观察到的水平和趋势值在25-03-2014。另外,最后七个季节性成分值用于进行接下来七天的预测。其余系列重复相同的模式。
题库
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:时间序列预测 指数平滑模型 EXCEL 时间序列 exce

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-11 02:33