其实上面这个是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\root\Office16\Library\SOLVER
复制到C:\windows下即可解决上述问题。
最终得到结果:
最优平滑参数平滑参数α =0.38, γ =0.20, 此 时 误 差 平 和 为 5870.28
参考文献:
Excel在霍尔特指数平滑法参数优选中的应用_吴小明
配套的
 
 
 
 
 
 
 

附件列表

使用excel结合线性规划求解Holt-Winters参数的更多相关文章

  1. [转]利用excel进行线性规划求解

                           利用线性回归方法求解生产计划 方法一: 1.建立数学模型: 设变量:设生产拉盖式书桌x台,普通式书桌y台,可得最大利润 ‚确定目标函数及约束条件 目标函 ...

  2. Excel与Google Sheets中实现线性规划求解

    很久没更新过APS系列文章了,这段时间项目工作确实非常紧,所以只能抽点时间学习一下运筹学的入门知识,算是为以后的APS项目积累点基础.看了一些运筹学的书(都是科普级别的)发现原来我目前面对的很多排产. ...

  3. Excel中线性规划求解

    Excel中线性规划求解(如下图) 1. 设置目标输出单元格(蓝线线) 2. 设置线性规划模型目标函数中自变量(红线线) 3. 设置约束条件(黑色线) 4  如果目标函数中自变量要求是非负数,则勾选绿 ...

  4. LP线性规划求解 之 单纯形 算法

    LP线性规划求解 之 单纯形 算法 认识-单纯形 核心: 顶点旋转 随机找到一个初始的基本可行解 不断沿着可行域旋转(pivot) 重复2,直到结果不能改进为止 案例-过程 以上篇的case2的松弛型 ...

  5. 在实现从excel中读取数据作为接口参数遇到的问题

    这个算我自己第一次使用python语言实现 一个功能 一.首先我们先要代码实现如何从excel上读取数据python实现还是比较简单的 1.我使用的是xlrd模块,我们先要安装这个包,这样我们才可以使 ...

  6. 使用python scipy.optimize linprog和lingo线性规划求解最大值,最小值(运筹学学习笔记)

    1.线性规划模型: 2.使用python scipy.optimize linprog求解模型最优解: 在这里我们用到scipy中的linprog进行求解,linprog的用法见https://doc ...

  7. Excel导出中HttpServletResponse消息头参数设置

    response.setCharacterEncoding("UTF-8"); //编码格式为UTF-8 response.setContentType("applica ...

  8. excel VBA构造正则函数(双参数)

    Function zhengze(ze As String, Rng As Range)    Set regx = CreateObject("vbscript.regexp") ...

  9. excel VBA构造正则函数(单参数)

    Function zhengze(Rng As Range)    Set regx = CreateObject("vbscript.regexp")With regx  .Gl ...

随机推荐

  1. CentOS 7安装JDK

    一.卸载系统自带的openjdk 1.查询系统内置的jdk,使用命令如下: rpm -qa | grep java 此时会列出系统中存在的jdk,如果存在就进行卸载,不存在就直接进行安装. 2.进行卸 ...

  2. [mysql]三种方法为root账户指定密码

    前言:前段时间把mysql安装后一直没管它,当时就在奇怪为什么mysql登陆不要密码,原来一直用的超用户账户登陆的(简称超级用户) 其实只怪自己太无知,之前一直用的phpbydamin进行的数据库的可 ...

  3. Asp.Net Core 简单的使用加密的Cookie保存用户状态

    在以前的Asp.Net中可以用 FormsAuthentication 类的一系列方法来使用加密的Cookie存储用户身份,使用简单,可控性强.在Asp.Net Core中是否也可以的?答案是当然的. ...

  4. 不要让catalogs搞死你的eclipse

    不要让catalogs搞死你的eclipse 楼主终于走出校园,踏上软件职场之路.新人要学的东西有很多,要战胜的东西很多,这些东西除了技术本身,还有对未知领域的恐惧,新接触技术,比如新的框架,可能好几 ...

  5. Unity3D脚本行尾(Line Endings)

    行尾不一致(inconsistent line endings ) 开发环境 有时候编辑Unity的脚本文件,代码diff之后,或者从svn更新文件之后,Unity中会出现行尾不一致的信息. 我的开发 ...

  6. 前端MVC学习总结——AngularJS验证、过滤器

    前端MVC学习总结--AngularJS验证.过滤器 目录 一.验证 二.过滤器 2.1.内置过滤器 2.1.1.在模板中使用过滤器 2.1.2.在脚本中调用过滤函数 2.2.自定义过滤器 三.指令( ...

  7. Spring---BeanFactory

    Spring---BeanFactory   BeanFactroy是一个Spring容器,用于创建,配置,管理bean,bean之间的依赖关系也有BeanFactory负责维护: BeanFacto ...

  8. WebApi 接口参数不再困惑:传参详解

    阅读目录 一.get请求 1.基础类型参数 2.实体作为参数 3.数组作为参数 4.“怪异”的get请求 二.post请求 1.基础类型参数 2.实体作为参数 3.数组作为参数 4.后台发送请求参数的 ...

  9. 【跟着子迟品 underscore】JavaScript 中如何判断两个元素是否 "相同"

    Why underscore 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中. 阅读一些著名框架类库的源码,就好像和一个个大师对 ...

  10. RedHat/Centos修改root密码

    Linux主机忘记密码,只要你能接触物理主机都可以修改root密码的!   Redhat6.x 5.x  / Centos6.x  5.x 01.开机-空格/enter 02.e-编辑模式 CentO ...