bj

使用时域数据估计箱詹金斯多项式模型

语法

sys = bj(数据,[nb nc nd nf nk])
SYS = BJ(数据,[NB NC ND NF NK],名称,值)
sys = bj(data, init_sys)
sys = bj(数据,___,OPT)

描述

sys= bj (数据,[nb nc nd nf nk])估计Box-Jenkins多项式模型,sys,利用时域数据,数据[nb nc nd nf nk]定义用于估计的多项式的阶数。

sys= bj (数据,[nb nc nd nf nk],名称,值)估计有额外的选项由一个或多个指定的多项式模型名称,值对参数。

sys= bj (数据,init_sys)估计用多项式模型箱詹金斯多项式init_sys配置的初始参数sys

sys= bj (数据,___,选择)使用选项集估计Box-Jenkins多项式,选择,以指定评估行为。

输入参数

数据

估计数据。

数据是一个iddata对象包含时域输入和输出信号值。

您不能使用频率域数据来估计Box-Jenkins模型。

[nb nc nd nf nk]

包含Box-Jenkins模型的顺序和延迟的矩阵向量。矩阵必须包含非负整数。

  • NB是B的多项式的阶加1(NY-由-NU矩阵)

  • NC是C多项式的阶数加上1 (ny×1矩阵)

  • ND是D多项式的阶数加上1 (ny×1矩阵)

  • NF是F多项式的阶数加上1 (ny×nu矩阵)

  • NK为输入时延(样本个数,Ny-by-Nu矩阵),其中Nu为输入数,Ny为输出数。

选择

估计选项。

选择是一个选项可设置可以配置,其中包括以下内容:

  • 估计目标

  • 初始条件

  • 在估计中使用的数值的搜索方法

bjOptions以创建选项集。

init_sys

的初始参数配置的多项式模型sys

init_sys必须是idpoly模型与Box-Jenkins结构,只有B,C,DF多项式活跃。bj使用中所定义的参数和约束init_sys作为估计的初始猜测sys

使用结构体的属性init_sys配置初始猜测和约束B(),F(),C(),D()。

指定,例如,的初始猜测C()的init_sys,设置init_sys.Structure.C.Value作为最初的猜测。

指定约束,例如B()的init_sys:

  • init_sys.Structure.B.Minimum到最低限度B()系数值

  • init_sys.Structure.B.Maximum最大B()系数值

  • init_sys.Structure.B.Free来表示,B()系数是免费评估

您同样可以指定其他多项式的初始猜测和约束。

名称-值对的观点

的可选逗号分隔对名称,值参数。名称参数名称和是对应的值。名称必须出现在引号内。可以按任意顺序指定多个名称和值对参数Name1, Value1,…,的家

'InputDelay'

输入延迟。InputDelay为每个输入通道指定时间延迟的数值向量。以采样时间的整数倍指定输入延迟Ts。例如,InputDelay = 3表示三个采样周期的延迟。

对于一个怒江输入,一组InputDelay怒江-乘1向量,其中每个项都是一个数值,表示对应输入通道的输入延迟。你也可以设置InputDelay一个标值应用相同的延迟到所有通道。

默认值:0所有输入通道

'IODELAY'

运输延误。IODelay是一个数字数组,为每个输入/输出对指定单独的传输延迟。

指定运输延误整数表示的采样时间的倍数的延迟Ts

对于MIMO系统尹恩惠输出和怒江输入,一组IODelay到一个尹恩惠——- - - - - -怒江数组,其中每个项都是一个数值,表示对应输入/输出对的传输延迟。你也可以设置IODelay为标量值,以相同的延迟适用于所有的输入/输出对。

默认值:0表示所有输入/输出对

“IntegrateNoise”

逻辑指定噪声信道中的积分器。

IntegrateNoise是长度的逻辑矢量尹恩惠,在那里尹恩惠为输出数量。

设置IntegrateNoise真正对于模型中的特定输出结果:

y ( t ) = B ( ) F ( ) u ( t - n k ) + C ( ) D ( ) e ( t ) 1 - - 1

