如何优化参数估计的采样

计算科学 统计数据 随机
2021-12-11 12:57:22

我有一个计算机模型,其中包含许多需要根据实验结果进行校准的参数。了解结果对每个参数的敏感性也很重要。解决这个问题的直观方法是对每个参数进行采样(例如从每个参数中实现 m 个)并进行阶乘实验以查看参数之间的主要影响和相互作用。正如反复报道的那样,这种方法的问题在于它的计算成本,因为对于具有 10 个参数的模型,即使只有两级实验,它也会花费次运行,这对我的模型来说是不可行的。210

因此,我正在寻找一种替代采样方法来使我摆脱这种头痛。任何指导表示赞赏。

2个回答

相当大的模拟的敏感性分析的计算成本归因于两个主要现象。首先,正如问题正文中提到的那样,由于参数众多,即使从每个参数中选择少量样本也会导致天文数字的运行。其次,一个小样本数(两级实验)甚至不足以大致了解系统在参数方面的行为。

花了几天时间,这就是我的理解。通常采取两个步骤来解决提出的问题。首先,可以使用部分因子设计来减少运行次数来解决第一个问题,而不是使用全因子设计。这种方法假定全因子设计提供的大部分信息是多余的,因此可以忽略。阅读更多关于维基百科。使用具有两水平因子的部分因子设计,可以对参数进行初步研究并丢弃那些不重要的参数。这将产生一个更小的参数集,可以使用其他方法进行更广泛的研究(如下所述)。为了完整起见,

第二步,为了进一步了解系统,可以使用诸如空间填充设计(如拉丁超立方体采样-LHD)等方法更详细地研究每个参数对系统的影响。不同的方法根据问题的性质使用不同的抽样方法。我发现 Schepdael 等人 2016 年的这篇开放文章(“通过实验设计进行敏感性分析”)在这方面很有用。

还有一点。如果运行您的模型需要大量时间并且基于上述方法执行数千次运行不可行,请查看近似近似贝叶斯计算。此方法基于真实模型的有限结果集开发统计模型,并在统计模型上执行更广泛的运行。我认为这是详细阐述这种方法的主要文章:Buzbas 等人 2015 年的“AABC:用于推断人口遗传模型的近似贝叶斯计算”。

请纠正我或在评论中让我知道您的意见。

您刚刚描述的称为维度灾难,其中样本数量相对于维度呈指数增长。假设您需要个样本,那么您将需要来探索您的设计空间。合身dssds=2d=10在你的例子中。

这在文献中通常被称为全张量网格。有一种称为稀疏网格的方法,它显着减少了样本数量,同时保留了所需的精度。基本上,您需要在高维空间上使用精确的插值/积分方法。看 :

  1. Barthelmann V、Novak E 和 Ritter K 2000 稀疏网格上的高维多项式插值进阶。计算。数学。12 273–88
  2. Novak E 和 Ritter K 1999 具有高多项式精确度的简单容积公式 Constructive Approx。15 499–522

开源代码可用。著名的软件是来自桑迪亚国家实验室的 DAKOTA,您可以从http://dakota.sandia.gov/下载。

如果你的维度太高(d>1,000左右),您最好使用蒙特卡洛,因为准确性与维度无关(仅取决于样本数量)。缺点:你必须采样很多,O(105)O(106)左右,以达到良好的准确性。