मैं test_forecast का उपयोग कर रहा हूं और मेरे पास मेरा कोड सेटअप इस तरह है

df_train <- df[1:20] 
df_test <- df[21:nrow(df)] 

test_forecast(actual = df, 
              forecast.obj = forecast,
              train = df_train, 
              test = df_test)

डीएफ में प्रत्येक पंक्ति को डीएफ ट्रेन और डीएफ टेस्ट में शामिल किया गया है।

लेकिन, यह मुझे यह त्रुटि देता है

Error in test_forecast(actual = df, forecast.obj = forecast,  : 
  The length of the train and test sets are different from the length of the actual set

df एक डेटा तालिका है, लेकिन मैंने सभी वस्तुओं को डेटा फ़्रेम में परिवर्तित करने का भी प्रयास किया और यह काम नहीं किया

0
Cauder 10 सितंबर 2020, 18:37

1 उत्तर

सबसे बढ़िया उत्तर

मैंने डेटा फ्रेम और डेटा तालिका के साथ प्रयास किया और बिल्कुल वही त्रुटि संदेश मिला।

ध्यान से पढ़ने के बाद test_forecast दस्तावेज़ीकरण, मुझे मिला :

वास्तविक: पूर्णकालिक श्रृंखला वस्तु ("ts", "चिड़ियाघर" और "xts" प्रारूपों का समर्थन करता है)।

निष्कर्ष यह है कि test_forecast data.frames / data.tables के साथ काम नहीं करना चाहिए।

चूंकि आपने वह डेटा प्रदान नहीं किया जिसका आप उपयोग कर रहे हैं, मैंने इस उदाहरण जो काम किया:

library(TSstudio)
ts <- USgas
ts_par <- ts_split(ts, sample.out = 20)

train <- ts_par$train

test <- ts_par$test

ts_info(train)
ts_info(test)

library(forecast)

md <- tslm(train ~ season + trend)

fc <- forecast(md, h = 20)
test_forecast(actual = ts,
              forecast.obj = fc,
              test = test)

enter image description here

एक अन्य महत्वपूर्ण बिंदु यह है कि आपको एक समय-श्रृंखला को सबसेट नहीं करना चाहिए जैसा कि आप डेटा.टेबल के साथ करेंगे, क्योंकि यह numeric बन जाता है, जिससे यह test_forecast के साथ काम नहीं करेगा:

class(USgas[1:20])
[1] "numeric"
1
Waldi 13 सितंबर 2020, 00:40