哪里, 1 1 - - 1 是噪声信道中的积分器,e(t)。

默认值:假(Ny, 1)(尹恩惠是输出的数目)

输出参数

sys

拟合估计数据的BJ模型,作为离散时间返回idpoly对象。此模型是使用指定的模型订单、延迟和估计选项创建的。

所使用的评估结果和选项的信息存储在报告模型的属性。报告具有以下字段:

报告字段 描述
状态

的模型状态,其指示该模型是否是由结构创建或通过估计获得摘要。

方法

使用估计命令。

初始条件

模型估计初始条件的处理,返回为以下值之一:

  • “零”-初始条件设为零。

  • '估计'-初始条件作为独立的估计参数。

  • “展望”-使用最优最小二乘拟合估计初始条件。

此字段是特别有用的,以查看初始条件如何,当处理初始条件估计选项集中的选项为“汽车”

适合

定量评估的估计,返回作为一个结构。看到损失函数和模型质量度量对这些质量度量的更多信息。该结构具有以下字段:

描述
FitPercent

归根的模型的响应如何适合评价数据均方误差(NRMSE)测量,表示为百分比适合= 100 (1-NRMSE)。

LossFcn

估计完成时损失函数的值。

均方误差

均方误差(MSE)的测量如何良好的响应的模型拟合估计数据。

消防工程

该模型最终预测误差。

另类投资会议

原赤池信息量准则(AIC)模型质量的措施。

AICc

小样本大小的修正AIC。

NAIC

标准化的另类投资会议。

BIC

贝叶斯信息标准(BIC)。

参数

模型参数估计值。

OptionsUsed

用于估计选项设置。如果尚未配置自定义选项,这是一组的默认选项。看到bjOptions为更多的信息。

RandState

随机数流在估计开始时的状态。空的,[],如果在估计期间未使用随机化。有关更多信息,请参见RNG在MATLAB®文档。

DataUsed

用于估计的数据的属性,以结构形式返回,包含以下字段:

描述
名称

数据集的名称。

类型

数据类型。

长度

数据样本的数量。

Ts

样品时间。

InterSample

输入样本间行为,返回如下值之一:

  • “zoh”-零阶保持器保持样本之间的输入信号为分段常数。

  • 'FOH'- 第一阶保持保持样本之间的分段线性输入信号。

  • “提单”-限带行为指定连续时间输入信号在奈奎斯特频率以上的功率为零。

InputOffset

在估计期间从时域输入数据中去除的偏移量。对于非线性模型,它是[]

OutputOffset

在估计期间从时域输出数据中去除的偏移量。对于非线性模型,它是[]

终止

预测误差最小化迭代搜索的终止条件。结构具有以下字段:

描述
WhyStop

终止数值搜索的原因。

迭代

估计算法进行搜索迭代次数。

FirstOrderOptimality

-搜索算法终止时梯度搜索向量的范数。

FcnCount

调用目标函数的次数。

UpdateNorm

在最后一次迭代的梯度搜索向量的模。省略当搜索方法'lsqnonlin'要么“fmincon”

LastImprovement

最后一次迭代中的标准改进,用百分比表示。省略当搜索方法'lsqnonlin'要么“fmincon”

算法

所使用的算法'lsqnonlin'要么“fmincon”搜索方法。当使用其他的搜索方法略。

对于估计方法不需要数值搜索优化,终止字段是省略。

获取有关使用的更多信息报告,请参阅评估报告

例子

全部折叠

从测量数据估计单输入、单输出Box-Jenkins模型的参数。

负载iddata1z1;NB = 2;NC = 2;ND = 2;NF = 2;NK = 1;SYS = BJ(Z1,[NB NC ND NF NK]);

sys是一个离散时间idpoly带估计系数的模型。系统的顺序为NB,NC,ND,NFNK

getpvec为了获得估计的参数和getcov以获得与所估计的参数相关联的协方差。

从测量数据估计多输入、单输出Box-Jenkins模型的参数。

