Why is my armax model converging to 0?
Show older comments
I have Matlab R2008b installed. I have self-acquired time-series data for blood pressure variation with a sampling time of 0.05s. My aim is to establish an arma model in order to forecast next(unacquired) values. Thanks to AIC i found that orders [4 2] would better fit my data.
I first extracted 10sec of data to create a training set, established my model on the training set and used the forecast function posted by Rajiv Singh.
I expected to have forecasted data that i would have compared to my real data (validation set). Unfortunately, the forecasted data quickly converge towards 0 after a few oscillations.
I also plotted the fitting percentage vs step ahead prediction to see how fast it decreases.
trainiddata = iddata(trainy,[],Ts); %Create time-series iddata obj
mod=armax(trainiddata,[4 2]); %create arma model
yf=forecast(mod,trainiddata,10*Fs); %Forecast for 10 secs
FITV=[];%Empty vector
for(i=1:100)
[YH, FIT, X0] = compare(mod,trainiddata,i); %Retrieve fitting for i-step ahead prediction
FITV=[FITM;FIT];
end
subplot(211)
plot(trainiddata)
hold on
plot(yf,'r.');
subplot(212)
plot(FITV);

How comes that my model's forecasting power is limited to such a short future ? Am I doing something wrong ?
I also tried an arma[100 10] model, which gives a slightly better result but still cannot predict a peak.
Accepted Answer
More Answers (1)
Romeo
on 28 Jul 2014
0 votes
Categories
Find more on Input-Output Polynomial Models in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!