Мне интересно, как прогнозировать и получать данные будущих временных рядов после обучения модели. Я хотел бы получить значения после N шагов. Интересно, были ли данные временного ряда правильно изучены и предсказаны? Как мне сделать это правильно, чтобы получить следующее (следующее) значение? Я хочу получить следующее значение, используя model.predict
или аналогичный.
У меня есть x_test
и x_test[-1] == t
Итак, значение следующего значения равно t+1, t+2, .... t+n
. В этом примере Я хочу получить t+1, t+2 ... t+n
Первый
Я пытался использовать данные фондового индекса
inputs = total_data[len(total_data) - forecast - look_back:]
inputs = scaler.transform(inputs)
X_test = []
for i in range(look_back, inputs.shape[0]):
X_test.append(inputs[i - look_back:i])
X_test = np.array(X_test)
predicted = model.predict(X_test)
, но результат, как показано ниже
Результаты X_test[-20:]
и следующих 20 прогнозов выглядят одинаково. Мне интересно, правильно ли это метод обучения и прогнозируемое значение, а также, если результат был правильным.
полный источник
Метод, который я попробовал первым, не работал правильно.
Второй
Я понял, что что-то не так, я попытался использовать другие официальные данные, поэтому я использовал временные ряды в учебнике Tensorflow , чтобы попрактиковаться в обучении модели.
a = y_val[-look_back:]
for i in range(N-step prediction): #predict a new value n times.
tmp = model.predict(a.reshape(-1, look_back, num_feature)) #predicted value
a = a[1:] #remove first
a = np.append(a, tmp) #insert predicted value
Результаты были предсказаны в форме линейной регрессии, очень отличающейся от реальных данных.
Вывод ненормальной линейной регрессии, которая не зависит от реальных данных:
полный исходный код (После 25-й строки мой код.)
Я действительно очень Любопытно, что Как я могу предсказать следующее значение временного ряда, используя метод предсказания Tensorflow
Мне не интересно, работает это теоретически или нет. Мне просто интересно, как получить следующие n шагов, используя метод прогнозирования.
Спасибо за чтение длинного вопроса. Я прошу совета по поводу вашего бесценного мнения.