负载iddata8nb = [21 - 11];数控= 1;nd = 1;nf = [2 1 2];nk = [5 10 15];sys = bj(z8,[nb nc nd nf nk]);

sys估计具有三个输入和一个输出的模型的参数。每个输入具有与其相关联的延迟。

通过转换一个正则化ARX模型来估计一个正则化的BJ模型。

加载数据。

负载regularizationExampleData.matm0simdata;

估计一个30阶的非正则化BJ模型。

m1 = bj(m0simdata(1:15),[15 15 15 15 1]);

通过试验和误差来确定λ值估计正规化BJ模型。

选择= bjOptions;opt.Regularization。λ= 1;m2 = bj(m0simdata(1:50 0),[15 15 15 15 1],opt);

通过转换正则ARX模型随后降阶获得低阶BJ模型。

opt1 = arxOptions;[L,R] = arxRegul(m0simdata(1:150),[30 30 1]);opt1.Regularization。λ= L;opt1.Regularization。R = R;m0 = arx(m0simdata(1:150),[30 30 1],opt1);= idpoly先生(balred (ids (m0), 7));

对比较数据模型输出。

opt2 = compareOptions (“InitialCondition”,'Z');比较(m0simdata(150:结束),m1, m2,先生,opt2);

在配置一些估计选项估计单输入,单输出箱Jenkins模型的参数。

生成的评估数据。

B = [0 1 0.5];C = [1 -1 - 0.2];D = [1 1.5 0.7];F = [1 -1.5 0.7];sys0 = idpoly (1, B, C, D, F, 0.1);e = iddata ([], randn (200,1));u = iddata ([], idinput (200);sim(sys0,[u e]);data = [y u];

数据是模拟已知模型创建的单输入、单输出数据集。

估计初始Box-Jenkins模型。

NB = 2;NC = 2;ND = 2;NF = 2;NK = 1;init_sys = BJ(数据,[2 2 2 2 1]);

创建一个估计选项集,以细化估计模型的参数。

选择= bjOptions;opt.Display =“上”;opt.SearchOptions。MaxIterations = 50;

选择是一个估计选项集,它将估计配置为最多迭代50次,并显示估计进度。

使用估计选项集重新估计模型参数。

sys = bj(数据、init_sys选择);

sys预计使用init_sys对于多项式系数的初始参数化。

要查看评估结果,输入sys.Report

从估计的数据估计一个多输入,多输出的Box-Jenkins模型。

负载测试数据。

负载iddata1z1负载iddata2z2数据= [Z1 Z2(1:300)];

数据包含两个输入和两个输出的测量数据。

估计模型。

NB = [2 2;3 4];NC = [2; 2];ND = [2; 2];NF = [1 0;2 2];NK = [1 1;0 0];SYS = BJ(数据,[NB NC ND NF NK]);

对于每个输出,多项式阶系数包含一行。

sys是一个离散时间idpoly有两个输入和两个输出的模型。

更多关于

全部折叠

箱詹金斯模型结构

Box-Jenkins模型的一般结构为:

y ( t ) = Σ = 1 n u B ( ) F ( ) u ( t - n k ) + C ( ) D ( ) e ( t )

哪里NU输入信道的数目。

Box-Jenkins模型的阶数定义如下:

n b : B ( ) = b 1 + b 2 - 1 + ... + b n b - n b + 1 n c : C ( ) = 1 + c 1 - 1 + ... + c n c - n c n d : D ( ) = 1 + d 1 - 1 + ... + d n d - n d n f : F ( ) = 1 + f 1 - 1 + ... + f n f - n f

选择

为了估计持续时间模型,使用方法:

  • 特遣部队- 返回一个传递函数模型

  • ssest- 返回一个状态空间模型

  • bj首先估计一个离散时间模型,然后将其转换为连续时间模型D2C

参考文献

[1] Ljung, L。系统辨识:理论对于用户,上马鞍河,新泽西州,普伦蒂斯霍尔PTR,1999年。

扩展功能

R2006a前推出