时间序列分解-STL分解法

【转载时请注明来源】:http://www.cnblogs.com/runner-ljt/

Ljt

作为一个初学者,水平有限,欢迎交流指正。


STL(’Seasonal and Trend decomposition using Loess‘ )是以鲁棒局部加权回归作为平滑方法的时间序列分解方法。

其中Loess(locally weighted scatterplot smoothing,LOWESS or LOESS)为局部多项式回归拟合,是对两维散点图

进行平滑的常用方法,它结合了传统线性回归的简洁性和非线性回归的灵活性。当要估计某个响应变量值时,先从其预

测变量附近取一个数据子集,然后对该子集进行线性回归或二次回归,回归时采用加权最小二乘法,即越靠近估计点的

值其权重越大,最后利用得到的局部回归模型来估计响应变量的值。用这种方法进行逐点运算得到整条拟合曲线。

Robust Loess 为鲁棒局部加权回归,具体算法可以参看之前的博文 鲁棒局部加权回归 。

STL对异常点具有健壮性,仅能处理加法模式的分解,对于乘法模式需要先转换为加法模式处理最后在逆变换回去。

鲁棒局部加权回归法方法的LOESS 过程和鲁棒性过程分别在STL 的内部环 和外部环中嵌套实现.

用R做时间序列的STL分解:

stl(x, s.window, s.degree = 0,
             t.window = NULL, t.degree = 1,
             robust = FALSE,
             na.action = na.fail)
        s.window----提取季节性时的loess算法时间窗口宽度,须为奇数

s.degree -----提取季节性时局部拟合多项式的阶数,须为0或1

t.window----提取趋势性时的loess算法时间窗口宽度,须为奇数

t.degree-----提取趋势性时局部拟合多项式的阶数,须为0或1

robust -----在loess过程中是否使用鲁棒拟合

library(quantmod)
###时间序列STL分解法######
##STL是’Seasonal and Trend decomposition using Loess‘ 的以鲁棒局部加权回归作为平滑方
#法的时间序列分解方法。其中Loess(locally weighted scatterplot smoothing,
#LOWESS or LOESS)为局部多项式回归拟合。
getSymbols('^IXIC',src='yahoo',from='2008-1-1',to='2015-10-1')
sdata.month=to.monthly(IXIC)
sdata.close=sdata.month$IXIC.Close
head(sdata.close)
sdata=ts(as.double(sdata.close),frequency=12,start=c(2008,1))
#as.double(sdata.close)为避免出现‘只允许单变量序列’的报错
fit=stl(sdata,t.window=13,s.window='periodic',robust=T)
#时间序列的STL分解是以鲁棒局部加权回归作为平滑方法的时间序列分解方法
#故应使robust=T,s.window='periodic'指使用均值平滑季节性子序列
plot(fit)

(上图4个板块的最右侧的高度不等的灰色柱条对应各板块数值大小的一个可视化度量,它们对应的数值大小是一样的)

