解决模型辨识与模型辨识之间的拟合值差异比较
命令
这个例子展示了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)
计算的NRMSE拟合百分比比较
是低于适合那个吗党卫军
计算。这个较低的值主要是由于预测视界之间的不匹配党卫军
(默认的1
)和比较(默认为正
).
重新运行比较
使用的论证1
对于预测视界。
图比较(z1 sys 1)
预测水平的改变解决了大部分拟合值之间的差异。现在,比较
适合度超过党卫军
健康。这个更高的值是因为党卫军
将初始状态设置为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)
现在,拟合结果与原始估计的拟合结果相匹配。
此方法确认党卫军
算法和比较
算法在相同的初始条件和预测水平设置下得到相同的结果。
当您想确认估计算法和比较算法NRMSE拟合值之间的一致性时,此示例只处理再现结果,因为它们与原始估计数据相关。然而,当你使用比较
要根据验证数据验证模型,或比较多个候选模型的优点,请使用比较
默认值为“InitialCondition”
预测视界是一个普遍规律。