[英]How to deal with NA's in timeseries in R?
我正在嘗試建立一個 ARIMA 模型,以預測辦公室的入住率。 數據中有一些 NA,那些日期是國定假日,這意味着沒有人在辦公室,因此沒有數據。 我如何處理這些 NA 值來構建 ARIMA 模型?
NA 示例:
2019-04-19 09:00:00 12.878788
2019-04-19 10:00:00 19.848485
2019-04-19 11:00:00 21.969697
2019-04-19 12:00:00 11.212121
2019-04-19 13:00:00 14.090909
2019-04-19 14:00:00 16.363636
2019-04-19 15:00:00 22.727273
2019-04-19 16:00:00 7.727273
2019-04-22 09:00:00 NA
2019-04-22 10:00:00 NA
2019-04-22 11:00:00 NA
2019-04-22 12:00:00 NA
2019-04-22 13:00:00 NA
2019-04-22 14:00:00 NA
2019-04-22 15:00:00 NA
2019-04-22 16:00:00 NA
2019-04-23 09:00:00 23.636364
2019-04-23 10:00:00 49.545455
2019-04-23 11:00:00 57.575758
2019-04-23 12:00:00 48.030303
2019-04-23 13:00:00 45.151515
2019-04-23 14:00:00 35.606061
2019-04-23 15:00:00 25.151515
2019-04-23 16:00:00 8.333333
我嘗試使用此代碼:
plot(stl(ts, na.action = na.omit))
但是我得到了這個錯誤:
Error in na.omit.ts(as.ts(x)) : time series contains internal NAs
R 中的 ARIMA 模型可以毫無問題地處理 NA。 STL 分解不處理 NA,這是您的錯誤來源。
如果你想做一個 STL,你可以使用forecast
包中的mstl
來為你估計缺失值。
library(forecast)
library(ggplot2)
USAccDeaths[20:23] <- NA
USAccDeaths %>%
mstl(s.window="periodic") %>%
autoplot()
USAccDeaths %>%
auto.arima() %>%
forecast(h=24) %>%
autoplot()
由reprex 包(v0.3.0) 創建於 2019-11-30
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.