主要内容

动态系统的预测输出

要预测动态系统的输出,首先确定一个模型,该模型符合系统中过去的测量数据,然后预测已确定模型的未来输出。假设你有一套YN对系统输出的测量(Y= {Y1.,Y2., ...YN})。预测输出到未来:

  1. 使用时间序列估计命令识别系统模型,如应收账,阿克斯,阿玛克斯, 和SSEST..

    软件通过最小化提前一步预测误差的平方和来估计模型。您可以识别线性模型,如AR、ARMA和状态空间模型。您还可以估计非线性ARX和非线性灰箱模型。

  2. 使用预测指挥部。

    这个预测命令在测量数据的时间跨度内预测已识别模型的输出(YP=YP1,YP2., ...YPN.). 使用预测确定预测结果是否正确YP匹配观察到的输出Y以获得所需的预测范围。如果在可用数据的时间跨度内预测良好,则使用模型进行预测。

  3. 指定预测选项,例如软件如何计算测量数据的初始条件。要指定选项,请使用预测选项选项集。

  4. 计算所识别的模型的输出,直到未来的时间范围H, (YN+1,YN+2,...,YN+H)使用预测指挥部。不像预测命令,呢预测该命令在超出测量数据最后一刻的时间范围内对未来进行预测。

    该软件通过以下方式计算预测值:

    • 使用识别的模型生成预测器模型。

    • 使用测量(可用)数据计算预测器的最终状态。

    • 以最终状态为初始条件,对识别出的模型进行仿真。

    有关详细信息,请参阅动态系统响应预测简介.

您还可以预测可测量外部输入的系统的输出U(T)影响输出观测值。在本例中,您首先使用测量值标识输入输出模型Y(T)及U(T),然后使用预测指挥部。

利用ARMA模型预测时间序列数据

此示例演示如何使用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”)传奇(“过去数据”,“预测数据”)

图中包含一个轴。轴包含2个类型为line的对象。这些对象表示过去的数据、预测的数据。

情节表明了系统是一个很好的预测模型,可用于预测。

为测量数据指定零初始条件。

选择=预测选项(“初始条件”,“z”);

预测模型输出超出估计数据的100个步骤。

H=100;yf=预测(系统、过去数据、H、opt);

绘制过去和预测的数据。

t2=t(51:150)';绘图(t1,过去的_数据,“k”,t2,yf,“--r”)传奇(“过去数据”,“预测数据”)

图中包含一个轴。轴包含2个类型为line的对象。这些对象表示过去的数据、预测的数据。

相关话题