为什么要检验模型结果?

经得起检验的结果才更让人信服。 经历了问题的数学化、建立数学模型,再然后求解和统计模型之后,我们可能会觉得大功告成了,这时候有一步一定不能忘记,那就是对模型进行检验。是否有这一步,也往往能看出建模者是否入门了数学建模。

对模型参数进行检验

在建立和求解模型过程中,我们尽可能找到合理的参数,比如在制定投资预算时,我们考虑到了利率的影响,利率范围大概是a%-b%之间,我们采用了其中的c作为模型计算使用的利率,并获得了最终的结果。但是既然是未来的情况,那么它就是不确定的,在某个范围中发生变化都是有可能的。我们除了关心模型在现在指定参数下获得的结果以外,我们还关心如果参数有变化,那现在的结果变化大不大呢?如果调整了参数值(比如将c的值换成合理范围的其他值),现在得到的结果没有多大变化(我们称结果对参数变化“不敏感”),也就是说结论还是可用的,那我就放心地接受现在的结果作为决策的依据;如果调整参数值之后,结果发生了很大的变化(结果对参数变化很“敏感”),这时我们对待结果的态度也会做调整,这说明这个参数很关键,我们要很慎重地尽可能准确地估计该参数,这样得到的结果才可靠。

敏感性分析就是对参数变化对结果产生地影响进行分析,是常用的检验方法。除了参数以外,我们在建模过程中可能有多种可选的其他处理方法,比如评价问题中,我们会对数据进行归一化处理,而归一化处理有多种方式,我们只选择了其中一种。在进行检验时,我们可以调整处理方法,再看一下结果是否一致。如果不同方法得到的结果都一致,那很好,说明结果很可靠;但如果差别很大的话,就要进一步讨论为什么会造成这种结果。

检验结果是否符合常识或专业知识

得到建模结果会用来拓展知识或者指导实践,但如果结果很明显不符合事实,那我们自然不能采纳这个模型的结果了。会有人得出反常识的结果而不自知么?会的。首先大家所认为的“常识”是不一样的,有的人在这方面知识多一些认为是常识,有的人则少一些则视其为专业知识,恰有建模者不了解相关事实,就可能出现前面所说的情况。那怎样进行检验呢?如果对该领域不是很了解的话,参考相关文献、查阅资料或者和他人讨论都是有效的验证方法。

借助检验来拓展结果

除了通过检验来印证结果的合理性或者是稳健性以外,还可以通过检验来拓展结果。检验不只是从头到尾检查一下过程是否严谨,而且会通过不同于建模过程中的其他方法或事实来从另一个视角对结果进行评判。这时候,不同的视角相当于一部分新的内容,也是对现有建模的补充和拓展。

总而言之

  • 建模结果因模型检验而更有根据
  • 建模过程因检验而更加完整
  • 建模思路因检验而更加全面