主要内容

解决模型辨识与模型辨识之间的拟合值差异比较命令

这个例子展示了NRMSE拟合值如何通过模型识别函数和比较函数会因初始条件和预测水平设置的不同而不同。

当您识别一个模型时,模型识别算法将返回您使用的度量数据的适合百分比值。如果你使用比较为了将模型模拟结果与实测数据绘制图,拟合结果并不总是相同的。这种差异是因为:

  • 模型辨识算法和模型辨识算法比较算法采用不同的方法估计初始条件。

  • 模型识别算法使用默认的一步法预测关注,但比较使用默认值-相当于模拟的焦点。看到模拟和预测已识别的模型输出

这些差异通常很小,它们不应该影响您的模型选择和验证工作流。如果确实希望精确地再现估计拟合结果,则必须使预测水平和中使用的初始条件设置相一致比较与模型估计期间使用的值。

加载数据,并估计一个三状态状态空间模型。

负载iddata1z1;Sys = sest(z1,3);

根据测量数据估计状态空间模型。

允许党卫军使用其默认值“焦点”设置的预测,以及它的默认值“InitialState”'auto'的估计设置。的“汽车”设置的原因党卫军选择:

  • “零”如果初始预测误差不显著高于基于估计的误差,或如果系统是FRD

  • “估计”对于大多数单一实验数据集,如果“零”不可接受

  • “展望”对于多实验数据集,如果“零”不可接受

有关更多信息,请参见ssestOptions

您可以从的估计报告中检索自动选择的初始状态选项、初始状态向量和NRMSE适合百分比sys

sys_is = sys.Report.InitialState
Sys_is = ' 0 '
sys_x0 = sys.Report.Parameters.X0
sys_x0 =3×10 0 0
sys_fit = sys.Report.Fit.FitPercent
Sys_fit = 76.4001

党卫军选择“零”,而不是估计初始状态,这表明初始状态对预测误差的贡献很小。

使用比较对模型进行模拟,并根据实测数据绘制结果图。对于这种情况,允许比较使用它自己的方法来估计初始条件和它的缺省值对于预测视界。

图比较(z1, sys)

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些对象表示验证数据(y1), sys: 70.56%。

计算的NRMSE拟合百分比比较是低于适合那个吗党卫军计算。这个较低的值主要是由于预测视界之间的不匹配党卫军(默认的1)和比较(默认为).

重新运行比较使用的论证1对于预测视界。

图比较(z1 sys 1)

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些对象表示验证数据(y1), sys: 76.44%。

预测水平的改变解决了大部分拟合值之间的差异。现在,比较适合度超过党卫军健康。这个更高的值是因为党卫军将初始状态设置为0,而比较估计的初始状态。你可以通过重新运行来研究初始状态向量之间的距离比较使用输出参数。

[y1,fit1,x0c] = compare(z1,sys,1);x0c
x0c =3×1-0.0063 -0.0012 0.0180

x0c是小,但不等于零吗sys_x0.复制党卫军的初始条件比较,直接设置“InitialCondition”选项sys_x0.然后运行比较使用更新后的选项集。

compareOpt = compareOptions(“InitialCondition”, sys_x0);图比较(z1、sys compareOpt)

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些对象表示验证数据(y1), sys: 76.4%。

现在,拟合结果与原始估计的拟合结果相匹配。

此方法确认党卫军算法和比较算法在相同的初始条件和预测水平设置下得到相同的结果。

当您想确认估计算法和比较算法NRMSE拟合值之间的一致性时,此示例只处理再现结果,因为它们与原始估计数据相关。然而,当你使用比较要根据验证数据验证模型,或比较多个候选模型的优点,请使用比较默认值为“InitialCondition”预测视界是一个普遍规律。

另请参阅

相关的话题

Baidu
map