使用R tsibble进行时间序列插值时出现参数类型无效错误求助
问题原因与解决方法
核心错误原因
- 数据类型不兼容:你的
IC列是整数类型(从数据结构里的523L等后缀可看出),而stats::KalmanSmooth()(ARIMA插值依赖的底层函数)要求输入为数值型(numeric)数据,整数类型会直接触发"invalid argument type"错误。 - 连续缺失段过长:数据中存在连续9个NA值,仅靠前面8个有效观测值拟合的ARIMA模型,难以稳定完成长段缺失的插值,会进一步加剧模型拟合异常。
修复步骤
1. 转换数据类型
先将IC列转换为数值型:
WS_test <- WS_test %>% mutate(IC = as.numeric(IC))
2. 重新执行插值操作
修改后再运行建模与插值代码:
WS <- WS_test %>% model(ARIMA(IC)) %>% interpolate(WS_test)
额外说明
如果转换类型后仍有问题,可尝试指定ARIMA模型参数(比如ARIMA(IC ~ pdq(1,1,1) + PQ(0,0,0))),或者用feasts包的na_interpolation()等方法处理长段缺失。
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

