全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
10141 10
2012-02-25
R中有STL分解,其函数描述为:
Decompose a time series into seasonal, trend and irregular components using loess, acronym STL.

感谢之前ryusukekenji 的热心回帖,解决了时间序列的定义问题。再把进一步的问题列示如下:

定义一个时间序列y,这个时间序列由若干年若干天组成,中间不存在缺失值。其周期为年,包含365天。所以定义了n(p)=365,对其进行stl分解。得到以下结果:

截图00.jpg

从结果来看,感觉STL分解效果很差。参数的设置修改了好几次,效果都不理想。想问一下,对于不存在趋势项的情况,只是想去除序列在各年同一天的季节项,这个STL分解还适用吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-2-25 20:24:02
时间变量有误,楼主需要仔细查看...
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-2-27 11:07:36
ryusukekenji 发表于 2012-2-25 20:24
时间变量有误,楼主需要仔细查看...
stl(x, s.window, s.degree = 0,
    t.window = NULL, t.degree = 1,
    l.window = nextodd(period), l.degree = t.degree,
    s.jump = ceiling(s.window/10),
    t.jump = ceiling(t.window/10),
    l.jump = ceiling(l.window/10),
    robust = FALSE,
    inner = if(robust)  1 else 2,
    outer = if(robust) 15 else 0,
    na.action = na.fail)

对变量x的说明如下:
x  univariate time series to be decomposed. This should be an object of class "ts" with a frequency greater than one.

能解释一下后面那句话的意思吗:“This should be an object of class "ts" with a frequency greater than one.”
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-2-27 11:08:19
请用过 stl 函数的朋友说一下这个函数中的x应该怎么定义?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-2-27 13:54:26
superhugo 发表于 2012-2-27 11:08
请用过 stl 函数的朋友说一下这个函数中的x应该怎么定义?
x变量必须是ts时间序列属性,并且超过一次频率、亦重复时间(月份、周日等变量)
This should be an object of class "ts" with a frequency greater than one.

例如:
            Sun Mon Tue Wed Thu Fri Sat
week 1
week 2
...


         Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1920
1921
1922
...
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-2-27 21:56:59
感觉STL分解s.window的设置比较不确定,论文中是说的该值≥7,且为奇数。如果不考虑趋势项 还可以用STL吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群