簡體   English   中英

如何處理 R 中時間序列中的 NA?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM