主要内容

bj

利用时域数据估计Box-Jenkins多项式模型

语法

Sys = bj(data, [nb nc nd nf nk])
sys = bj(data,[nb nc nd nf nk],名称,值)
Sys = bj(data, init_sys)
sys = bj(数据,___选择)
(sys, ic) = bj (___

描述

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利用多项式模型估计Box-Jenkins多项式init_sys的初始参数化sys

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

sys集成电路) = bj (___返回估计的初始条件作为initialCondition对象。如果您计划使用相同的估计输入数据来模拟或预测模型响应,然后将响应与相同的估计输出数据进行比较,则使用此语法。在模拟的第一部分中,结合初始条件产生更好的匹配。

输入参数

数据

估计数据。

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

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

[nb nc nd nf nk]

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

  • 为B多项式加1 (Ny-by-Nu矩阵)的阶

  • 数控为C多项式加1 (ny × 1矩阵)的阶

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

  • nf为F多项式加1 (Ny-by-Nu矩阵)的阶

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

选择

估计选项。

选择是一个选项集,它配置以下选项:

  • 估计目标

  • 初始条件

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

使用bjOptions来创建选项集。

init_sys

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

init_sys必须是一个idpoly模型的Box-Jenkins结构只有BCD而且F多项式活跃。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到一个ν-by-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 是噪声通道中的积分器,et).

默认值:假(Ny, 1)纽约是输出的数量)

输出参数

sys

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

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

报告字段 描述
状态

模型状态的摘要,它表明模型是通过构建创建的还是通过估计获得的。

方法

评估使用的命令。

InitialCondition

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

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

  • “估计”-初始条件被视为独立的估计参数。

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

该字段对于查看初始条件是如何处理的特别有用InitialCondition选项中的值为“汽车”

适合

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

描述
FitPercent

归一化均方根误差(NRMSE)衡量模型的响应与估计数据的吻合程度,用百分比表示适合= 100 (1-NRMSE)。

LossFcn

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

均方误差

均方误差(MSE)衡量模型的响应与估计数据的吻合程度。

消防工程

模型的最终预测误差。

另类投资会议

原始赤池信息准则(AIC)是衡量模型质量的标准。

AICc

小样本量校正AIC。

保险代理人

标准化的另类投资会议。

BIC

贝叶斯信息准则。

参数

模型参数估计值。

OptionsUsed

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

RandState

估计开始时随机数流的状态。空的,[],如果在估计过程中不使用随机化。有关更多信息,请参见rng

DataUsed

用于估计的数据的属性,作为具有以下字段的结构返回:

描述
的名字

数据集的名称。

类型

数据类型。

长度

数据样本的数量。

Ts

样品时间。

InterSample

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

  • “zoh”-零阶保持器在样本之间保持一个分段恒定的输入信号。

  • “呸”-一阶保持器保持样本之间的分段线性输入信号。

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

InputOffset

在估计过程中从时域输入数据中删除的偏移量。对于非线性模型,是这样的[]

OutputOffset

在估计过程中从时域输出数据中删除的偏移量。对于非线性模型,是这样的[]

终止

用于预测误差最小化的迭代搜索的终止条件,作为具有以下字段的结构返回:

描述
WhyStop

终止数值搜索的原因。

迭代

由估计算法执行的搜索迭代次数。

FirstOrderOptimality

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

FcnCount

目标函数被调用的次数。

UpdateNorm

最后一次迭代中梯度搜索向量的范数。当搜索方法为时省略“lsqnonlin”“fmincon”

LastImprovement

上次迭代中的标准改进,用百分比表示。当搜索方法为时省略“lsqnonlin”“fmincon”

算法

所使用的算法“lsqnonlin”“fmincon”搜索方法。当使用其他搜索方法时省略。

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

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

[nb nc nd nf nk]

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

  • 为B多项式加1 (Ny-by-Nu矩阵)的阶

  • 数控为C多项式加1 (ny × 1矩阵)的阶

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

  • nf为F多项式加1 (Ny-by-Nu矩阵)的阶

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

集成电路

估计的初始条件,返回为initialCondition对象或的对象数组initialCondition值。

  • 对于单个实验数据集,集成电路以状态空间形式表示传递函数模型的自由响应(一个而且C矩阵)到估计的初始状态(x0).

  • 对于一个多实验数据集Ne实验中,集成电路对象数组的长度Ne其中包含一组initialCondition每个实验的值。

如果bj返回集成电路的值0你知道你有非零的初始条件,设“InitialCondition”选项bjOptions“估计”并将更新后的选项集传递给bj.例如:

选择= bjOptions (“InitialCondition”,估算')[sys,ic] = bj(data,[nb nc nd nf nk],opt)
默认的“汽车”设置“InitialCondition”使用“零”当初始条件对整体估计误差最小化过程的影响可忽略时的方法。指定“估计”确保软件估计的值集成电路

有关更多信息,请参见initialCondition.有关使用此参数的示例,请参见获得初始条件

例子

全部折叠

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

负载iddata1z1;nb = 2;数控= 2;nd = 2;nf = 2;nk = 1;Sys = bj(z1,[nb nc nd nf nk]);

sys是一个离散时间idpoly用估计系数建模。sys的顺序描述为数控ndnf,nk

使用getpvec得到估计的参数和getcov得到与估计参数相关的协方差。

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

负载iddata8Nb = [2 1 1];数控= 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:150),[15 15 15 15 15 1]);

通过试错确定Lambda值来估计正则化BJ模型。

选择= bjOptions;opt.Regularization.Lambda = 1;M2 = bj(m0simdata(1:20 0),[15 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);

图中包含一个坐标轴。坐标轴包含4个line类型的对象。这些对象代表验证数据(y1), m1: 52.83%, m2: 57.59%, mr: 64.91%。

在配置一些估计选项时,估计单输入、单输出Box-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);Y = sim(sys0,[u e]);数据= [y u];

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

估计初始Box-Jenkins模型。

nb = 2;数控= 2;nd = 2;nf = 2;nk = 1;Init_sys = bj(data,[2 2 2 2 1]);

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

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

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

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

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

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

要查看估计结果,输入sys。报告

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

负载测试数据。

负载iddata1z1负载iddata2z2Data = [z1 z2(1:300)];

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

估计模型。

Nb = [2 2;3 4];数控= (2,2);nd = (2, 2);Nf = [1 0;2 2];Nk = [1 1;0 0];Sys = bj(data,[nb nc nd nf nk]);

多项式阶系数为每个输出包含一行。

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

加载数据。

负载iddata1icz1i

估计一个二阶Box-Jenkins模型sys返回初始条件集成电路

nb = 2;数控= 2;nd = 2;nf = 2;nk = 1;[sys,ic] = bj(z1i,[nb nc nd nf nk]);集成电路
A: [4x4 double] X0: [4x1 double] C: [0.8744 0.5426 0.4647 -0.5285] Ts: 0.1000

集成电路是一个initialCondition的空闲响应sys的初始状态向量X0.你可以把集成电路当你模拟sysz1i输入信号,并与响应进行比较z1i输出信号。

更多关于

全部折叠

Box-Jenkins模型结构

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

y t 1 n u B F u t n k + C D e t

在哪里ν是输入通道的数量。

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

选择

要估计连续时间模型,请使用:

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

  • 党卫军-返回状态空间模型

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

参考文献

[1] Ljung, L。系统识别:用户的理论, Upper Saddle River, NJ, Prentice-Hall PTR, 1999。

扩展功能

之前介绍过的R2006a