主要内容

模型结构选择:决定模型秩序和输入延迟

这个例子显示了一些选择和配置模型结构的方法。使用测量数据估计的模型需要选择模型结构(如状态或传递函数)及其顺序(如极数和0)。这种选择受到先验知识对系统建模,但也可以出于数据本身的分析。这个例子描述了一些选项来确定模型的订单和输入延迟。

介绍

选择一个模型结构通常是第一步估计。有各种可能性结构状态,转移函数和多项式形式,如ARX ARMAX, OE, BJ等等。如果你没有详细的系统的先验知识,如噪声特点和信号反馈,选择一个合理的结构可能不明显。也对于一个给定的结构,选择的顺序模型之前,需要指定相应的参数估计。系统辨识工具箱™提供了一些工具来协助模型顺序选择的任务。

模型的选择顺序也受到延迟的时间。输入延迟的一个好主意简化计算的任务的命令其他模型系数。下面讨论的一些选项输入延迟决心和模型结构和秩序的选择。

选择和准备示例数据进行分析

这个示例使用吹风机的数据,还用iddemo1(简单模型估算”真正的实验室处理数据”)。空气被煽动的过程由通过一根管子。在进口的空气加热管,和输入电压应用于加热器。输出温度的出口管。

让我们首先加载测量数据和做一些基本的预处理:

负载dry2

形成一个数据集的估计,和一套参考验证下半年的目的:

泽= dry2 (1:50 0);zr = dry2 (501:1000);

去趋势的每一集:

泽=去趋势(泽);zr =去趋势(zr);

让我们看看部分估算数据:

情节(泽(200:350))

估计输入延迟

有各种选项可用来确定输入输出的时间延迟。这些都是:

  • 使用延迟实用程序。

  • 使用脉冲响应的非参数估计,使用冲动

  • 利用状态空间模型的估计量N4SID与许多不同的订单和寻找“最佳”的延迟。

使用延迟:

让我们详细讨论上面的选项。函数延迟返回一个估计的延迟对于一个给定的订单选择的分子和分母多项式。这个函数评估一个ARX结构:

y (t) + a1 * y (t - 1) +…+安娜* y(娜)= b1 * u (t-nk) +……+ bnb * (t-nb-nk + 1)

各种延误和选择延迟值似乎最适合。在这个过程中,选择的值na使用。

延迟=延迟(泽)使用% na = nb = 2,默认情况下
延迟= 3

默认返回的值为3。但是这个值可能会改变一点,如果假定分子和分母多项式的订单(2)改变。例如:

延迟=延迟(泽、5、4)
延迟= 2

返回一个值为2。了解如何延迟的作品,让我们评估各种选择的延误的损失函数显式地。我们选择一个二阶模型(na = nb = 2),这是默认的延迟,尝试每一个1到10之间的时间延迟。不同的损失函数模型是计算使用验证数据集:

V = arxstruc(泽、锆、struc (2, 2, 1:10));

我们现在选择出最适合验证延迟数据:

(nn, Vm) = selstruc (V, 0);% nn (na nb nk)给药

所选的结构是:

神经网络
nn = 2 2 3

展示最好的模型有一个延迟神经网络(3)= 3。

我们也可以看看合适取决于延迟。这些信息在第二输出返回虚拟机。二次损失函数的对数作为第一行,而索引na,nk给出如下一列对应的损失函数。

虚拟机
Vm = 1到7列-0.1480 -1.3275 -1.8747 -0.2403 -0.0056 0.0736 0.1763 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000列8到10 0.1906 0.1573 0.1474 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 8.0000 9.0000 10.0000
3因此延误的选择相当清楚,因为相应的损失是最小的。

使用冲动

更好地了解动态,让我们计算系统的脉冲响应。我们将使用这个函数冲动计算脉冲响应的非参数模型。我们把这种反应和置信区间由3个标准差表示。

FIRModel =冲动(泽);clf h = impulseplot (FIRModel);showConfidence (h, 3)

满了淡蓝色区域显示了无关紧要的响应的置信区间估计。有明显的迹象表明,脉冲响应“起飞”(叶子不确定性区域)后3样本。这指向一个延迟三个间隔。

使用n4sid基于状态的评估

我们也估计参数模型的一个家庭找到相对应的延迟“最佳”模型。在状态空间模型的情况下,一系列的订单可能会评估的同时,并最好的订单是从汉克尔奇异值。执行以下命令来调用n4sid在交互模式:

m = n4sid(泽,1:15);% 1到15之间的所有订单。

情节表明订单3的最佳值。这个选择,让我们计算模型的脉冲响应:

