我在R中使用ets()
函数来拟合季节性模型。我有每周销售数据。我可以在我的数据中清楚地看到它具有季节性模式和趋势。以下是代码:
x_ts<-ts(x,frequency=52,start=c(1,1))
nfit <- ets(x_ts,damped=FALSE)
是因为我在模型中使用了damped = FALSE吗? 我将不胜感激任何帮助/建议。
答案 0 :(得分:3)
请阅读提供的警告信息:
> x_ts <- ts(x,frequency=52,start=c(1,1))
> nfit <- ets(x_ts,damped=FALSE)
Warning message:
In ets(x_ts, damped = FALSE) :
I can't handle data with frequency greater than 24. Seasonality
will be ignored. Try stlf() if you need seasonal forecasts.
答案 1 :(得分:1)
如果查看文档,您可以看到传递的参数:ets(y, model="ZZZ", damped=NULL, alpha=NULL, beta=NULL, gamma=NULL, phi=NULL, ...)
,如果您进一步查看,您会发现该模型通常是一个标识方法的三字符字符串,第一个字母表示错误类型(“ A,“M”或“Z”);第二个字母表示趋势类型(“N”,“A”,“M”或“Z”);第三个字母表示季节类型(“N”,“A”,“M”或“Z”)。在所有情况下,“N”=无,“A”=加法,“M”=乘法,“Z”=自动选择。您没有指定模型类型(默认情况下它都是'Z'),因此自动检测方法没有采用季节性趋势。如果你想强制进入,请尝试“AAA”或“MAM”。