R语言forecast包auto.arima函数默认如何处理缺失值?
auto.arima默认缺失值处理机制说明
你使用的auto.arima(来自forecast包)默认采用删除所有含缺失值的观测的方式处理NA,对应默认参数na.action = na.omit。
具体细节:
- 函数会自动剔除序列中所有带NA的观测,仅保留连续无缺失的时间序列片段来拟合ARIMA模型
- 这本质是列表删除(listwise deletion),不会做任何插补或复杂的缺失值填充操作
针对你的金融数据场景(节假日/周末导致的非随机缺失),需要注意:ARIMA模型是为等间隔时间序列设计的,直接删除缺失值会把原本的日度等间隔序列变成非等间隔,可能忽略“周末/节假日无交易”的时间结构信息,进而影响模型拟合效果。
如果需要调整缺失值处理方式,可以手动操作:
- 若想先插补缺失值再拟合,可使用
forecast包的na.interp函数先处理序列,示例代码:data_interp <- na.interp(data_vector) best_fit <- auto.arima(data_interp, stationary = is_stationary, ic = "bic", stepwise = FALSE, allowmean = TRUE, allowdrift = TRUE, approximation = FALSE) - 也可以根据业务逻辑自定义缺失值填充规则后,再传入
auto.arima拟合模型
内容的提问来源于stack exchange,提问作者Anya Pilipentseva
相关产品推荐
相关产品推荐

