簡體   English   中英

使用R-需要根據不規則的時間序列預測明年的建議

[英]Using R - Need advice predicting next year based on irregular time-series

關於以下查詢,我需要建議:“根據您的觀察,您能說出2019年相同月份的負荷情況嗎?”

df的str()/ head()如下所示:

data.frame':    683 obs. of  10 variables:
$ Route       : chr  "A" "B" "A" "A" ...
$ FlightNumber: int  770 279 128 235 434 543 556 663 770 279 ...
$ Capacity    : int  375 345 375 375 375 375 375 375 375 345 ...
$ Booked      : int  379 314 374 379 373 377 379 378 379 294 ...
$ DDate       : Date, format: "2018-05-01" "2018-05-01" "2018-05-02" "2018-05-03" ...
$ Year        : num  2018 2018 2018 2018 2018 ...
$ Month       : num  5 5 5 5 5 5 5 5 5 5 ...
$ Day         : int  1 1 2 3 4 5 6 7 8 8 ...
$ Hour        : int  12 20 12 12 12 12 12 12 12 20 ...
$ load        : num  1.011 0.91 0.997 1.011 0.995 ...

Route FlightNumber Capacity Booked DDate Year Month Day Hour load(=Booked/Capacity) 1 A 770 375 379 2018-05-01 2018 5 1 12 1.0106667 2 B 279 345 314 2018-05-01 2018 5 1 20 0.9101449 3 A 128 375 374 2018-05-02 2018 5 2 12 0.9973333 4 A 235 375 379 2018-05-03 2018 5 3 12 1.0106667 5 A 434 375 373 2018-05-04 2018 5 4 12 0.9946667 6 A 543 375 377 2018-05-05 2018 5 5 12 1.0053333

如果我繪制數據,它看起來像這樣: geom_point

更新 :我最終做了以下事情:

dat_A <- test %>% select(Route, DDate, load) %>% filter(Route == "A")
ts_A <- ts(dat_A$load, start = c(2017,5), end = c(2018,11), frequency = 1*12)
forecast(ts_A, h=12) %>% plot()

預測結果圖像

#Double checking
fit <- auto.arima(ts_A)
summary(fit)
predict <- forecast(fit,n=1)
plot(predict)

plot.ts(predict$residuals)
qqnorm(predict$residuals) 
acf(predict$residuals)

預測聽起來不錯嗎? 即使我也通過arima嘗試了train(1:480)/ validat(481:611),然后用0.036的RMSE進行了預測,但看起來還是比較平坦的。

要將vectordata.frame轉換為時間序列,可以使用:

dat <- as.ts(as.matrix(dat))

這是您可以嘗試的解決方案。 我可以指導您使用以下函數生成時間序列。 首先加載您的數據,說它是df並且其Booked因此您可以使用以下方法生成可以輕松擬合的時間序列。

ts_data = ts(df$Booked, start = c(2017,1), end = c(2018,12), frequency = 12)

現在,您只需在此ts_data上應用時間序列預測即可預測2019年的價值。我將其余代碼留給您。 謝謝!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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