首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ets: ets中的错误(timeseries,model = "MAM"):非季节性数据

ets: ets中的错误(timeseries,model = "MAM"):非季节性数据
EN

Stack Overflow用户
提问于 2016-08-08 15:02:33
回答 1查看 2.8K关注 0票数 4

我试图用指数平滑的方法来创建一个预测,但是得到了“非季节性数据”的误差。这显然不是真的--参见下面的代码。我为什么要犯这个错误?我是否应该使用不同的函数(它应该能够执行简单,双倍,阻尼趋势,季节性,温特斯方法)?

代码语言:javascript
复制
library(forecast)

timelen<-48 # use 48 months
dates<-seq(from=as.Date("2008/1/1"), by="month", length.out=timelen)

# create seasonal data
time<-seq(1,timelen)
season<-sin(2*pi*time/12)
constant<-40
noise<-rnorm(timelen,mean=0,sd=0.1)
trend<-time*0.01
values<-constant+season+trend+noise

# create time series object
timeseries<-as.ts(x=values,start=min(dates),end=max(dates),frequency=1)
plot(timeseries)

# forecast MAM
ets<-ets(timeseries,model="MAM") # ANN works, why MAM not?
ets.forecast<-forecast(ets,h=24,level=0.9)
plot(ets.forecast)

谢谢和亲切的问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-08 15:50:01

您应该使用ts从一个数字向量创建一个时间序列。有关详细信息,请参阅帮助文件。

您的开始值和结束值没有正确指定。把频率设为1不是一个有效的季节性,这和根本没有季节性是一样的。

尝试:

代码语言:javascript
复制
timeseries <- ts(data=values, frequency=12)
ets <- ets(timeseries, model="MAM")
print(ets)
#### ETS(M,A,M) 
#### Call:
####   ets(y = timeseries, model = "MAM") 
####   ...

在你的评论中的问题,为什么安工作是因为第三个N意味着没有季节性,所以模型可以计算,即使一个非季节性的时间序列。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38832589

复制
相关文章

相似问题

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