私は、hts
パッケージの予測調整方法を以前の予測値と比較しようとしています。予測オブジェクト内の値を返すユーザー定義関数を作成する計算的に扱いにくい方法がないため、関数forecast.gts
は使用できません。このため、私はパッケージ内のcombinef()
関数を使用して予測を再配布しています。私は適切なweights
の仕事をして、wls
とnseries
の方法を得て、ols
のバージョンがデフォルトです。私が使用して「ボトムアップ」の方法を取得することができました:`hts :: combinef()`を使ってトップダウン予測を得るには?
# Creates sample forecasts, taken from `combinef()` example
library(hts)
h <- 12
ally <- aggts(htseg1)
allf <- matrix(NA, nrow = h, ncol = ncol(ally))
for(i in 1:ncol(ally))
allf[,i] <- forecast(auto.arima(ally[,i]), h = h, PI = FALSE)$mean
allf <- ts(allf, start = 51)
# create the weight vector
numTS <- ncol(allf) # Get the total number of series
numBaseTS <- sum(tail(htseg1$nodes, 1)[[1]]) # Get the number of bottom level series
# Create weights of 0 for all aggregate ts and 1 for the base level
weightVals <- c(rep(0, numTS - numBaseTS), rep(1, numBaseTS))
y.f <- combinef(allf, htseg1$nodes, weights = weightVals)
を私が最初に体重1
、残り0
を作るようなものが私に3つのトップダウン予測のいずれかを与えるかもしれないと期待していたが、それは単に結果あなたがそれを見ようとする方法に応じて、0
またはNaN
の値の束になります。
combinef(allf, htseg1$nodes, weights = c(1, rep(0, numTS - 1)))
は、私は方法は手動で計算する最も難しいものではありませんトップダウン知っている、と私はちょうどそれを行うための関数を書くことができますが、これを支援することができ
hts
パッケージ内のツールがあるのですか?私は分析を簡素化するためにデータフォーマットを一貫させておきたいと思います。最も具体的には、私は "トップダウンフォーキャストされた割合"または
tdfp
メソッドを取得したいと思います。