注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

面朝大海 春暖花开

一点心得,转载本博客文章,请注明转帖,谢谢!

 
 
 

日志

 
 
关于我

中国科学院博士 主要从事遥感机理、定量反演、数据处理以及GIS应用研究。ArcGIS、Envi 、ERDAS、Ecognition软件、IDL语言、6S、SAIL

谈R软件中的STL分解--转贴  

2012-04-04 21:20:11|  分类: 软件操作 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

http://blog.sina.com.cn/s/blog_5ffd41cf01012i5e.html

 

STL分解基于Loess,即局部加权回归散点平滑法,是1990年由密歇根大学的R. B. Cleveland教授以及AT&T Bell实验室的W. S. Cleveland等人提出来的一种对时间序列进行分解的方法。STL分解将时间序列分解成季节项、趋势项及残余项。

为了研究这种方法,我花了一天的时间仔细研读这篇论文,完成了17页的翻译稿(原文31页,不含讨论comment部分),基本对这种方法的原理有了大致的了解。本质上讲,这种方法是基于Loess,由内循环和外循环组成。其中,内循环包含了①去趋势、②周期子序列平滑、③对平滑后的周期子序列的低通滤波处理等6个步骤;而外循环主要作用则是引入了一个稳健性权重项,以控制数据中异常值产生的影响,这一项将会考虑到下一阶段内循环的临近权重中去。实际上,趋势分量和季节分量都是在内循环中得到的。循环完后,季节项将出现一定程度的毛刺现象,因为在内循环中平滑时是在每一个截口中进行的,因此,在按照时间序列重排后,就无法保证相邻时段的平滑了,为此,还需要进行季节项的后平滑,后平滑基于局部二次拟合,并且不再需要在loess中进行稳健性迭代。

R软件以及S-PLUS软件均提供了STL分解函数,但两个软件之间存在一些微小区别。具体可参考stl函数帮助。

下面直接给出对R软件中的co2数据进行STL分解的结果。图中最上端是原始的co2浓度随时间的变化,从1959年1月~1997年12月,共468个数据。下面依次为季节项、趋势项和残余项。从结果来看,分解的效果还是不错的。除了给出分解图,R还给出一些统计特征量,通过summary即可得到。

Time.series components:

seasonal  trend  remainder

Min.  :-3.265996e+00  Min.  :315.1541  Min.  :-0.98368572

1st Qu.:-1.462496e+00  1st Qu.:323.3135  1st Qu.:-0.16954989

Median : 2.932741e-01  Median :335.3495  Median : 0.01276959

Mean  :-2.899070e-09  Mean  :337.0412  Mean  : 0.01230954

3rd Qu.: 1.614786e+00  3rd Qu.:350.6615  3rd Qu.: 0.15367962

Max.  : 3.000911e+00  Max.  :364.2825  Max.  : 1.05926138

IQR:

STL.seasonal STL.trend STL.remainder data

3.0773  27.3481  0.3232  26.7250

%  11.5  102.3  1.2  100.0

Weights:

Min.  1st Qu.  Median  Mean  3rd Qu.  Max.

0.0000000 0.8331992 0.9452152 0.8708025 0.9870979 0.9999976

[原创]谈R软件中的STL分解

  评论这张
 
阅读(1351)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018