要预测动态系统的输出,首先确定一个模型,该模型符合系统中过去的测量数据,然后预测已确定模型的未来输出。假设你有一套Y的N对系统输出的测量(Y= {Y1.,Y2., ...YN})。预测输出到未来:
使用时间序列估计命令识别系统模型,如应收账
,阿克斯
,阿玛克斯
, 和SSEST.
.
软件通过最小化提前一步预测误差的平方和来估计模型。您可以识别线性模型,如AR、ARMA和状态空间模型。您还可以估计非线性ARX和非线性灰箱模型。
使用预测
指挥部。
这个预测
命令在测量数据的时间跨度内预测已识别模型的输出(YP=YP1,YP2., ...YPN.). 使用预测
确定预测结果是否正确YP匹配观察到的输出Y以获得所需的预测范围。如果在可用数据的时间跨度内预测良好,则使用模型进行预测。
指定预测选项,例如软件如何计算测量数据的初始条件。要指定选项,请使用预测选项
选项集。
计算所识别的模型的输出,直到未来的时间范围H, (YN+1,YN+2,...,YN+H)使用预测
指挥部。不像预测
命令,呢预测
该命令在超出测量数据最后一刻的时间范围内对未来进行预测。
该软件通过以下方式计算预测值:
使用识别的模型生成预测器模型。
使用测量(可用)数据计算预测器的最终状态。
以最终状态为初始条件,对识别出的模型进行仿真。
有关详细信息,请参阅动态系统响应预测简介.
您还可以预测可测量外部输入的系统的输出U(T)影响输出观测值。在本例中,您首先使用测量值标识输入输出模型Y(T)及U(T),然后使用预测
指挥部。
此示例演示如何使用ARMA模型从系统中预测时间序列数据。加载要预测的时间序列数据。
负载iddata9z9过去数据=z9.输出数据(1:50);
拟合有序的ARMA模型[4 3]
与实测数据进行比较。
sys=armax(过去的_数据[4 3]);
执行提前10步的预测,以在测量数据的时间跨度内验证模型。
YP =预测(SYS,PAST_DATA,10);
绘制预测响应和测量数据。
t=z9.抽样数;t1=t(1:50);绘图(t1,过去的_数据,“k”,t1,yp,“*b”)传奇(“过去数据”,“预测数据”)
情节表明了系统
是一个很好的预测模型,可用于预测。
为测量数据指定零初始条件。
选择=预测选项(“初始条件”,“z”);
预测模型输出超出估计数据的100个步骤。
H=100;yf=预测(系统、过去数据、H、opt);
绘制过去和预测的数据。
t2=t(51:150)';绘图(t1,过去的_数据,“k”,t2,yf,“--r”)传奇(“过去数据”,“预测数据”)