首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中避免stl()或分解()的季节性假设

在R中避免stl()或分解()的季节性假设
EN

Stack Overflow用户
提问于 2010-03-29 04:06:31
回答 1查看 5.9K关注 0票数 4

我有高频商品价格数据,我需要分析。我的目标是不假设任何季节性成分,而只是确定一个趋势。这里是我在R中遇到问题的地方,我知道有两个主要的函数可以分析这个时间序列:分解()和stl()。问题是,它们都采用一个频率参数大于或等于2的ts对象类型。有什么方法可以假设每个单位时间的频率为1,并且仍然使用R来分析这个时间序列?我担心如果我假设频率大于每单位时间1,并且使用频率参数计算季节性,那么我的预测将取决于这个假设。

代码语言:javascript
复制
names(crude.data)=c('Date','Time','Price')
names(crude.data)
freq = 2
win.graph()
plot(crude.data$Time,crude.data$Price, type="l")
crude.data$Price = ts(crude.data$Price,frequency=freq) 

我希望频率是1单位时间,但然后分解()和stl()不工作!

代码语言:javascript
复制
dim(crude.data$Price)
decom = decompose(crude.data$Price)
win.graph()
plot(decom$random[2:200],type="line")
acf(decom$random[freq:length(decom$random-freq)])

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2010-03-29 06:10:37

stl()decompose()都用于季节性分解,因此必须有季节性成分。如果你只是想估计一个趋势,那么任何非参数平滑方法都将完成这项工作。例如:

代码语言:javascript
复制
fit <- loess(crude.data$Price ~ crude.data$Time)
plot(cbind(observed=crude.data$Price,trend=fit$fitted,random=fit$residuals),main="")
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2535740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档