分解函数(decompose())周期过少。

13

错误看起来像这样

decompose(samplets)
Error in decompose(samplets) : time series has no or less than 2 periods

我想知道问题出在哪里?我正在使用ARIMA编写预测代码,我想知道我的数据中是否存在任何季节性或趋势。

希望能尽快得到回复!!!


4
欢迎来到 Stack Overflow!如果您能提供一个可复现的示例,展示您的问题或困惑,那么我们将更容易地为您解答。有关如何创建优秀的 R 可复现示例的详细信息,请参见此链接:https://dev59.com/eG025IYBdhLWcg3whGSx - Andrie
1个回答

38

这个错误提示已经很明显了。无论你是如何创建时间序列的,它要么没有季节性周期,要么少于两个季节性周期。(这并不一定表示数据没有季节性;有可能你创建samplets时出错了。) 例如,我可以通过拥有7个季度观察值的时间序列来重现此错误,这显然没有两个完整的季节性周期:

R> TS <- ts(1:7, frequency = 4)
R> decompose(TS)
Error in decompose(TS) : time series has no or less than 2 periods
R> TS
  Qtr1 Qtr2 Qtr3 Qtr4
1    1    2    3    4
2    5    6    7     
同样地,如果我没有指定任何次年频率(即ts()调用中的frequency = 1,创建你的时间序列对象samplets时 [这是默认值]),我会得到相同的错误:
R> TS <- ts(1:7)
R> decompose(TS)
Error in decompose(TS) : time series has no or less than 2 periods
无论如何,这都表明您创建 "ts" 对象时未正确指定 frequencydeltat 参数,或者您的时间序列长度(年数)不足以覆盖两个完整的季节周期。
请仔细阅读 ?ts 以确认您是否正确创建了 samplets。如果需要进一步帮助,请发布一个可重现的示例。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接