转自https://blog.csdn.net/qq_35673617/article/details/86244873

指数平滑法是一种特殊的加权平均法,加权的特点是对离预测值较近的历史数据给予较大的权数,对离预测期较远的历史数据给予较小的权数,权数由近到远按指数规律递减,所以,这种预测方法被称为指数平滑法。它可分为一次指数平滑法、二次指数平滑法及更高次指数平滑法。

一次指数平滑的局限性:像一次移动平均法一样,一次指数平滑法  只适用于  水平型历史数据  的  预测,而不适用 于 斜坡型线性 趋势 历史数据的预测。而二次指数平滑法就是以斜坡型为模型来预测未来数据。

除了二次指数平滑法外,还有更高次的多次指数平滑法,由于它们在实际预测中并不常用,因此忽略。所以就以二次指数平滑法为例:

 /*** 二次指数平滑法求预测值* @param list 基础数据集合* @param year 未来第几期* @param modulus 平滑系数* @return 预测值*/private static Double getExpect(List<Double> list, int year, Double modulus) {if (list.size()==0 || modulus <= 0 || modulus >= 1) {return null;}Double modulusLeft = 1 - modulus;Double lastIndex = list.get(0);Double lastSecIndex = list.get(0);for (Double data : list) {lastIndex = modulus * data + modulusLeft * lastIndex;lastSecIndex = modulus * lastIndex + modulusLeft * lastSecIndex;}Double a = 2 * lastIndex - lastSecIndex;Double b = (modulus / modulusLeft) * (lastIndex - lastSecIndex);return a + b * year;}

测试代码:

public static void main(String[] args) {List<Double> list = new LinkedList<Double>();list.add(300d);list.add(400d);list.add(500d);Double value = getExpect(list, 1, 0.6);System.out.println((int) Math.ceil(value));}

java二次指数平滑法预测未来的值相关推荐

  1. matlab 二次指数平滑法预测

    二次指数平滑法预测 clc,clear ://清空命令行,工作区 load pre1.txt %原始数据以列向量的方式存放在纯文本文件中 yt=pre1; n=length(yt); alpha=0. ...

  2. Python 二次指数平滑法 预测

    1.先上代码: import numpy as npdef secondaryExponentialSmoothingMethod(list,n_average,alpha,day): # 参数lis ...

  3. 二次指数平滑法 C++

    二次指数平滑法(Second exponential smoothing method) 点击打开链接 二次指数平滑法是对一次指数平滑值作再一次指数平滑的方法.它不能单独地进行预测,必须与一次指数平滑 ...

  4. Python 时间序列建模:用指数平滑法预测股价走势

    指数平滑方法适用于非平稳数据(即具有趋势和/或季节性的数据),其工作方式类似于指数移动平均线.预测是过去观察的加权平均值.这些模型更加强调最近的观察结果,因为权重随时间呈指数级变小.平滑方法很受欢迎, ...

  5. 二次指数平滑法python程序

    根据历史年份的数据来进行未来年份数据的负荷预测,主要可以用于近中期的负荷预测,具体原理有很多帖子都讲过了,直接贴代码 三个参数分别为 历史年份 历史年份负荷量 要预测的数据数量 def double_ ...

  6. 二次指数平滑法 php,二次指数平滑法摘抄_二次指数平滑法算例

    二次指数平滑法摘抄_二次指数平滑法算例 指数平滑法是一种特殊的加权平均法,加权的特点是对离预测值较近的历史数据给予较大的权数,对离预测期较远的历史数据给予较小的权数,权数由近到远按指数规律递减,所以, ...

  7. R语言时间序列(time series)分析实战:简单指数平滑法预测

    R语言时间序列(time series)分析实战:简单指数平滑法预测 目录

  8. 二次指数平滑法matlab程序_二次指数平滑法程序

    二次指数平滑法程序 线性指数平滑法 Matlab 程序,代码如下: 注: Data- 原始数据 s- 一次和二次平滑结果 at- 预测式中的 a 参数 bt- 预测式中的 b 参数 y1- 预测结果 ...

  9. 指数平滑法,二次指数平滑法(Holt’s linear trend method),季节性预测算法(Holt-Winters’ seasonal method)

    指数平滑法 概念:对过去的观察值得加权平均值进行预测的一种方法,适用于水平历史数据 一次指数平滑法:Ft+1 =aYt+(1-a)Ft Ft表示t时预测值,Yt表示t时观察值.t取1时,F1=Y1.a ...

最新文章

  1. LeetCode简单题之二分查找
  2. 调用训练好的模型(tensorflow)
  3. iphone退款申请教程_如何下载下架的APP?买错应用怎么退款?学会这几招iPhone更好用...
  4. Hive旺旺讨论(关于mapjoin)
  5. 教育大数据隐私保护机制与技术研究
  6. Java—泛型详解和使用
  7. mui ajax的值php怎样获取,Mui-ajax获取服务器请求
  8. win7专业版 .bat脚本运行_IT运维老司机:聊聊BAT批处理提升工作效率
  9. wpf之blend之自定义最小化按钮
  10. python3 django 中文乱码_python3 wsgi服务和响应数据中文乱码问题
  11. malloc函数用法
  12. OpenCV处理椒盐噪声以及提高对比度
  13. 鸿蒙系统适配的手机型号,华为鸿蒙系统支持的手机型号大全,鸿蒙系统2.0支持手机型号汇总...
  14. 词表匹配工具FlashText
  15. 目标检测 | CVPR 2019 目标检测论文汇总
  16. 推推:产品的规划和商业化分析
  17. PMP-项目风险管理
  18. CT图像的窗宽窗位(VTK及3Dslicer中的使用)
  19. 高效的JS 拼接字符串
  20. linux设备模型一(基础知识)

热门文章

  1. 自定义控件之绘图篇(一):概述及基本几何图形绘制
  2. Python突击(一)
  3. SAR成像(七):RD成像算法
  4. 怎么删除已经安装的mysql_怎么样删除已经安装的mysql | wdlinux致力于Linux服务器架构,性能优化.免费CDN加速系统,免费智能DNS解析,负载均衡,集群分流...
  5. Exception while invoking! org.apache.thrift.protocol.TProtocolException: Bad version in readMessageB
  6. 国二c语言考试分值,计算机二级C语言题型和评分标准
  7. 什么是python 包_什么是python
  8. mysql cast报错_mysql数据库cast
  9. 解决Github加载ipynb文件缓慢/失败
  10. 2016年中国国际信息通信展览会在北京开幕