How do i implement moving average for prediction?

2 次查看(过去 30 天)
I implemented moving average in excel (data file attached).Also shown in attached image.
Now i want to apply my data in MATLAB for result analysis.
i tried "movmean" and "filter" function but results are different from excel file.I tried like this:
clc
clear all
data3=xlsread ('2.xlsx','C:C');
% check with movmean function
M = movmean(data3,2)
subplot (2,1,1)
plot (data3)
hold on
plot(M)
% check with filter function
N = 2;
MA = filter(ones(N,1),N,data3);
subplot (2,1,2)
plot (MA)
  1. I want to take moving average with interval 2.
  2. Predict the future values (for instance:if there are 180 rows i want to calculate step ahead prediction of row 181,182 using avergae of previous two values)
Moving average_Forecasting.jpg

采纳的回答

Krishna Zanwar
Krishna Zanwar 2019-2-27
Hey Ali,
It seems like in the Excel sheet the moving mean of ‘Actual’ is printed in ‘Forecast’.
In Matlab ‘Forecast’ is used as an input and so the output ‘M’ is not matching, in the same code if you take ‘Actual’ as input it will give you the same output as Excel.
data3=xlsread ('2.xlsx','B:B');
To get 181 and 182 outputs by averaging the previous two outputs you can do this-
M(end+1)=(M(end)+M(end-1))/2;
M(end+1)=(M(end)+M(end-1))/2;

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Manage System Data 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by