为什么R中的ets()函数不适合季节性模型?

时间:2015-02-16 19:42:07

标签: r forecasting

我在R中使用ets()函数来拟合季节性模型。我有每周销售数据。我可以在我的数据中清楚地看到它具有季节性模式和趋势。以下是代码:

x_ts<-ts(x,frequency=52,start=c(1,1))

nfit <- ets(x_ts,damped=FALSE)

是因为我在模型中使用了damped = FALSE吗? 我将不胜感激任何帮助/建议。

2 个答案:

答案 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”。