使用excel结合线性规划求解Holt-Winters参数

 
其实上面这个是Holt-Winters无季节趋势模型,
上面的S(t)对应下面的a(t)——截距(平滑值)
           b(t)仍然对应b(t)——趋势,T对应k。
           阿尔法对应阿尔法
           伽马对应贝塔

因为(t)-hat是阿尔法和伽马的函数,所以TSS是阿尔法和伽马的函数。
为使方便理解和操作,该我们使用excel求解的。
原始数据如下:
设计表格结果如下:
也就是我们设定了初始值,S1=143,b1=- 0.65
把H2和H3看做值会变化的单元格,而H4是我们要通过变化H2和H3的取值使其取得最小值的单元格。
在C3中输入:=$H$2*B3+(1- $H$2)*(C2+D2)
                          对应着公式(1)
在D3中输入:=$H$3*(C3-C2)+(1-$H$3)*D2
                          对应着公式(2)
然后自动填充C和D列其余的值。
在E4中输入:=C3+D3
                          对应着公式(3),那么相当于T全部取1,用上一期预测下预期。
在F4中输入:=(B4-E4)^2
                          对应TSS的公式
                          为什么要另t+T的初始值是3呢,因为T恒为1,则t=2,3,4...
                          那么t-1的初始值是1,否则(1)(2)(3)公式中角标会出现0
此时由于H2和H3中的值还没确定,所以上述计算结果有问题,不必惊慌。
 
 
下面我们使用excel的规划求解功能:
如果在数据一栏下面找不到规划求解,那么,文件——选项——加载项——excel加载项——转到——勾选规划求解——点击确定。
但是!如果你使用的是office64位的话,问题就来了:
无法运行“SOLVER.XLAM!GetSolverLabel”宏。可能是因为该宏在此工作簿中不... 
我花了一个早上翻遍了各个论坛和百度知道,都没找到答案,最后,去测试了下同学的office2013,发现他的可以,拷贝相应的文件无效,最后发现其使用的是32位的office,于是换了个32位的office2016,遂解决这个问题,恩,把宏的权限也打开吧。
点击规划求解,按照下图输入。
我们需要输入目标位置,即使得TSS的值最小的那个单元格。
输入可变单元格为H2和H3,使其值变化,最终取得TSS的最小值
点击添加,一个个添加约束条件。
最后点击求解。
如果你是第一次使用,那么很可能弹出
                   文件未找到Solver32.dll的错误。
dll应当是引导文件。
令人奇怪的是,我使用的安装版本,双击运行后,都是立刻安装,不给我选择的机会(所以悲催的在C盘),装完之后,还要运行BAT文件,将零售版转换VL,最终运行对应的KMS.cmd文件。
我的该引导文件在
C:Program Files (x86)Microsoft Office ootOffice16LibrarySOLVER
复制到C:windows下即可解决上述问题。
最终得到结果:
最优平滑参数平滑参数α =0.38, γ =0.20, 此 时 误 差 平 和 为 5870.28
参考文献:
Excel在霍尔特指数平滑法参数优选中的应用_吴小明
配套的
 
 
 
 
 
 
 





附件列表

 

原文地址:https://www.cnblogs.com/xuanlvshu/p/5450873.html