簡體   English   中英

建立滾動平均預測

[英]Building a rolling mean forecast

我有一系列稱為部分的間歇性需求(下面的示例),我想開發一個訓練集和測試集的滾動平均預測。 我的代碼也在下面。 系列 fitmean 計算滾動平均值,但有兩個問題:

  1. 當我真正想要的是滾動平均值為 12 時,它添加了第 13 個元素; 和,
  2. 日期從 2016 年 6 月到 2017 年 6 月,所以當我減去測試部分時,我只得到 2017 年 1 月到 6 月的 6 個值。

有沒有辦法(1)刪除 fitmean 末尾的第 13 個元素,以及(2)更改日期以便它們與測試部分匹配?

謝謝你。

library(forecast,zoo)
parts<-matrix(c(0,0,0,0,0,0,2,0,0,0,0,0,3,0,0,0,0,0,1,0,0,7,0,0),nrow=24,ncol=1)
parts<-ts(parts,f=12,start=c(2016,1))
maemean<-matrix(NA,nrow=12,ncol=1)
  trainparts<-window(parts,end=c(2016,12))
  testparts<-window(parts,start=c(2017,1),end=c(2017,12))
  fitmean<-round(rollapply(parts, width=12, by = 1, FUN = mean))
  maemean<-abs(fitmean-testparts)

Jan-16  0
Feb-16  0
Mar-16  0
Apr-16  0
May-16  0
Jun-16  0
Jul-16  2
Aug-16  0
Sep-16  0
Oct-16  0
Nov-16  0
Dec-16  0
Jan-17  3
Feb-17  0
Mar-17  0
Apr-17  0
May-17  0
Jun-17  0
Jul-17  1
Aug-17  0
Sep-17  0
Oct-17  7
Nov-17  0
Dec-17  0

澄清:

上面的列表應該分解為從 1 月 16 日到 12 月 16 日的訓練集和從 1 月 17 日到 12 月 17 日的測試集。 我想要做的是使用滾動平均值,因此 1 月 16 日到 12 月 16 日的平均值(四舍五入,即 0)成為 1 月 17 日的預測,依此類推,即 2 月 16 日到 1 月 17 日,等輸出應該是這樣的

Jan-17  0
Feb-17  0
Mar-17  0
Apr-17  0
May-17  0
Jun-17  0
Jul-17  0
Aug-17  0
Sep-17  0
Oct-17  0
Nov-17  1
Dec-17  1

不幸的是,我得到了 13 個副 12 個元素。

     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2016                       0   0   0   0   0   0   0
2017   0   0   0   1   1   1                        

1) width = list(...)從問題中刪除所有不相關的代碼並更改rollapply行,其中-seq(12)是偏移向量,指示rollapply通過第一個優先級,第二個優先級,.. . 第十二個先驗值在每個點上的意思。

library(zoo)

# test data
parts <- matrix(c(0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 7, 0, 0), 
  nrow = 24, ncol = 1)
parts <- ts(parts, freq = 12, start = c(2016, 1))

round(rollapply(parts, list(-seq(12)), FUN = mean))

給予:

     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2017   0   0   0   0   0   0   0   0   0   0   1   1

2) rollsumr另一種方法是取寬度為 13 的滾動總和,然后減去當前值並除以 12:

round((rollsumr(parts, 13) - parts) / 12)
##      Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2017   0   0   0   0   0   0   0   0   0   0   1   1

暫無
暫無

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

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