时间序列-指数平滑
2015-07-31 15:03
225 查看
时间序列的主要成分一般认为有:平稳,趋势,季节等和几者的累加、累积
一般的基础分析方法,首先就是做平滑,那么为什么要做平滑呢?说了也是白说,平滑不就是平均滑动吗,就是为了通过移动平均值来消除或者消弱序列中不规则变动,试图发现其中的规律。
这里先来说说指数平滑:
指数平滑法有几种不同形式:
一次指数平滑法针对没有趋势和季节性的序列,
二次指数平滑法针对有趋势但 没有季节性的序列。
三次指数平滑法也叫“Holt-Winters法”
关于其具体的公式,这里就不贴了,网上有很多很多。顺便说下,这里的一次,二次和多项式的一次二次可不同,它们考虑的因素不同而已。
通过公式可以发现,这几种方法都添加了特别的影响因子(暂时这么叫),αβγ之类的,很烦人的,哈哈,就是添加了一些额外的东东,在几个值上面做取舍,做加权;公式的内容和意义还是比较容易看出来的。不得不提到的是后面很多算法之类的东西,很喜欢加这个影响因子,惩罚因子之类的,这世界本来没有什么因子,说的人多了,就慢慢的有了(盗版别人的话,你懂的)。
在实际中,怎么选择这几个参数值呢?一般的办法就是反复试验。先试试0.2和0.4之间的几个值(非常粗略地),然后看看结果是否符合要求。如果整个过程能够程序化,最好是使用循环,记录每次误差,选择最小的误差作为最佳的参数值。的确,很多拟合模型就是这么做的,叫做自适应模型拟合,通过最小化均方差。
R 里面的实现:
可以仔细研究下得到的结果和参数意义。
一般的基础分析方法,首先就是做平滑,那么为什么要做平滑呢?说了也是白说,平滑不就是平均滑动吗,就是为了通过移动平均值来消除或者消弱序列中不规则变动,试图发现其中的规律。
这里先来说说指数平滑:
指数平滑法有几种不同形式:
一次指数平滑法针对没有趋势和季节性的序列,
二次指数平滑法针对有趋势但 没有季节性的序列。
三次指数平滑法也叫“Holt-Winters法”
关于其具体的公式,这里就不贴了,网上有很多很多。顺便说下,这里的一次,二次和多项式的一次二次可不同,它们考虑的因素不同而已。
通过公式可以发现,这几种方法都添加了特别的影响因子(暂时这么叫),αβγ之类的,很烦人的,哈哈,就是添加了一些额外的东东,在几个值上面做取舍,做加权;公式的内容和意义还是比较容易看出来的。不得不提到的是后面很多算法之类的东西,很喜欢加这个影响因子,惩罚因子之类的,这世界本来没有什么因子,说的人多了,就慢慢的有了(盗版别人的话,你懂的)。
在实际中,怎么选择这几个参数值呢?一般的办法就是反复试验。先试试0.2和0.4之间的几个值(非常粗略地),然后看看结果是否符合要求。如果整个过程能够程序化,最好是使用循环,记录每次误差,选择最小的误差作为最佳的参数值。的确,很多拟合模型就是这么做的,叫做自适应模型拟合,通过最小化均方差。
R 里面的实现:
require(graphics) ## Seasonal Holt-Winters co2是R自带的数据框 (m <- HoltWinters(co2)) #m是得到的拟合模型 plot(m) plot(fitted(m))
p <- predict(m, 50, prediction.interval = TRUE) ###使用结果进行预测
plot(m,p)
(m <- HoltWinters(AirPassengers, seasonal = "mult")) plot(m) ## Non-Seasonal Holt-Winters 即我们所说的二次指数平滑 x <- uspop + rnorm(uspop, sd = 5) m <- HoltWinters(x, gamma = FALSE) plot(m) ## Exponential Smoothing 即我们所说的一次指数平滑 m2 <- HoltWinters(x, gamma = FALSE, beta = FALSE) lines(fitted(m2)[,1], col = 3)
可以仔细研究下得到的结果和参数意义。
相关文章推荐
- UTF-8是现在流行的编码方式,根据规定回答问题
- HDU 5328 Problem Killer
- Windows netstat 查看端口、进程占用(转)
- 排序练习册 - 4大常用数组排序
- 关于spark standalone模式下的executor问题
- Transforms CTM, 转换矩阵
- hadoop2.7部署
- 动态sql语句基本语法
- POJ 2676:Sudoku 数独
- Ubuntu下Apache2的CGI简单配置
- iOS 推送学习
- js常用正则
- Android完全退出activity
- Perl语言编程>>学习笔记2
- Install MongoDB
- POJ 2676:Sudoku 数独
- phpcms取编译器内容,设置表的字体样式,用jquery去掉表格自带样式
- 游标
- 推荐!工作中的收藏
- 使用springmvc上传文件