seas()包中处理时间序列跳变及解决X13-ARIMA预测日期不匹配报错的方法咨询
解决X13-ARIMA季节性调整中xreg预测期不匹配的报错问题
这个报错的核心原因很明确:X13-ARIMA默认会对时间序列生成预测,但你的虚拟变量t只覆盖到2015.4,而原序列s的结束时间是2018.4,当X13尝试预测2015.4之后的时段时,找不到对应的xreg值,就抛出了错误。
既然你不需要预测结果,只想要去除跳变的季节性调整序列,有两个简单的方法可以解决:
方法1:直接关闭预测功能
通过向seas()函数传递forecast.save = "no"参数,告诉X13不要生成任何预测结果,这样就不会触发预测期的xreg检查:
s_a <- final(seas(s, outlier = NULL, xreg = t, forecast.save = "no"))
方法2:设置预测长度为0
另一种等价的方式是设置forecast.length = 0,同样能阻止X13进行预测操作:
s_a <- final(seas(s, outlier = NULL, xreg = t, forecast.length = 0))
这两个方法都能让X13专注于处理现有数据的季节性调整,跳过预测步骤,自然也就不会再出现forecasts end date和regression variables end date不匹配的报错了。
内容的提问来源于stack exchange,提问作者d_s_simon
相关产品推荐
相关产品推荐

