主要内容

本页采用了机器翻译。点击此处可查看英文原文。

selstruc

选择单输出 ARX 模型的模型阶数

语法

nn = selstruc(v)
[nn,vmod] = selstruc(v,c)

说明

注意

仅在单输出系统中使用 selstrucselstruc 同时支持单输入和多输入系统。

selstruc 是一个函数,用于根据矩阵 v 中包含的信息选择模型结构(阶数),该矩阵是通过 arxstrucivstruc 输出的结果获得的。

c 的默认值是 'plot'。该图展示了模型无法解释的输出方差百分比与所用参数数量之间的函数关系。每个值都显示了该参数数量的最佳拟合结果。通过点击图,您可以查看哪些订单值得关注。当您点击 Select 时,变量 nn 将作为您所选参数数量的最佳模型结构导出到工作区。可以做出多个选择。

c = 'aic' 不提供任何图,但在 nn 中返回最小化的结构。

Vmod=log(V(1+2dN))=log(V)+2dN,Nd

其中 V 表示损失函数,d 表示所讨论结构中的总参数数,N 表示用于估计的数据点数。log(V)+2dN 表示赤池信息准则 (AIC)。有关详情,请参阅 aic

c = 'mdl'nn 中返回使里萨宁最小描述长度 (MDL) 准则达到最小的结构。

Vmod=V(1+dlog(N)N)

c 等于某个值时,能使 Vmod=V(1+cdN) 最小化的结构

处于选中状态。

输出参量 vmodv 格式相同,但其包含相应修改后的判据的对数值。

示例

全部折叠

创建估计和验证数据集。

load iddata1;
ze = z1(1:150);
zv = z1(151:300);

生成用于估计的模型阶数组合,指定模型阶数和延迟的范围。

NN = struc(1:3,1:2,2:4);

使用工具变量法估计 ARX 模型,并计算每个模型阶数组合的损失函数。

V = ivstruc(ze,zv,NN);

选择与验证数据最相符的模型阶数。

order = selstruc(V,0);

估计选定阶数的 ARX 模型。

M = iv4(ze,order);

加载估计和验证数据集并查看变量名称。

load co2datatt tte ttv
head(tte,3)
     Time      u1     u2      y1   
    _______    ___    __    _______

    0.5 sec    170    50    -44.302
    1 sec      170    50    -44.675
    1.5 sec    170    50     -45.29

生成以下模型-阶数组合:

  • na = 2:4

  • 对于第一个输入,nb = 2:5,对于第二个输入,14

  • 对于第一个输入,nk = 1:4,对于第二个输入,则为 0

NN = struc(2:4,2:5,[1 4],1:4,0);

为每个模型阶数组合估计一个 ARX 模型。

V = arxstruc(tte,ttv,NN);

选择与验证数据最相符的模型阶数。

order = selstruc(V,0)
order = 1×5

     2     4     4     2     0

估计选定阶数的 ARX 模型。

M = arx(tte,order)
M =
Discrete-time ARX model: A(z)y(t) = B(z)u(t) + e(t)               
  A(z) = 1 - 1.252 z^-1 + 0.302 z^-2                              
                                                                  
  B1(z) = -0.3182 z^-2 - 0.1292 z^-3 + 0.2883 z^-4 + 0.001051 z^-5
                                                                  
  B2(z) = -0.02705 + 0.01948 z^-1 + 0.1695 z^-2 + 0.3278 z^-3     
                                                                  
Sample time: 0.5 seconds
  
Parameterization:
   Polynomial orders:   na=2   nb=[4 4]   nk=[2 0]
   Number of free coefficients: 10
   Use "polydata", "getpvec", "getcov" for parameters and their uncertainties.

Status:                                          
Estimated using ARX on time domain data "tte".   
Fit to estimation data: 88.59% (prediction focus)
FPE: 3.993, MSE: 3.938                           
 
Model Properties

版本历史记录

在 R2006a 之前推出