作成した時系列オブジェクトで予測パッケージ v4.06 の予測機能を使用しようとしています。時系列オブジェクトを生成するために時系列関数に渡すベクトルのサイズによっては、予測への後続の呼び出しから例外がスローされます。
たとえば、次のように長さ 6 のベクトルを持つ時系列オブジェクトを作成します。
tsObj <- ts(tsVector[1:6], frequency=12, start=c(2013,4))
次に、その時系列オブジェクトで予測関数を呼び出します。
pred <- forecast(tsObj, 1)
次の例外を生成します。
Error in lsfit(1:maxn, y.sa[1:maxn]) : 0 responses, but only 2 variables
In addition: Warning message:
In lsfit(1:maxn, y.sa[1:maxn]) : 6 missing values deleted
実際、ベクトルの長さが 4 ~ 11 の場合、このエラーが発生しますが、長さが 1、2、3、または >=12 の場合は、適切な予測の生成に成功します。例外に関する洞察は非常に高く評価されます。時間をありがとう!
================================================== ==============================
lsfit のソースを見つけて、この例外が生成される場所を見つけたと思います。
## check for compatible lengths
nrx <- NROW(x)
ncx <- NCOL(x)
nry <- NROW(y)
ncy <- NCOL(y)
nwts <- length(wt)
if(nry != nrx) stop(paste("X matrix has", nrx, "responses, Y",
"has", nry, "responses."))
if(nry < ncx) stop(paste(nry, "responses, but only", ncx, "variables"))
x ベクトルと y ベクトルの間の行数の不一致のように見えます。ただし、この場合、「y」が何であるかを把握するために、予測パッケージ内で lsfit が呼び出される場所を見つけることができません。あらゆる/すべての助けに感謝します!