zoukankan      html  css  js  c++  java
  • 使用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在霍尔特指数平滑法参数优选中的应用_吴小明
    配套的
     
     
     
     
     
     
     





    附件列表

     

  • 相关阅读:
    Python 类中方法的内部变量,命名加'self.'变成 self.xxx 和不加直接 xxx 的区别
    用foreach遍历 datagridView 指定列所有的内容
    treeView1.SelectedNode.Level
    YES NO 上一个 下一个
    正则 单词全字匹配查找 reg 边界查找 精确匹配 只匹配字符 不含连续的字符
    抓取2个字符串中间的字符串
    sqlite 60000行 插入到数据库只用不到2秒
    将多行文本以单行的格式保存起来 读和写 ini
    将秒转换成时间格式
    richtextbox Ctrl+V只粘贴纯文本格式
  • 原文地址:https://www.cnblogs.com/xuanlvshu/p/5450873.html
Copyright © 2011-2022 走看看