필터 지우기
필터 지우기

How to forecast with a CNN 2784 setps in the future after the last value in the time series

조회 수: 7 (최근 30일)
Dear all, I trained a CNN that works well and validated it with the predict function. Then, I saved the trained model in the file v_1.mat, in the variable "trainedModel". Now, using the trained model, I want to forecast the next 2784 values found imediatelly after the last value in the time series that I used initially for training and validation. The actual data for comparison are in the file 'february_24.xlsx'. In a separate script, I use the folowing code but it says "Incorrect number or types of inputs or outputs for function forecast."
clc
load('v_1.mat');
past_data=xlsread('training_testing_data.xlsx','35233:38016');
yf=forecast(trainedModel,transpose(past_data),2784);
data_february=xlsread('february_24.xlsx','1:2784');
mape(transpose(data_february),yf)
figure(1)
plot(data_february, 'DisplayName', 'Actual');
hold on;
plot(yf, 'DisplayName', 'Predicted');
legend('show');
title('Forecast february 2024');
What am I doing wrong? Is the "forecast" function not compatible to a neural network model ? Is there any alternative to this code ?
Thank you all very much in advance!

답변 (1개)

Vinayak
Vinayak 2024년 5월 16일
Hi Adrian,
The documentation for forecast says it accepts a linear/non-linear time-series based system model as input (here). I don’t have your model, but most CNNs are not in such format. I would suggest you use the predict function in a loop refeeding it the latest data for the next ‘n’ values.
The sample code might look something like:
numForecasts = 2784;
yf = zeros(1, numForecasts);
inputData = transpose(past_data);
for i = 1:numForecasts
% Predict the next value
nextValue = predict(trainedModel, inputData(:, end));
% Append the next value to the forecast array
yf(i) = nextValue;
% Update the input data by appending the predicted value
inputData = [inputData, nextValue];
end
You also might consider creating a custom forecast function which can perform similar calculation under the hood.
I hope this helps!

카테고리

Help CenterFile Exchange에서 Image Data Workflows에 대해 자세히 알아보기

제품


릴리스

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by