m = n4sid(泽,3);showConfidence (impulseplot (m), 3)

与非参数脉冲响应,有明显的迹象表明,延迟从输入到输出的三个样品。

选择一个合理的模型结构

在缺乏先验知识时,建议尝试各种可用的选择和使用一个似乎是最好的工作。状态空间模型可能是一个很好的起点,因为只有需要指定的状态数来估计模型。一系列的订单也可以快速评估,使用n4sid,确定最佳秩序,在下一节中描述。对于多项式模型,实现使用类似的优势arx估计量。输出误差(OE)模型也可能是不错的选择,开始多项式模型由于其简单性。

确定模型的阶

一旦你决定使用一个模型结构,下一个任务是确定订单(s)。一般来说,目标应该是不使用一个模型秩序高于必要水平。这可以由分析改善%合适的函数模型。当这样做时,建议使用一个单独的,独立的数据集进行验证。选择一个独立的验证数据集(zr在我们的示例中)将提高过拟合检测。

除了多个模型的渐进分析订单,明确确定最佳订单可以执行一些模型结构。功能arxstrucselstruc可用于选择最好的订单ARX模型。对于我们的示例,让我们检查适合所有100 10的组合b参数和10一个参数,所有的延迟值3:

V = arxstruc(泽、锆、struc (1:10 1:10 3));

最适合获得验证数据集:

nn = selstruc (V, 0)
nn = 10 4 3

让我们检查多少适合高阶模型的改进。为此,我们使用函数selstruc只有一个输入。在这种情况下,一块显示适合作为生成函数使用的参数的数量。用户也提示输入参数的数量。常规选择结构与这些许多参数,给出了最适合。注意,不同的模型结构使用相同数量的参数。执行以下命令选择一个模型交互顺序:

nns = selstruc (V)%调用selstruc交互模式

最适合因此获得了nn =(4 4 3),当我们看到改进适合神经网络相比=[2 2 3],而边际。

我们也可以解决这个问题从减少高阶模型的方向。如果订单是高于必要水平,那么额外的参数基本上是用于“模型”的测量噪声。这些“额外”的两极估计较低水平的准确性(大置信区间)。如果他们取消零附近,然后这是一个迹象表明这个pole-zero一对可能不需要捕获的基本动力学系统。

对于我们的示例,我们计算一个四阶模型:

th4 = arx(泽,[4 4 3]);

让我们检查pole-zero配置模型。我们还可以包括信心区域极点和零点对应的3个标准差,以确定他们是多么准确估计也有多接近两极和0。

h = iopzplot (th4);showConfidence (h, 3)

置信区间的两个复共轭极点和零点重叠,表明他们可能会相互抵消。因此,一个二阶模型可能是足够的。根据这些证据,我们计算一个二阶ARX模型:

th2 = arx(泽,[2 2 3]);

我们可以测试这个模型如何(th2)是有生殖能力的验证数据集。比较两种模型的模拟输出与实际输出(策划200年中期数据点)我们使用比较用途:

比较(zr (150:350), th2 th4)

情节表明没有明显精确度损失订单从4减少到2。我们还可以检查残差(“剩菜”)的模型,即。剩下无法解释的模型。

e =渣油(泽,th2);情节(e(: 1[]))、标题(“残差”)

我们看到,残差相比非常小的信号电平输出,他们相当不错(尽管不是完全)与输入和自己不相关的。我们因此可以(暂时)满意模型th2

现在让我们检查是否我们可以确定订单状态结构模型。和之前一样,我们知道延迟3样本。我们可以尝试所有订单从1到15总滞后3样本n4sid。执行以下命令尝试各种订单和交互式地选择一个。

= n4sid女士(泽(1:15),‘InputDelay’, 2);% n4sid估计与变量的命令

“InputDelay”设置为2,因为默认情况下n4sid估计模型没有引线(占一个示例输入和输出之间的延迟)。默认顺序,显示在上图中,是3,这是在良好的协议与我们早期的发现。最后,我们比较了状态模型女士和ARX模型th2比较在繁殖的测量输出验证数据:

女士= n4sid(泽3“InputDelay”2);比较(锆、ms, th2)

情节的比较表明,两个模型实际上是相同的。

结论

这个例子描述了一些选项,选择一个合理的模型。提前确定延迟可以简化的任务选择订单。ARX和状态空间结构,我们有一些特殊的工具(arxn4sid估计)评估一系列模型自动订单,并选择最好的一个。这个练习透露的信息(使用公用事业等arxstruc,selstruc,n4sid延迟)可以作为一个起点,估算模型的其他结构,如BJ和ARMAX。