使用 Arima 进行时间序列分析
Time Series Analysis with Arima
我在尝试应用我不理解的 auto.arima 函数时遇到错误。
创建时间序列数据:
tsData = ts(TimeSeries_Data$`1`, frequency = 12, start = c(2019,1))
时序数据:
> print(tsData)
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2019 773 2965 1875 2286 2387 3260 3234 2378 2930 5115 3992 2693
2020 3134 6406 2789 2097 1716 4990 1979 2915 3032 7220 6992 565
建模:
model_1 <- auto.arima(tsData, stepwise = FALSE, trace = TRUE)
错误信息:
Warning message:
The chosen seasonal unit root test encountered an error when testing for the first difference.
From stl(): series is not periodic or has less than two periods
0 seasonal differences will be used. Consider using a different unit root test.
我不明白为什么我的时间序列数据不是周期性的或少于两个周期,因为打印的数据对我来说很好。
有人可以指出我的错误方向和可能的解决方案吗?
如果我缺少回答我的问题所需的任何信息,请告诉我。
谢谢!
这不是错误,只是警告。根据您使用的季节性单位根检验(与 stl
一样),您可能需要超过 24 个观测值来获取月度数据(取决于必须估计的参数数量)。您要么必须获得 25 个观察值,要么可以尝试,例如:
auto.arima(tsData, stepwise = FALSE, trace = TRUE, seasonal.test = "ocsb")
我在尝试应用我不理解的 auto.arima 函数时遇到错误。
创建时间序列数据:
tsData = ts(TimeSeries_Data$`1`, frequency = 12, start = c(2019,1))
时序数据:
> print(tsData)
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2019 773 2965 1875 2286 2387 3260 3234 2378 2930 5115 3992 2693
2020 3134 6406 2789 2097 1716 4990 1979 2915 3032 7220 6992 565
建模:
model_1 <- auto.arima(tsData, stepwise = FALSE, trace = TRUE)
错误信息:
Warning message:
The chosen seasonal unit root test encountered an error when testing for the first difference.
From stl(): series is not periodic or has less than two periods
0 seasonal differences will be used. Consider using a different unit root test.
我不明白为什么我的时间序列数据不是周期性的或少于两个周期,因为打印的数据对我来说很好。
有人可以指出我的错误方向和可能的解决方案吗?
如果我缺少回答我的问题所需的任何信息,请告诉我。
谢谢!
这不是错误,只是警告。根据您使用的季节性单位根检验(与 stl
一样),您可能需要超过 24 个观测值来获取月度数据(取决于必须估计的参数数量)。您要么必须获得 25 个观察值,要么可以尝试,例如:
auto.arima(tsData, stepwise = FALSE, trace = TRUE, seasonal.test = "ocsb")