Prediction confidence intervals using a state-space model

2 ビュー (過去 30 日間)
Theodoros
Theodoros 2013 年 6 月 6 日
Hello all,
Suppose one has estimated a state-space model using the following.
id = iddata(data',[],Ts);
sys = ssest(id, 2, 'Ts',id.Ts, 'DisturbanceModel','estimate');
Where data is a (output-only) time-series. Then, forecasting is as follows.
frc = forecast(sys, id, K);
My question is, how can one get the confidence intervals of the forecasted output, given that the system has uncertainties? The uncertainties of the model can be obtained with
[pvec, pvec_sd] = getpvec(sys) % parameter values and std deviations
An overview of the identified system is available with
present(sys)
Thank you in advance!

採用された回答

Rajiv Singh
Rajiv Singh 2013 年 6 月 7 日
For discrete-time systems, the forecasting model is same as the simulation (original) model. So you can use commands such as SIM and SIMSD for uncertainty analysis.
For generating response uncertainty bounds by Gauss Approximation formula:
[frc,x0e] = forecast(sys, id, K);
zu = iddata([],zeros(K,0), id.ts, 'tstart',frc.tstart);
opt = simOptions('InitialCondition',x0e);
[y,ysd] = sim(sys, zu, opt);
t = y.SamplingInstants;
plot(t, y.y, t, y.y+ysd.y, 'r', t, y.y-ysd.y,'r')
For Monte-Carlo simulation of the estimated model:
opt = simsdOptions('InitialCondition',x0e);
simsd(sys, zu, 20, opt)
  1 件のコメント
Theodoros
Theodoros 2013 年 6 月 7 日
Works very well! Thank you Rajiv.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeUncertainty Analysis についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by