时间序列分解-STL分解法的更多相关文章

  1. Matlab数值计算示例: 牛顿插值法、LU分解法、拉格朗日插值法、牛顿插值法

    本文源于一次课题作业,部分自己写的,部分借用了网上的demo 牛顿迭代法(1) x=1:0.01:2; y=x.^3-x.^2+sin(x)-1; plot(x,y,'linewidth',2);gr ...

  2. Guass列选主元消去法和三角分解法

    最近数值计算学了Guass列主消元法和三角分解法解线性方程组,具体原理如下: 1.Guass列选主元消去法对于AX =B 1).消元过程:将(A|B)进行变换为,其中是上三角矩阵.即: k从1到n-1 ...

  3. [Architecture] 系统架构正交分解法

    [Architecture] 系统架构正交分解法 前言 随着企业成长,支持企业业务的软件,也会越来越庞大与复杂.当系统复杂到一定程度,开发人员会发现很多系统架构的设计细节,很难有条理.有组织的用一张大 ...

  4. 项目管理——WBS工作分解法

    首先我们要了解什么是WBS工作分解法 工作分解结构(Work Breakdown Structure,简称WBS)跟因数分解是一个原理,就是把一个项目,按一定的原则分解,项目分解成任务,任务再分解成一 ...

  5. 大规模问题的分解法-D-W分解法

    大规模线性规划问题的求解极具挑战性,在效率.存储和数值稳定性等方面对算法都有很高的要求.但是这类问题常常非常稀疏且有特殊结构,能够分解为若干个较小规模问题求解. 线性规划问题的目标函数和非负约束都可分 ...

  6. Miiler-Robin素数测试与Pollard-Rho大数分解法

    板题 Miiler-Robin素数测试 目前已知分解质因数以及检测质数确定性方法就只能\(sqrt{n}\)试除 但是我们可以基于大量测试的随机算法而有大把握说明一个数是质数 Miler-Robin素 ...

  7. [原创]浅谈对任务分解法WBS应用

    [原创]浅谈对任务分解法WBS应用 1.WBS是什么? 即Work Breakdown Structure如何进行WBS分解:目标→任务→工作→活动 2.WBS分解的原则:将主体目标逐步细化分解,最底 ...

  8. 【腾讯Bugly干货分享】彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/qOMO0LIdA47j3RjhbCWUEQ 作者:李 ...

  9. Http协议:彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法

    转载:http://mp.weixin.qq.com/s/uWPls0qrqJKHkHfNLmaenQ 导语 Http 缓存机制作为 web 性能优化的重要手段,对从事 Web 开发的小伙伴们来说是必 ...

随机推荐

  1. Spring + Mybatis 集成原理分析

    由于我之前是写在wizNote上的,迁移过来比较浪费时间,所以,这里我直接贴个图片,PDF文件我上传到百度云盘了,需要的可直接下载. 地址:https://pan.baidu.com/s/12ZJmw ...

  2. ACM Bee

    In Africa there is a very special species of bee. Every year, the female bees of such species give b ...

  3. OpenCV RGB2LAB执行效率测试

    代码 #include <iostream> #include <vector> #include <opencv2/opencv.hpp> #define ERR ...

  4. 粗浅看Struts2和Hibernate框架

    ----------------------------------------------------------------------------------------------[版权申明: ...

  5. 好久没有写BLOG了,人老了就开始变懒了【非技术】

    算算到今天,在码农的路上已经走了15年了.马上就40不惑的我,现在是充满的疑惑.

  6. [Pelican]Pelican入门(二)

    之前是搭建了一个简单的博客,但是没有图片,没有具体的栏目分类 这次来研究下 一 导航栏 之前是直接把.md扔到的content文件夹下,结果导航栏,显示的是Category信息. 现在这么改成 D:. ...

  7. Struts1应用、实现简单计算器、使用DispatchAction、显示友好的报错信息、使用动态Form简化开发

    实现简单的支持加.减.乘.除的计算器 复制一份Struts1Demo修改:Struts1Calc 方案1: Struts1Calc 创建ActionForm: CalcForm extends Act ...

  8. springMVC+Hibernate4+spring整合实例二(实例代码部分)

    UserController.java 代码: package com.edw.controller; import java.io.IOException; import java.io.Print ...

  9. SQL Server 执行计划操作符详解(1)——断言(Assert)

    前言: 很多很多地方对于语句的优化,一般比较靠谱的回复即使--把执行计划发出来看看.当然那些只看语句就说如何如何改代码,我一直都是拒绝的,因为这种算是纯蒙.根据本人经验,大量的性能问题单纯从语句来看很 ...

  10. Nginx的负载均衡 - 保持会话 (ip_hash)

    Nginx版本:1.9.1 我的博客:http://blog.csdn.net/zhangskd 算法介绍 ip_hash算法的原理很简单,根据请求所属的客户端IP计算得到一个数值,然后把请求发往该数 ...