过程

使用时间或频率数据估计过程模型

描述

例子

sys=过程(数据类型估计一个过程模型,sys,使用时间或频域数据,数据类型定义的结构sys

sys=过程(数据类型“InputDelay”,InputDelay指定输入延迟InputDelay

例子

sys=过程(数据init_sys使用流程模型init_sys设置初始参数化。

例子

sys=过程(___选择指定其他模型估计选项。使用选择使用前面的任何语法。

例子

sys抵消=过程,过程___返回输入信号中偏移量的估计值。当模型包含积分器时,或当您设置InputOffset估算选项“估计”使用procestOptions.使用抵消使用前面的任何语法。

输入参数

全部折叠

估计数据,指定为iddata对象,该对象包含输入和输出信号值,用于时域估计。对于频域估计,数据可以是以下之一:

  • 记录的频响数据(的朋友idfrd

  • iddata对象,其属性指定如下:

    • InputData-输入信号的傅里叶变换

    • OutputData-输出信号的傅里叶变换

    • - - - - - -“频率”

数据必须至少有一个输入和一个输出。

时间序列模型是不包含测量输入的模型,不能用过程.使用基于“增大化现实”技术arx,或armax而是时间序列模型。

流程模型结构,为SISO模型指定为表示模型结构首字母缩写的字符向量或字符串,例如“P1D”“P2DZ”.这个首字母缩写由:

  • P——所有“类型”首字母缩写都以这个字母开头。

  • 012,或3.-要建模的时间常量(极点)的数量。可能的积分(原点的极点)不包括在这个数字中。

  • -实施整合(自我调节过程)。

  • D—时间延迟(死时间)。

  • Z分子多一项,零。

  • U-允许欠阻尼模式(复值极点)。如果U不包括在类型,所有的极点都必须是真实的。极点的数量必须是2或3。

对于MIMO模型,使用纽约——- - - - - -ν字符向量或字符串数组的单元格数组,每个输入-输出对都有一个条目。在这里纽约输入的数量和ν是输出的数量。

有关如何类型影响流程模型的结构,请参见idproc

输入延迟,指定为数字向量,指定每个输入通道的时间延迟。对象中存储的时间单位指定输入延迟TimeUnit财产。

对于一个ν输入,设置InputDelay到一个ν1的向量。该向量的每一项都是一个数值,表示对应输入通道的输入延迟。您还可以设置InputDelay到一个标量值,以便对所有通道应用相同的延迟。

初始参数化配置系统sys,指定为idproc对象。你获得init_sys通过使用测量数据进行估计或通过直接构造使用idproc.该软件使用的参数和约束定义在init_sys作为估算的初始猜测sys

使用结构的属性init_sys配置的初始猜测和约束KpTp1Tp2Tp3TwζTd,Tz.例如:

  • 的初始猜测Tp1参数的init_sys,设置init_sys.Structure.Tp1.Value作为最初的猜测。

  • 来指定约束Tp2参数的init_sys

    • init_sys.Structure.Tp2.Minimum到最低限度Tp2价值。

    • init_sys.Structure.Tp2.Maximum最大限度地Tp2价值。

    • init_sys.Structure.Tp2.Free表示如果Tp2是用于估计的自由参数。

如果选择是不指定的,和init_sys被估计得到,那么估计选项从init_sys.Report.OptionsUsed使用。

评估选项,指定为procestOptions选项设置。评估选项包括:

  • 估计目标

  • 初始条件和扰动分量的处理

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

输出参数

全部折叠

已标识的流程模型,返回为idproc定义的结构的模型类型

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

报告字段 描述
状态

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

方法

使用的估计命令。

InitialCondition

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

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

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

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

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

适合

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

描述
FitPercent

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

LossFcn

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

均方误差

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

消防工程

模型的最终预测误差。

另类投资会议

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

AICc

小样本量校正AIC。

保险代理人

标准化的另类投资会议。

BIC

贝叶斯信息准则。

参数

模型参数估计值。

OptionsUsed

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

RandState

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

DataUsed

用于估计的数据的属性。具有以下字段的结构:

描述
的名字

数据集的名称。

类型

数据类型。为idnlarx模特,这是设定“时域数据”

长度

数据样本的数量。

Ts

样品时间。这相当于数据。Ts

InterSample

输入样本间行为。以下值之一:

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

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

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

的价值Intersample对离散时间模型的估计结果没有影响。

InputOffset

空的,[],为非线性估计方法。

OutputOffset

空的,[],为非线性估计方法。

终止

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

描述
WhyStop

终止数值搜索的原因。

迭代

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

FirstOrderOptimality

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

FcnCount

目标函数被调用的次数。

UpdateNorm

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

LastImprovement

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

算法

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

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

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

输入偏移量的估计值,作为向量返回。当数据有多次实验,抵消是一个矩阵,其中每一列对应一个实验。

例子

全部折叠

获取测量的投入产出数据。

负载iddemo_heatexchanger_data;data = iddata(pt,ct,Ts);数据。我nputName =“δCTemp \”;数据。我nputUnit =“C”;数据。OutputName =“δPTemp \”;数据。OutputUnit =“C”;数据。TimeUnit =“分钟”

估计一个一阶加死时间过程模型。

类型=“P1D”;sysP1D =进程(数据,类型);

将模型与数据进行比较。

sysP1D对比(数据)

绘制模型残差。

图渣油(数据、sysP1D);

从图中可以看出残差是相关的。为此,在过程模型中添加一阶ARMA扰动分量。

opt = procestOptions(“DisturbanceModel”“ARMA1”);sysP1D_noise = process (data,“p1d”、选择);

比较模型。

比较(数据、sysP1D sysP1D_noise)

绘制模型残差。

图渣油(数据、sysP1D_noise);

残留的sysP1D_noise是不相关的。

使用正则化方法估计过参数化过程模型的参数。

假设增益比其他模型参数具有更高的置信度。

加载数据。

负载iddata1z1

估计一个非正则化的流程模型。

M = idproc(“P3UZ”“K”, 7.5,“台湾”, 0.25,“ζ”, 0.3,“Tp3”, 20岁,' Tz ', 0.02);M1 = procest(z1,m);

估计一个正则化的流程模型。

opt = procestOptions;opt.Regularization.Nominal =“模型”;r = [100;1;1;1];opt. regulalizing . lambda = 0.1;M2 = process (z1,m,opt);

将模型输出与数据进行比较。

比较(z1, m1, m2);

正则化有助于引导估计过程朝向正确的参数值。

在指定参数值的初始猜测并限定它们之后,估计流程模型。

获取输入/输出数据。

Data = idfrd(idtf([10 2],[1 1.3 1.2],“碘”0.45), logspace (2256));

指定评估初始化模型的参数。

类型=“P2UZD”;Init_sys = idproc(type);init_sys.Structure.Kp。值= 1;init_sys.Structure.Tw。值= 2;init_sys.Structure.Zeta。值= 0.1;init_sys.Structure.Td。值= 0;init_sys.Structure.Tz。值= 1;init_sys.Structure.Kp。最小= 0.1;init_sys.Structure.Kp。最大值= 10;init_sys.Structure.Td。最大值= 1; init_sys.Structure.Tz.Maximum = 10;

指定评估选项。

opt = procestOptions(“显示”“全部”“InitialCondition”“零”);opt.SearchMethod =“lm”;opt.SearchOptions.MaxIterations = 100;

估计流程模型。

Sys = process (data,init_sys,opt);

“显示”选项指定为“全部”,估计进度显示在单独的植物鉴定进展窗口。

将数据与估计模型进行比较。

比较(数据、sys init_sys);

获取输入/输出数据。

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

数据是一个具有两个输入和两个输出的数据集。第一个输入只影响第一个输出。类似地,第二个输入只影响第二个输出。

在估计过程模型中,交叉项,模拟第一个输入对第二个输出的影响,反之亦然,应该可以忽略不计。如果给这些动态分配更高的阶数,它们的估计就会显示出高度的不确定性。

估计流程模型。

类型=“P2UZ”;Sys =进程(数据,类型);

类型变量表示具有复共轭极点对、零点和时滞的模型。

为了评估不确定性,绘制频率响应图。

W = linspace(0,20*pi,100);H = bodeploy (sys,w);showConfidence (h);

负载iddata1[sys,offset] = process (z1,“P1DI”);抵消
偏移量= 0.0412

扩展功能

在R2012a中介绍