计算机模型的贝叶斯校准 Bayesian calibration of computer models

摘要

我们考虑对使用复杂数学模型进行近似的系统进行预测和不确定性分析。此类模型作为计算机代码实现,通常是通用的,因为通过适当选择模型的一些输入参数,代码可用于预测系统在各种特定应用中的行为。.然而,在任何特定应用中,必要参数的值可能是未知的。在这种情况下,系统在特定环境中的物理观察用于了解未知参数通过调整参数将模型拟合到观测数据的过程称为校准。校准通常通过特设拟合来实现,并且在校准之后,使用带有拟合输入值的模型来预测系统的未来行为。我们提出了一种贝叶斯校准技术,它在两个方面改进了这种传统方法。首先,预测允许所有不确定性来源,包括拟合参数的剩余不确定性。其次,他们试图纠正模型的任何不足之处,这些不足之处是观察到的数据与模型预测之间的差异所揭示的,即使是最佳拟合参数值也是如此。该方法通过使用来自托木斯克核辐射释放和更复杂的模拟核事故演习的数据来说明。

关键词:校准计算机实验确定性模型;高斯过程;插值;模型不足;敏感性分析;不确定性分析

1.概述

1.1 计算机模型和校准

各种科学使用数学模型来描述原本很难分析的过程,这些模型通常在计算机代码中实现。 通常,数学模型非常复杂,生成的计算机代码很大,并且就单次运行所需的计算机时间而言可能很昂贵。 然而,运行计算机模型将比直接观察过程便宜得多。 Sacks、Welch、Mitchell 和 Wynn (1989) 给出了几个例子。 我们认为的代码是确定性的,即:使用相同的输入运行代码总是会产生相同的输出。

计算机模型通常被设计为适用于广泛的特定环境。 但是,要使用模型在特定环境中进行预测,可能需要首先使用一些观察到的数据来校准模型。 为了说明这个过程,我们介绍一个简单的例子。 2.2 节详细描述了另外两个示例。

**********************(药物的性质决定某些转移比率,从而决定探索后果)********************** _____________校准是调整未知速率参数直到模型的输出适合观察到的数据的活动___________

为了决定新药的剂量方案(例如片剂的大小、频率和释放速率),使用了药代动力学模型。这模拟了药物通过患者身体的各个“隔室”的运动及其最终消除(例如通过化学反应或排泄)。这样的模型允许探索任何给定剂量方案的后果。然而,要将模型用于特定药物,必须指定药物在不同身体部位之间移动的速率,例如从胃转移到血液的速率,或从肝脏中消除的速率。这些比率中的一些或全部将特定于所讨论的药物。正是通过要求用户将它们指定为代码的输入,该模型才实现了对各种药物的适用性。当然,对于给定的药物,这些比率是未知的,因此进行实验以获得观察数据。无法自行获取费率。相反,数据是对药代动力学模型的某些输出的观察例如在某些时间点血液或尿液中的浓度。粗略地说,校准是调整未知速率参数直到模型的输出适合观察到的数据的活动。

更一般地,计算机模型将具有许多特定于上下文的输入,这些输入定义了要使用模型的特定情况。通常情况下,当一个或多个特定于上下文的输入的值未知时,可以使用观察来了解它们,这是校准。

在当前实践中,校准总是包括搜索一组未知输入的值,以使观察到的数据在某种意义上尽可能接近模型的相应输出。这些值被视为特定于上下文的输入的估计值,然后通过将这些输入设置为它们的估计值,该模型用于预测该上下文中过程的行为。

显然,这种“插件”预测将特定于上下文的输入视为已知的。现实情况是它们只是被估计的,关于这些输入的剩余不确定性应该在模型的后续预测中得到承认。

我们在本文中提出了一种贝叶斯方法来校准计算机模型。我们将未知输入表示为参数向量 θ 。使用观察到的数据,我们得出θ 的后验分布,它特别量化了关于 θ 的“剩余不确定性”。随后使用计算机模型进行预测时,这种不确定性得到了充分考虑,通过获得预测分布。 Aitchison 和 Dunsmore (1975) 阐述了贝叶斯预测推理的原理,但计算机代码校准问题具有一些复杂的特征。

我们的方法将计算机代码视为简单的“黑匣子”。我们不使用有关代码实现的数学模型的信息,除非这可以通过有关输入和输出之间关系的先验信息来表示。显然,打开黑匣子并利用其结构的方法可能被证明比我们的方法更强大,但它们的应用也会相应地更复杂。这是未来研究的一个潜在重要课题。

1.2 本文大纲

第 2 章详细分析了与计算机代码相关的问题。 特别是,除了上下文特定输入的不确定性之外,计算机代码的使用还有其他几个不确定性来源,而用于预测的校准只是计算机代码输出统计分析中的几个主题之一。 第 2 章首先仔细研究了计算机模型中的不确定性,并通过一些详细示例说明了可能的来源。 最后回顾了以前关于校准和相关问题的工作。

我们的贝叶斯方法基于通用贝叶斯方法来推断未知函数。 第 3 章回顾了相关理论和已发表的工作。第 4 章介绍了我们的基本模型和分析,第 5 章讨论了实际应用问题。第 6 章介绍了基于真实数据的案例研究。 第 7 章提供了一些结论和进一步工作的方向。

2.计算机代码输出的统计分析

2.1 计算机模型的不确定性

计算机模型的广泛应用伴随着对量化其使用中普遍存在的不确定性的广泛关注。 以下是对各种不确定性来源进行分类的一种方法。

不确定性 来源
模型不足 没有模型是完美的
参数不确定性 计算机代码输入值视为模型的未知参数
残余变异性 由于无法识别的条件导致
参数可变性 输入中指定的某些条件不受控制和未指定
观察误差 观察错误
代码不确定性 给定任何特定输入配置的计算机代码的输出实际上是未知的

2.2 例子

能够将本文中的各种概念、定义和符号与实际计算机代码的一些具体示例联系起来会很有帮助。以下只是可以给出的众多示例中的两个。

2.2.1 高斯羽流模型

在放射防护领域,一个简单的高斯羽流模型(Clarke,1979 年)用于预测放射性物质在意外释放后的扩散和随后的沉积。在这些情况下,运行更复杂模型所需的详细输入信息不可用。

代码输入可分为定义事故发生时的大气条件(风向、风速和大气稳定性)和定义释放性质的输入(源项、源位置、释放高度、释放持续时间和沉积)速度。(条件决定性质输入)

放射性核素的扩散是一个高度复杂的过程,涉及各种无法直接观察到的化学和环境过程。在高斯羽流模型中进行了许多简化假设,通常会导致模型高度不充分。例如,假设风的速度和方向在释放的粒子的传播时间内保持不变。

即使对于这个简化的模型,许多输入也具有与之相关的参数不确定性。源项表示释放的物质量,沉积速度表示地面空气中物质沉积在地面上的速率,这些都是示例。沉积速度的合适值很难确定(参见 Jones (1981))。默认值通常基于粒子的大小和材质通过的地形类型来使用。释放的高度和持续时间,以及风速和风向也可能具有相关的参数不确定性。高斯羽流模型很便宜。我们可以在很短的时间内进行数千次运行,因此出于实际目的,代码不确定性不是问题,我们可以处理已知的功能。这不适用于更复杂的大气扩散模型。
在实际发布过程中,不同组织使用各种设备进行沉积测量。进行这些测量的过程并不简单。通常从现场采集草样并在实验室进行分析。在测量过程的每个阶段都会引入测量误差。

该讨论涉及在特定事故场景中使用羽流模型,其中参数不确定性表示对实际释放的输入参数真实值的置信度。我们可能还想考虑风险评估环境,我们想预测未来可能的污染。事故随时可能发生,因此源项、风速和风向是随机的,输入受参数可变性的影响。

2.2.2 水文模型

水文模型用于预测地下水流量,例如预测土壤中污染物的移动或降雨后河流的排放量。我们考虑 Romanowicz 等人描述的模型。 (1994 年),它预测流放电。模型的输入包括测量的降雨数据的时间序列、蒸散速率、剖面刚饱和时土壤的平均有效透过率 TO 以及与地下排水水平相关的常数 m。

关于 TO 和 m 的参数不确定性源于该模型用于预测水流通过无法直接观察到的复杂地质结构的事实。测量的降雨数据将包括随机测量误差,这是参数可变性的一个例子。模型的不足源于建模过程引入的简化,如高斯羽流模型。

Romanowicz 等人。 (1994) 使用实际流量测量来了解 m 和 TO 的值。然而,正如他们所指出的,不可能测量流动过程的真实价值,因为我们只能对流动的异构模式进行点测量。这与第 2.1 节中描述的剩余可变性的概念有关,我们将“真实流量”定义为平均值。

2.3. 统计方法和以前的工作

计算机代码输出统计分析领域的一些早期工作主要涉及插值,即给定包含输入配置样本输出的数据,问题是估计代码在其他输入配置下的输出尚未运行。当代码特别大且运行成本特别高时,这是相关的。 Sacks、Welch、Mitchell 和 Wynn (1989) 对这项工作进行了重要回顾,最近的一些参考文献是 Currin 等人。 (1991),莫里斯等人。 (1993 年),贝茨等人。 (1995) 和肯尼迪和奥哈根 (2OOOa)。

在这项工作中考虑的唯一形式的不确定性是代码不确定性。模型不充分、残余变异和观察误差不相关,因为没有尝试预测与计算机模型输出不同的真实过程,并且没有使用对该过程的观察。所有输入参数都假定是已知的,并且不受参数不确定性或参数变化的影响。这项工作中使用的统计方法基于将计算机代码输出表示为其输入的未知函数,并将该函数建模为随机过程。

统计方法已经解决了相当长一段时间的另一个问题是不确定性分析。不确定性分析的目的是研究由输入概率分布引起的代码输出分布。输入参数分布可以是参数不确定性的公式,即其值未知的参数,或参数可变性的公式,即其值未指定的参数。最简单的不确定性分析方法是蒙特卡罗解决方案,其中输入的配置是从它们的分布中随机抽取的。然后针对每个样本输入配置运行代码,生成的输出集是来自要研究的输出分布的随机样本。参见 Helton (1993) 的评论。

用于不确定性分析的蒙特卡罗方法很简单,但当代码运行成本很高时变得不切实际,因为需要大量运行。与简单的蒙特卡罗抽样相比,拉丁超立方抽样(McKay 等人,1979;Stein,1987;Owen,1992)声称效率更高;参见例如 Crick 等人。 (1988 年)和 Helton 等人。 (1991)。阿斯莱特等人。 (1998) 将蒙特卡洛方法与代码的统计插值结合起来进行不确定性分析,有效地使用插值器作为代码的廉价替代品。

Haylock 和 O’Hagan (1996) 提出了一种完全不同的基于高斯过程先验模型的不确定性分析贝叶斯方法。他们推导出输出分布的后验均值和方差,并将其推广到 Oakley 和 O’Hagan (1998) 对输出分布的分布函数和密度函数的后验估计。

除了代码不确定性之外,这些不确定性分析方法还考虑了参数不确定性和参数变化。但是,目标仍然集中在代码输出上,在这种情况下是以输出分布的形式,而不是过程本身。因此,没有对模型不足、残差或观测误差进行处理。

与计算机代码相关的另一个问题是敏感性分析,其目标是表征代码输出如何响应输入的变化,特别是涉及识别输出相对敏感或不敏感的输入。有关该主题的大量文献的一个很好的来源是 Saltelli 等人。 (2OOO)。尽管其中大部分没有使用统计方法,但也有一些值得注意的例外。参见例如 Helton (1993)、Morris (1991)、Iman 和 Conover (198O)、Welch 等人。 (1992)、Morris (1991)、Homma 和 Saltelli (1996) 以及 O’Hagan 等人。 (1999)。在德雷珀等人。 (1999 年),敏感性分析被应用于一系列“场景”,使用 Draper(1995 年)的模型平均思想。与插值一样,这些敏感性分析的统计方法仅考虑计算机代码输出的所有统计分析所共有的不确定性来源,即代码不确定性。

我们对该领域调查的最后一个主题是校准。如 1.1 节所述,估计未知参数的传统方法是通过临时搜索最佳拟合值。因此,一些考虑因素是观察误差、残差和模型不足,但只是通过测量拟合差异来隐含地进行。该度量通常不是通过以任何显式方式对这些误差项建模而开发的,并且通常完全是启发式的。此外,由于估计值随后被视为已知,因此后续预测不考虑(剩余)参数不确定性。

相比之下, Romanowicz 等人的广义似然不确定性估计方法。 (1994) 确实充分考虑了参数的不确定性。该方法实际上是贝叶斯方法。从未知输入的先验分布中抽取初始蒙特卡洛样本,然后通过似然项对其进行加权。使用所有采样的输入配置进行预测,结果是来自后验预测分布的加权样本。例如,加权样本均值是对该预测分布均值的估计。

在广义似然不确定性估计方法中,可以允许仅具有运行样本的代码不确定性,并且还可以通过扩展蒙特卡罗方法来允许参数变化以允许在预测时从未指定的输入中抽取阶段,但这些在迄今为止发表的文献中都没有完成。与更传统的校准方法一样,可能性是相当启发式的,并且只是非常松散地基于对代码输出和实际过程之间的差异进行建模。模型不充分、残差和观测误差没有被明确区分或建模。在预测中没有考虑它们,目标仍然是估计代码输出而不是现实。

Craig 等人给出了另一种贝叶斯校准方法。 (1996, 2OO1)。他们对代码输入和输出之间的关系进行了建模,类似于在该领域的许多其他工作中提到的高斯过程模型。在克雷格等人。 (1996),主要目标是使寻找最佳拟合校准更加有效和系统化。他们的建模反映了搜索的迭代性质,他们的方法采用了 Goldstein (1986, 1988) 和 Wooff (1992) 的贝叶斯线性哲学,而不是完全指定的贝叶斯分析。该方法在 Craig 等人中得到了扩展。 (2OO1) 处理校准后的预测问题。

考克斯等人。 (1992) 描述了一种校准方法,该方法类似于传统的最佳拟合参数搜索,但它用使用高斯过程模型获得的更便宜的插值器代替了昂贵的代码。他们的方法没有考虑预测阶段剩余的参数不确定性。另见 Cox 等人。 (1996)。

Raftery 等人尝试结合先前专家对校准参数和模型输出的意见。 (1995)使用他们称为贝叶斯综合的方法。这受到 Wolpert (1995) 和 Schweder 和 Hjort (1996) 的批评,并在后续论文中 Poole 和 Raftery (1998) 提出了一种称为贝叶斯融合的替代方案。这两种方法都没有明确地认识到模型的不足,并且底层的计算机代码应该足够简单,可以忽略代码的不确定性。

我们在本文中的分析是第一次尝试对计算机模型的校准和后续使用中出现的所有不确定性来源进行建模并明确考虑。我们坦率地承认,我们目前实施的方法不是完全贝叶斯方法,因为我们通过(近似)后验模式估计超参数。充分考虑超参数中的不确定性是进一步研究的另一个主题,但我们相信我们目前的方法是迄今为止对计算机代码不确定性最全面的处理,我们认为它在实践中可能是足够的。

3. 函数的贝叶斯推理

3.1 高斯过程

高斯过程的使用在2.3节被提高过几次,令 f(.)f(.)f(.) 为输入 xxx 映射到 y=f(x)y=f(x)y=f(x) 的映射关系,其中 x∈χx∈χx∈χ ,χχχ可以是任意的,以最典型的 RqR^qRq 为例,x=(x1,x2,...xq)x=(x_1,x_2,...x_q)x=(x1​,x2​,...xq​),我们将 yyy 视为标量,y∈Ry∈Ry∈R,也可以视为向量y∈Rq′y∈R^{q'}y∈Rq′ 。

从形式上看, f(.)f(.)f(.) 可表示 f(X1),f(X2),f(Xn)f(X_1),f(X_2),f(X_n)f(X1​),f(X2​),f(Xn​) ,且均为正态分布。
这个分布的均值为 m(.)m(.)m(.),m(x)=E[f(x)]m(x)=E[f(x)]m(x)=E[f(x)],协方差 c(.,.)c(.,.)c(.,.),c(x1,x2)=cov[f(x1),f(x2)]c(x_1,x_2)=cov[f(x_1),f(x_2)]c(x1​,x2​)=cov[f(x1​),f(x2​)],那么
f(.)f(.)f(.)~NNN{ m(.),c(.,.)m(.),c(.,.)m(.),c(.,.) }

高斯分布是一种灵活且方便的分布函数。

3.2. 建模问题

在实践中使用高斯过程的原因与在统计理论和建模中普遍使用正态分布的原因大致相同。 它们方便、灵活并且通常非常现实。 当然,重要的是正态性,特别是联合正态性,是对 f(.)f(.)f(.) 的先验知识或信念的合理表示。 变换在这种情况下可能很有用,就像它们在正常理论模型的其他应用中一样。

鉴于高斯过程是一个合理的建模选择,然后应指定均值和协方差函数以反映有关 f(.)f (.)f(.) 的详细先验知识。 例如,如果平稳性是先验置信度的一个特征,那么对于任何 d∈χd∈χd∈χ,f(x)f (x)f(x) 的先验分布与 f(x+d)f(x + d)f(x+d) 的先验分布相同(并且定义了对 χχχ 的加法运算) , m(.)m(.)m(.) 将是一个常数,而 c(x,x′)c(x, x')c(x,x′) 只是 x−x′x - x'x−x′ 的函数。

通常,m(.)m(.)m(.) 可以是 χχχ 上的任何函数,但 c(.,.)c(.,.)c(.,.) 必须是对于每个n=1,2,...n = 1, 2, ...n=1,2,... 对应的 f(x1),f(x2).....,f(xn)f(x_1), f(x_2)... . ., f(x_n)f(x1​),f(x2​).....,f(xn​), 的协方差矩阵。包括元素 c(xi,xj)c (x_i, x_j)c(xi​,xj​) 对于所有 x1,...xn∈χx_1,...x_n∈χx1​,...xn​∈χ 。 都是非负定的。 Cressie (1991) 给出了协方差函数在这个意义上为非负的一些条件。

一个好用的方法是对 mmm 和 c(.,.)c (. , .)c(.,.) 分层 建模。 对于 m(.)m(.)m(.) 。 我们可以使用线性模型结构

m(.)=h(.)Tβm(.)=h(.)^Tβm(.)=h(.)Tβ (1)

其中 h(.)=(h1(.),h2(.)...hp(.))Th(.)=(h_1(.),h_2(.)...h_p(.))^Th(.)=(h1​(.),h2​(.)...hp​(.))T(已知), β(.)=(β1,β2...βp)Tβ(.)=(β_1,β_2...β_p)^Tβ(.)=(β1​,β2​...βp​)T(未知),因此 h(.)h(.)h(.) 描述了一类形状并且模型 (1) 可以用这个类中的一个函数来近似 f (.)(.)(.) 。比如,当x是标量时, h(x)=(1,x...xp−1)Th(x)=(1,x...x^{p-1})^Th(x)=(1,x...xp−1)T, 表示 m(.)m(.)m(.)

作为 βββ 的先验分布,多元正态分布是一个方便的选择。例如,它具有 f(.)f(.)f(.)在积分出 βββ 后仍为高斯过程的性质。当然,应指定先验分布以反映真实的分布而不是方便,但在实践中,关于超参数例如 β的先验信息通常会很弱。因此,经常使用通过不适当的均匀密度p(β)∝1p(β)∝1p(β)∝1来表示弱先验信息的常规表示。
请注意,我们可以通过编写来分离均值和协方差结构

f(x)=m(x)+e(x)=h(.)Tβ+e(x)f(x)=m(x)+e(x)=h(.)^Tβ+e(x)f(x)=m(x)+e(x)=h(.)Tβ+e(x) (2)

使用模型 (1),其中 e(x)e(x)e(x) 是零均值高斯过程具有协方差函数c(.,.)c(., .)c(.,.)。 c(.,.)c(., .)c(.,.) 的建模非常重要,因为通过f(x)f(x)f(x) 和 f(xt)f(x_t)f(xt​) 之间的相关性,我们表达了一个观点,即如果 xxx 和 xtx_txt​ 在 χχχ中足够接近那么 f(x)f(x)f(x) 和 f(xt)f(x_t)f(xt​) 应该相似 ,因此表达了对 f(.)f(.)f(.) 平滑度。 在接下来的部分中,我们一般将采用具有第一阶段的 c(.,.)c(., .)c(.,.) 的层次模型

c(.,.)=σ2r(x−x′)c(.,.)=σ^2r(x-x')c(.,.)=σ2r(x−x′) (3)

其中 r(.)r(.)r(.) 是具有属性 r(0)=1r(0) = 1r(0)=1 的相关函数。这个公式表达了关于 e(.)e(.)e(.) 的先验信息的平稳性; 我们有一个共同的(未知的)方差 σ2σ^2σ2 和仅取决于x−x′x - x'x−x′ 的相关性。 相关函数进一步用其他未知超参数表示; 例如,如果 x=(x1,...,xq)x = (x_1, . . ., x_q)x=(x1​,...,xq​) 是一个向量,

r(x−x′)=exp(−∑j=1qwj(xj−xj′)2)r(x-x')= exp({-\sum_{j=1}^{q}w_j(x_j-x_j')^2})r(x−x′)=exp(−∑j=1q​wj​(xj​−xj′​)2) (4)
然后在下一阶段,我们将表示 方差 σ2σ^2σ2和 粗糙度参数 w1,.....,wqw_1,... . ., w_qw1​,.....,wq​. 的先验分布.

当然等式(4)只是一种可能的公式。 一个已被广泛使用的更通用的表达式将 (x−xt)2(x-x_t )^2(x−xt​)2替换为 ∣∣x−xt∣∣a||x-x_t||^a∣∣x−xt​∣∣a,其中 a 可能具有指定值或另一个超参数。 更一般地说,我们可以在每个维度上允许不同的 a 。 等式 (4) 的另一个推广是设置r(d)=exp(−dTΩd)r(d)= exp(-d^TΩd)r(d)=exp(−dTΩd),其中Ω是未知对称正定矩阵,在等式 (4) 中具有 Ω=diag(w1,…wq)Ω= diag (w_1,…w_q)Ω=diag(w1​,…wq​) 的形式。
在地质统计学中,通常会花费大量精力来估计 σ2r(x−x′)σ^2 r (x- x')σ2r(x−x′) ,或者等价于 σ2(r(0)−r(x−x′))σ^2 (r(0)-r (x- x'))σ2(r(0)−r(x−x′)) ,这就是所谓的半变异函数。 地理统计学文献中包含各种半变异函数形式的建议。 参见例如 Cressie (1991)、Handcock 和 Wallis (1994)、Stein (1999) 以及智利和 Delfiner (1999).

3.3其他贝叶斯未知参数模型

4.贝叶斯校准

4.1 校准和可变输入

在校准问题中,我们必须区分计算机模型的两组输入。 一组包括我们希望了解的未知的特定于上下文的输入(条件); 我们将这些称为校准输入:t=(t1,t2,...tq2)t=(t_1,t_2,...t_{q_2})t=(t1​,t2​,...tq2​​)。 校准输入应该采用固定但未知的值 θ=(θ1,θ2...θq2)θ=(θ_1,θ_2...θ_{q_2})θ=(θ1​,θ2​...θq2​​)用于校准的所有观测值,以及我们希望使用校准模型预测的真实过程的所有实例。 另一组包括所有其他模型输入(性质) 当我们使用校准模型时,其值可能会发生变化。 这些被称为可变输入:x=(x1,x2...xq1)x=(x_1,x_2...x_{q_1})x=(x1​,x2​...xq1​​)。 假设变量输入对于将用于校准的每个观测值具有已知值。 在模型的任何后续使用中,它们的值要么是已知的,要么受参数可变性的影响。例如,在第 2.2 节中,可变输入包括高斯羽流模型的 x、y 坐标或水文模型中的降雨量。

当根据(计算机模型输出) η(x,t)η(x,t)η(x,t),可变输入被给定值x=(x1,x2...xq1)x=(x_1,x_2...x_{q_1})x=(x1​,x2​...xq1​​),给定校准输入值t=(t1,t2,...tq2)t=(t_1,t_2,...t_{q_2})t=(t1​,t2​,...tq2​​)时,我们表示计算机模型的输出,请注意,我们将未知校准输入的未知值 θθθ(对应于我们希望校准模型的特定实际过程)与我们在运行模型时设置为输入的(已知)值 ttt 区分开来。我们永远不会在不知道指定该运行的所有输入的情况下观察模型的输出。我们将 θθθ 称为校准参数(或校准向量)。

当可变输入 通过 真实过程:ζ(x)ζ(x)ζ(x)取值 xxx时,我们可以表示实际过程的真实值。这里只需要可变输入。对于计算机代码,我们可以改变校准输入,但它们对于实际过程是固定的。

校准数据包括 nnn 个观测值 z=(z1,...,zn)Tz = (z_1, . . ., z_n) ^Tz=(z1​,...,zn​)T,其中 ziz_izi​ 是对已知可变输入 xix_ixi​ 的 ζ(xi)ζ(x_i)ζ(xi​) 的观测值,但存在误差。此外,我们有从计算机代码的 N 次运行中输出y=(y1,...,yN)Ty = (y_1, . . ., y_N)^Ty=(y1​,...,yN​)T,其中

yj=η(xj∗,tj)y_j=η(x_j^*,t_j)yj​=η(xj∗​,tj​)
Note:由tjt_jtj​得到真实的可变参数xj∗x_j^*xj∗​,从而得到yjy_jyj​

并且可变输入 xj∗x_j^*xj∗​ 和校准输入 tjt_jtj​ 对于每次运行都是已知的。 可用于分析的完整数据集是 dT=(yT,zT)d^T=( y^T, z^T)dT=(yT,zT) 。 请注意,通常 NNN 会比 nnn 大得多,因为即使计算机代码运行起来很昂贵或耗时,它仍然比获得真实过程的观察要便宜得多.

与可变输入相关的进一步评论是,我们将任何给定输入集的计算机代码输出视为标量。 在实践中,计算机代码通常会为给定的运行产生许多输出。 然而,通常没有必要将输出视为多变量。 原因是我们可以定义一个或多个变量输入来索引输出。 例如,高斯羽流模型通常会在计算机代码中实现,对于给定的运行,该代码会输出二维网格中每个点的浓度。 我们可以定义两个变量输入来索引网格上的给定点,而不是将其视为高度多元的输出。 我们可以将变量输入视为由这两个新的索引输入增强,而运行则视为在指定点产生单个输出。

4.2 模型

我们在方程中表示观测值ziz_izi​、真实过程 ζ(.)ζ(.)ζ(.)和计算机模型输出η(.,.)η(.,.)η(.,.)之间的关系

(5)

zi=ζ(xi)+ei=ρη(xi,θ)+δ(xi)+eiz_i=ζ(x_i)+e_i=ρη(x_i,θ)+δ(x_i)+e_izi​=ζ(xi​)+ei​=ρη(xi​,θ)+δ(xi​)+ei​
其中 eie_iei​ 是第 i 个观测的观测误差, ρρρ 是未知回归参数, δ(.)δ(.)δ(.) 是独立于代码输出η(.,.)的模型不充分函数。

首先考虑观察误差 eie_iei​。 严格来说,这还包括任何残余变化以及观察误差(参见第 2.1 节)。 我们无法想象在变量输入和所有未识别条件都相同的情况下重复观察,因此不可能区分这两个不确定性来源。 我们假设 eise_isei​s 独立分布为 N(0,λ)N(0,λ)N(0,λ) 。 (正态性假设可能需要对原始数据进行转换,就像我们在第 6 章中使用对数沉积一样。)

现在考虑等式(5)的含义,即

ζ(x)=ρη(x,θ)+δ(x)ζ(x)=ρη(x,θ)+δ(x)ζ(x)=ρη(x,θ)+δ(x) (6)
其中 η(.,.)η(.,.)η(.,.) 和 δ(.)δ(.)δ(.) 是独立的,当然,这只是对代码输出与现实之间的关系进行建模的一种方式。 作为部分证明,它可以从一种马尔可夫性质给出形式推导,如下所示。假定我们知道 θθθ 并且可以根据需要运行尽可能多的代码,用于观察变量 xxx 对应的 η(x,θ)η(x,θ)η(x,θ) ,首先假设要在某个特定点 x′x'x′ 预测 ζ(x′)ζ(x')ζ(x′) ,我们会认为在可变输入的相同值 x′x'x′ 下观察单次运行的输出 η(x′,θ)η(x',θ)η(x′,θ)就足够了。这是马尔可夫假设,可以证明隐含方程(6)(参见 O’Hagan (1998)), ρρρ 可能依赖于 xxx。进一步假设 ρρρ 是常数似乎很自然,并且假设我们有平稳过程: η(.,.)η(.,.)η(.,.)、 δ(.)δ(.)δ(.) 和 ζ(.)ζ(.)ζ(.)。尽管有这个论点,但我们重申等式(6)只是一个可能的公式; 同样令人信服的论点可能会被证明支持其他模型。 在我们尝试过的示例中,等式 (6) 似乎是合理的,但需要更多经验来探索建模的这一方面。

校准参数的真值 θθθ 的含义在下面的第 4.3 节中讨论。

我们根据高斯过程:η(.,.)η(.,.)η(.,.)~N[m1(.,.),c1[(.,.),(.,.)]]N[m_1(.,.),c_1[(.,.),(.,.)]]N[m1​(.,.),c1​[(.,.),(.,.)]]和
δ(.)δ(.)δ(.)~N(m2(.),c2(.,.))N(m_2(.),c_2(.,.))N(m2​(.),c2​(.,.))提出了关于未知函数η(.,.)η(.,.)η(.,.)和δ(.)δ(.)δ(.)的先验信息,在每种情况下,我们按照 3.2 节对均值和方差函数进行分层建模。采用具有弱先验分布的线性模型形式(1),我们有m1(x,t)=h1(x,t)Tβ1m_1(x,t)=h_1(x,t)^Tβ_1m1​(x,t)=h1​(x,t)Tβ1​,m2(x)=h2(x)Tβ2m_2(x)=h_2(x)^Tβ_2m2​(x)=h2​(x)Tβ2​并且

ρ(β1,β2)∝1ρ(β_1,β_2)∝1ρ(β1​,β2​)∝1(7)

我们将组合向量写为 β=(β1T,β2T)Tβ = (β_1^T,β_2^T) ^Tβ=(β1T​,β2T​)T。对于协方差函数,我们目前不会指定任何特定的形式,但我们将假设它们用一些进一步的超参数ψψψ表示协方差函数。我们也用ϕϕϕ表示(ρ,λ,ψ)(ρ,λ,ψ)(ρ,λ,ψ)。因此,完整的参数集包括校准参数 θθθ、位置参数 βββ 和超参数ϕϕϕ。假设关于 θ 的先验信息是合理的且独立于其他,并且用表达式(7)我们假设先验分布服从以下形式

ρ(θ,β,ϕ)=p(θ)p(ϕ)ρ(θ,β,ϕ)=p(θ)p(ϕ)ρ(θ,β,ϕ)=p(θ)p(ϕ) (8)

4.3. 真实的参数值

我们在 2.1 节中提出了真实参数值的含义的问题。 我们现在在我们的模型 (6) 的背景下讨论这个重要的话题,用于真正的过程 ζ(x)ζ(x)ζ(x) ,尽管要点与任何关于计算机模型校准的讨论相关。

我们的统计模型是通过 等式(5) 制定的,可以看作是定义了一个非线性回归模型。 (类比并不完美,但提供了一些有用的见解。)计算机代码本身通过项ρη(xi,θ)ρη(x_i,θ)ρη(xi​,θ) 定义回归函数,参数为 ρρρ 和 θθθ。其他两项,即δ(xi)+eiδ(x_i)+e_iδ(xi​)+ei​,可以视为(非独立 ) 残差。

在这个框架中,我们可以看到 θθθ 的真值的概念与回归参数的真值具有相同的含义和有效性。 在根据残差指定的误差结构表示数据 z1,...,znz_1,...,z_nz1​,...,zn​ 的意义上,真正的 θθθ 是“最佳拟合”θθθ 。

现在计算机模型的开发者通常会给校准输入赋予具体的物理意义,但这些物理量的真实值并不一定等于 θθθ 。当我们不相信模型可以永远存在时,这在校准中是不可避免的 完美契合。 与另一个值相比,校准参数的物理真实值可能提供更差的拟合和更不准确的未来预测。 将通过校准获得的 θθθ 估计值解释为这些参数的真实物理值的估计值是危险的。

在回归建模中,假设其中一个参数已知对应于拟合更简单、更有限的一类回归函数。 固定参数会限制回归函数的形式,而添加更多未知参数会增加回归函数类的灵活性并允许更好地拟合数据。 以此类推,我们看到,如果我们声称知道其中一个校准参数的值为 θθθ,即使这确实是该参数的真实物理值,我们也会限制代码输出的形式,并且可能更适合于 数据。 差异当然将由模型不充分函数 δ(.)δ(.)δ(.)承担, 但也可能导致 θθθ 的其他分量的校准估计远离其真实的物理解释。 我们通常可以用更少的真实观察来估计 δ(.)δ(.)δ(.) 而不是用估计η(.,.)η(.,.)η(.,.)的代码输出 ,因此使代码尽可能拟合得更好是有意义的。

因此,将输入视为未知,因此将校准参数的一部分视为 θθθ 可能是合理的,即使我们相信其真实物理值是已知的。 特别是如果这是一个有影响的参数(如敏感性分析可能揭示的那样),允许它偏离真实的物理值可能会产生一个经验上更好的现实计算机模型。 它的先验分布将以真实物理值为中心,反映对模型准确性的期望,但方差非零。

所有模型都是错误的,并且假设输入应该始终设置为“已知”时的“真实”值,这会使模型在实践中具有过多的可信度。 更务实地对待模型,因为我们可以根据经验“调整”输入,可以增加其价值和预测能力。

4.4. 后验分布

在本节的其余小节中,我们将介绍校准问题的后验分析以及随后使用校准代码对真实现象的预测。 为简洁起见,我们在这里只给出发展的概要。 对于更全面的数学细节,读者可以参考 Kennedy 和 O’Hagan (2OOOb)。

第一步是导出参数 θ,β,ϕθ,β,ϕθ,β,ϕ的后验分布,完整的数据向量 d 在给定 (θ,β,ϕ)(θ,β,ϕ)(θ,β,ϕ) 的情况下,是正态分布的,这将产生似然函数。为了表达它的均值向量和方差矩阵,我们需要更多的符号。

我们将代码输出 yyy 可用的点集表示为 D1=D_1=D1​={(x1∗,t1),...(xN∗,tN)(x_1^*,t_1),...(x_N^*,t_N)(x1∗​,t1​),...(xN∗​,tN​)},类似地,我们用 D2=D_2 =D2​= {x1,...,xnx_1, . . ., x_nx1​,...,xn​}定义观测点z的集合。通过校准参数 θθθ 增加这些点中的每一个点,我们定义D2=D_2 =D2​= {(x1,θ)...,(xn,θ)(x_1,θ) . . ., (x_n,θ)(x1​,θ)...,(xn​,θ)}。如果我们现在用H1(D1)H_1(D_1)H1​(D1​)使用行h1(x1∗,t1)T...h1(xN∗,tN)Th_1(x_1^*,t_1)^T...h_1(x_N^*,t_N)^Th1​(x1∗​,t1​)T...h1​(xN∗​,tN​)T表示矩阵,那么yyy 的期望为H1(D1)β1H_1(D_1)β_1H1​(D1​)β1​,在类似的符号中,zzz 的期望是

ρH1ρH_1ρH1​{D2(θ)D_2(θ)D2​(θ)}β1+H2(D2)β2β_1+H_2(D_2)β_2β1​+H2​(D2​)β2​

因此

E(d∣θ,β,ϕ)=md(θ)=H(θ)βE(d|θ,β,ϕ)=m_d(θ)=H(θ)βE(d∣θ,β,ϕ)=md​(θ)=H(θ)β

其中
H(θ)=(H1(D1)0ρH1(D2(θ))H2(D2))H(θ) =\begin{pmatrix} H_1(D_1)&0\\ ρH_1(D_2(θ))&H_2(D_2)\end{pmatrix}H(θ)=(H1​(D1​)ρH1​(D2​(θ))​0H2​(D2​)​)
为了表示方差矩阵 ddd,用 (j,j′)(j,j')(j,j′)中的元素 c1c_1c1​ { (xj∗,tj),(xj′∗,tj′)(x_j^*,t_j),(x_{j'}^*,t_{j'})(xj∗​,tj​),(xj′∗​,tj′​) } 构成的矩阵定义 V1(D1)V_1(D_1)V1​(D1​),那么这就是 yyy 的方差矩阵。同样地定义 V1V_1V1​{ D2(θ)D_2(θ)D2​(θ)}和 V2(D2)V_2(D_2)V2​(D2​),并且令 C1C_1C1​{ D1,D2(θ)D_1,D_2(θ)D1​,D2​(θ)}为 (j,i)(j,i)(j,i)元素 c1c_1c1​{ (xj∗,tj),(xi,θ)(x_j^*,t_j),(x_i,θ)(xj∗​,tj​),(xi​,θ)}构成的矩阵。那么

var(d∣θ,β,ϕ)=Vd(θ)=(V1(D1)ρC1(D1,D2(θ))TρC1(D1,D2(θ))λIn+ρ2V1(D2(θ))+V2(D2))var(d|θ,β,ϕ)=V_d(θ)=\begin{pmatrix} V_1(D_1)&ρC_1(D_1,D_2(θ))^T\\ ρC_1(D_1,D_2(θ))&λI_n+ρ^2V_1(D_2(θ))+V_2(D_2)\end{pmatrix}var(d∣θ,β,ϕ)=Vd​(θ)=(V1​(D1​)ρC1​(D1​,D2​(θ))​ρC1​(D1​,D2​(θ))TλIn​+ρ2V1​(D2​(θ))+V2​(D2​)​)
其中, InI_nIn​为 n∗nn*nn∗n的单位矩阵。
使用先验分布(8),我们现在获得完整的联合后验分布

(9)

ρ(θ,β,ϕ∣d)∝p(θ)p(ϕ)fρ(θ,β,ϕ|d)∝p(θ)p(ϕ)fρ(θ,β,ϕ∣d)∝p(θ)p(ϕ)f{d;md(θ),Vd(θ)d;m_d(θ),V_d(θ)d;md​(θ),Vd​(θ)}
其中, fff{ .;md(θ),Vd(θ).;m_d(θ),V_d(θ).;md​(θ),Vd​(θ)} 服从 NNN{ md(θ),Vd(θ)m_d(θ),V_d(θ)md​(θ),Vd​(θ)} ,请注意,我们已经明确显示了对 θθθ 的依赖性,但 md(θ)m_d(θ)md​(θ) 也取决于 βββ 和 ρρρ,而 Vd(θ)V_d(θ)Vd​(θ) 取决于所有 ϕϕϕ。

4.5. 估计超参数

由于表达式 (9) 的指数在 βββ 中是二次的,我们可以对βββ 进行积分,分析得到p(θ,ϕ∣d)p(θ,ϕ|d)p(θ,ϕ∣d)。然而,这将是一个比(9)更加复杂的带有 θ,ϕθ,ϕθ,ϕ 的函数。完全贝叶斯分析现在也将积分得出超参数 ϕϕϕ ,以留下校准参数的后验分布 p(ϕ∣d)p(ϕ|d)p(ϕ∣d)。然而, p(θ,ϕ∣d)p(θ,ϕ|d)p(θ,ϕ∣d) 是 ϕϕϕ的一个非常棘手的函数,即使对 c1c_1c1​{(.,.),(.,.)(.,.),(.,.)(.,.),(.,.)}和 c2c_2c2​{(.,.)(.,.)(.,.)}进行最简洁的参数化以在ϕϕϕ上进行积分也将需要至少一个六维正交。由于我们在此开发的许多方法可能在计算上相当密集,甚至以ϕϕϕ 的固定值为条件,所以完整的贝叶斯分析通常不实用。还需要注意的是,如果 p(ϕ)p(ϕ)p(ϕ)不合适,则,p(θ,ϕ∣d)p(θ,ϕ|d)p(θ,ϕ∣d)通常相对于ϕϕϕ不合适。 因此,采用完全贝叶斯分析将需要对有关超参数的先验信息进行全面而仔细的考虑。

相反,我们建议推导出对 ϕϕϕ 的成分的合理估计,然后就好像这些是固定的一样行动。 因此,对于关于 θθθ 的推断,我们将在给定ϕϕϕ 的估计值的情况下使用其条件后验。 我们建议分两个阶段估计超参数。
在第一阶段,我们仅使用代码输出数据 yyy 来估计c1c_1c1​{(.,.),(.,.)(.,.),(.,.)(.,.),(.,.)}的超参数 ψ1ψ_1ψ1​。
观测数据 zzz 中虽然有一些关于 ψ1ψ_1ψ1​ 的信息,但是

  • (a) z 还取决于其他超参数
  • (b) z 中的观测数 n 通常会比观测数小得多y 中的 N 个输出值

因此,这种简化几乎没有损失。
在第二阶段,我们使用 zzz 来估计ρ,λρ,λρ,λ和 c2c_2c2​{(.,.)(.,.)(.,.)} 的超参数 ψ2ψ_2ψ2​.,现在已经在上一阶段确定了ψ1ψ_1ψ1​。
现在我们最初着手建模并明确说明第 2.1 节中确定的所有不确定性来源。 这里提出的妥协意味着我们没有完全考虑所有这些来源。

  • a) 通过将 λλλ 固定在估计值,我们没有完全考虑观测误差和剩余不确定性。
  • b) 通过固定ρρρ 和c2c_2c2​{(.,.)(.,.)(.,.)} 的超参数 ψ2ψ_2ψ2​. 在估计值上,我们没有完全考虑模型的不足。
  • c) 通过固定c1c_1c1​{(.,.),(.,.)(.,.),(.,.)(.,.),(.,.)}的超参数 ψ1ψ_1ψ1​。在估计值上,我们没有完全考虑代码的不确定性。

然而,我们应该强调,在每种情况下,只有超参数的不确定性的“二阶”效应被忽略,我们相信我们的分析抓住了所有这些不确定性来源的主要部分。因此,我们声称我们的分析确实认识到了所有不确定性来源,并且确保所有来源都被覆盖到这种程度比考虑任何缺失的超参数不确定性更为重要,代价是大大增加了计算量。

在地质统计学中,普遍认为克里金法估计对于协方差函数的形式,甚至对于该函数中的粗糙度参数是相当稳健的,但预测方差通常对粗糙度参数值非常敏感。此外,众所周知,这些参数难以估计。我们意识到这些考虑可能会引起我们对超参数处理和协方差结构选择的担忧。在我们的辩护中,我们在第 6 节的示例中表明,我们的预测方差可以很好地与保留的数据进行校准,这也是我们在其他示例中的经验。在第 6.3 节中,我们进行了一项调查,该调查表明,对于这些数据,承认粗糙度参数不确定性的影响很小。

4.6. 校准、预测和不确定性分析

在估计了超参数 ϕϕϕ 之后,我们现在以估计的 ϕ′ϕ'ϕ′ 为条件,因此我们将校准参数的后验分布视为 p(θ,ϕ=ϕ′∣d)∝p(θ,ϕ′∣d)p(θ,ϕ=ϕ'∣d)∝p(θ,ϕ'∣d)p(θ,ϕ=ϕ′∣d)∝p(θ,ϕ′∣d)。 我们可以使用它来推断 θθθ,尽管它的难处理性意味着必须使用数值方法。 我们将在第 5 节讨论适当的技术。

在实践中,我们通常不会对关于 θθθ 的推断感兴趣。 校准的目的是使用校准后的模型来预测实际过程。 我们可以将校准视为解决插值、灵敏度分析和不确定性分析等其他统计问题的初步方法,如第 2.3 节所述。 因此,在某些指定变量输入 xxx 处预测真实过程 ζ(x)ζ(x)ζ(x) 的问题可以看作是对函数 ζ(.)ζ(.)ζ(.) 的插值。

ζ(x)ζ(x)ζ(x) 的后验分布以估计的超参数 ϕϕϕ 和校准参数 θθθ 为条件是一个高斯过程。它的均值函数由下式给出

EEE{z(x)∣θ,ϕ,dz(x)|θ,ϕ,dz(x)∣θ,ϕ,d}=h(x,θ)Tβ′(θ)+t(x,θ)TVd(θ)−1h(x,θ)^Tβ'(θ)+t(x,θ)^T V_d(θ)^{-1}h(x,θ)Tβ′(θ)+t(x,θ)TVd​(θ)−1{d−H(θ)β′(θ)d-H(θ)β'(θ)d−H(θ)β′(θ)} (10)
其中
h(x,θ=(ρh1(x,θ)h2(x))h(x,θ=\begin{pmatrix} ρh_1(x,θ)\\ h_2(x)\end{pmatrix}h(x,θ=(ρh1​(x,θ)h2​(x)​)
并且
t(x,θ)=(ρV1((x,θ),D1)ρ2V1((x,θ),D2(θ)+V2(x,D2)))t(x,θ)=\begin{pmatrix} ρV_1((x,θ),D_1)\\ρ^2V_1((x,θ),D_2(θ)+V_2(x,D_2)) \end{pmatrix}t(x,θ)=(ρV1​((x,θ),D1​)ρ2V1​((x,θ),D2​(θ)+V2​(x,D2​))​)

其协方差函数由下式给出

covcovcov{ζ(x),ζ(x′)∣θ,ϕ,dζ(x),ζ(x')|θ,ϕ,dζ(x),ζ(x′)∣θ,ϕ,d}=ρ2c1=ρ^2c_1=ρ2c1​{(x,θ),(x′,θ)(x,θ),(x',θ)(x,θ),(x′,θ) }+c2(x,x′)−t(x,θ)TVd(θ)−1t(x′,θ)+h(x,θ)−H(θ)TVd(θ)−1)TW(θ)+c_2(x,x')-t(x,θ)^TV_d(θ)^{-1}t(x',θ)+h(x,θ)-H(θ)^TV_d(θ)^{-1})^TW(θ)+c2​(x,x′)−t(x,θ)TVd​(θ)−1t(x′,θ)+h(x,θ)−H(θ)TVd​(θ)−1)TW(θ){h(x′,θ)−H(θ)TVd(θ)−1t(x′,θ)h(x',θ)-H(θ)^TV_d(θ)^{-1}t(x',θ)h(x′,θ)−H(θ)TVd​(θ)−1t(x′,θ)}

其中 W(θ)=W(θ)=W(θ)={ H(θ)TVd(θ)−1H(θ)H(θ)^TV_d(θ)^{-1}H(θ)H(θ)TVd​(θ)−1H(θ)} −1^{-1}−1,通过将此分布与 p(θ∣ϕ,d)p(θ|ϕ,d)p(θ∣ϕ,d)相结合,我们可以再次使用数值计算方法对 ζ(x)ζ(x)ζ(x) 进行推断。 例如,为了估计 ζ(x)ζ(x)ζ(x),我们可以使用它的后验均值 EEE{ ζ(x)∣d,ϕζ(x)|d,ϕζ(x)∣d,ϕ}(对于 ϕϕϕ的估计值),通过将 EEE{ ζ(x)∣d,ϕ′ζ(x)|d,ϕ'ζ(x)∣d,ϕ′}}关于 p(θ∣ϕ′,d)p(θ|ϕ',d)p(θ∣ϕ′,d) 积分获得。

现在假设我们希望在一个或多个变量输入受参数可变性影响的上下文中预测实际过程,如第 2.1 节所述。第 2.2 节给出了计算机代码的示例,其中输入可能以这种方式未指定。不确定性分析的问题是研究由该参数可变性引起的模型输出中的(额外)不确定性。尽管计算机代码的不确定性分析通常以这种方式制定,即关注代码输出中的不确定性,但在目前的情况下,更大的挑战是研究实际过程 z(.)z(.)z(.) 中的不确定性。

因此,我们考虑随机变量 ζ(x)ζ(x)ζ(x),其中变量输入 XXX 现在是随机的,具有分布 Gx(X)G_x(X)Gx​(X) 。(在实践中,只有变量输入的一个子集会受到参数可变性的影响,因此 Gx(.)G_x(.)Gx​(.)将是退化的在其他维度。)不确定性分析的任务现在是推断ζ(x)ζ(x)ζ(x) 的分布。特别是,我们希望推断这个分布的属性,例如均值

K=ExK=E_xK=Ex​{ζ(X)ζ(X)ζ(X)}=∫χζ(x)dGx(x)\int_{χ} ζ(x)dG_x(x)∫χ​ζ(x)dGx​(x)

方差:

L=varxL=var_xL=varx​{ζ(X)ζ(X)ζ(X)}=K2−K2=K_2-K^2=K2​−K2
其中

K2=∫χζ(x)2dGx(x)K_2=\int_χζ(x)^2dG_x(x)K2​=∫χ​ζ(x)2dGx​(x)
或分布函数的某个点 ggg 的值

F(g)=PxF(g)=P_xF(g)=Px​{ζ(X)≤gζ(X)≤gζ(X)≤g}=∫z(x)≤gdGx(x)=\int_{z(x)≤g}dG_x(x)=∫z(x)≤g​dGx​(x)

关于ζ(X)ζ(X)ζ(X)分布的这些或其他总结的推断可以从ζ(.)ζ(.)ζ(.)的后验分布推导出来。详细信息在 Kennedy 和 O’Hagan (2OOOb) 中给出。

就代码输出η(x,θ)η(x,θ)η(x,θ)的不确定性分析而言,工作同样简单,涉及 xxx 的一个或两个参数可变性和 θθθ 中的参数不确定性(校准后)。

我们没有在本文中明确处理敏感性分析:O’Hagan 等人概述了适当的技术。 (1999)。

5. 实施细节

5.1 设计问题

我们现在考虑在第 4 节中的理论实施过程中出现的一些实际问题,首先是选择运行代码观察观测数据的点集的问题。校准数据的可变输入值 xix_ixi​ 的集合 D2D_2D2​ 通常不是选择问题。例如,在第 6 节的示例中,我们提供了可用数据。相反,我们通常可以选择的代码设计 D1D_1D1​:点 (xj∗,tj)(x_{j}^*, t_j)(xj∗​,tj​) 。有大量关于计算机实验设计的文献——例如参见 Sacks、Schiller 和 Welch (1989)、Morris 等人。 (1993)、Morris 和 Mitchell (1995) 以及 Bates 等人。 (1996)。所有这些都与设计用于内插代码本身或代码的不确定性分析的代码输入值集的更简单问题有关(Haylock,1997)。校准设计问题更为复杂,是未来研究的课题。到目前为止,我们选择的设计更具启发性。

首先,现有工作表明,代码设计对最感兴趣的 (x,t)(x, t)(x,t) 空间区域进行良好覆盖是很重要的。 变量输入坐标 xj∗x_{j}^*xj∗​ 应涵盖校准数据中点 xix_ixi​ 的范围和我们可能希望预测未来过程的值范围。 校准输入坐标 tjt_jtj​ 应覆盖校准参数真值 θθθ 的合理范围。 后者建议采用顺序设计方法,从跨越 θθθ 的先验分布的值开始,然后在其后验分布覆盖的范围内添加更多点。 有关这种顺序设计方法的示例,请参见 Bernardo 等人。 (1992),克雷格等人。 (1996 年)和 Aslett 等人。 (1998 年)。

第二个直观的考虑是 D1D_1D1​ 中应该有控制值 xj∗x_{j}^*xj∗​ 接近 D2D_2D2​ 中的值 xix_ixi​ 以了解代码和现实之间的关系。

对于第 6 节中的示例,我们对校准设计 D2D_2D2​ 没有选择。 我们将代码设计 D1D_1D1​ 设置为 D1D_1D1​ 的笛卡尔积,其中校准输入采用拉丁超立方体设计。 对于后者,我们使用了 Morris 和 Mitchell (1995) 中描述的最大最小拉丁超立方体。 这些设计提供了良好的空间覆盖,并且均匀分布在每个一维投影中。 笛卡尔积的使用具有一些计算优势,这些优势在 Kennedy 和 O’Hagan (2OOOb) 中有简要描述。

5.2. 建模选择

在理论的应用中,我们需要指定 h1(x,t),h2(x),c1h_1(x, t), h_2(x), c_1h1​(x,t),h2​(x),c1​{(x,t),(x′,t′)(x, t), (x', t')(x,t),(x′,t′)}和c2(x,x′)c_2(x, x')c2​(x,x′)。 应该选择 h1(x,t)h_1(x, t)h1​(x,t) 来反映对函数 η(x,t)η(x,t)η(x,t) 的一般形状的置信度,并且应该选择 h2(x)h_2(x)h2​(x) 来反映关于 δ(x)δ(x)δ(x) 形状的置信度。特别是在后一种情况下,我们可能没有任何具体的期望来通过 h2(.)h_2(.)h2​(.) 建模. 通常,将组件放入这些不受实际先验知识驱动的功能是没有帮助的。 这与参数回归建模形成对比,其中添加额外的回归变量通常会产生更好的拟合。 高斯过程是非参数的,将适应数据建议的任何函数形状,如果不包括虚假回归量,通常会做得更好。 因此,在应用程序中,除非有先前的信息建议更复杂的建模,否则我们将 h1(x,t)=(1)h_1(x, t)= (1)h1​(x,t)=(1)和 h2(x)=(1)h_2(x)=(1)h2​(x)=(1) 作为默认值。 这意味着 β1β_1β1​ 和 β2β_2β2​ 是标量,表示 η(.,.)η(.,.)η(.,.)和δ(.)δ(.)δ(.)的未知常数均值。

对于协方差函数,我们再次简约地建模。 我们一般采用(3)—(4)的形式,使得

c1c_1c1​{(x,t),(x′,t′)(x,t),(x',t')(x,t),(x′,t′)}=σ12exp=σ_1^2exp=σ12​exp{ −(x−x′)TΩx(x−x′)-(x-x')^TΩ_x(x-x')−(x−x′)TΩx​(x−x′)} expexpexp{ −(t−t′)TΩt(t−t′)-(t-t')^TΩ_t(t-t')−(t−t′)TΩt​(t−t′)} (11)
c2(x,x′)=σ22expc_2(x,x')=σ_2^2expc2​(x,x′)=σ22​exp{ −(x−x′)TΩx∗(x−x′)-(x-x')^TΩ_x^*(x-x')−(x−x′)TΩx∗​(x−x′)}(12)
Ωt、ΩxΩ_t、Ω_xΩt​、Ωx​ 和 Ωx∗Ω_x^*Ωx∗​ 的对角线形式。

重要的就是要认识到这些并不是微不足道的建模选择。 协方差函数的高斯形式意味着相信 η(.,.)η(.,.)η(.,.)、δ(.)δ(.)δ(.)的可微性,并且确实意味着相信这些函数是解析的。 这可能适用于计算机代码η(.,.)η(.,.)η(.,.)但这些对于η(.,.)η(.,.)η(.,.). 和 δ(.)δ(.)δ(.) 的假设暗示对现实世界过程的相同置信度ζ(x)ζ(x)ζ(x) ,这通常是不合适的。我们在第 6.3 节中回到这一点。

假设粗糙度矩阵的对角线形式意味着协方差中的任何椭圆各向异性都沿各个参数轴定向。转换可能与使该假设更现实相关,并在我们的示例中实现,如第 6 节所述。等式 (11) 中的另一个假设是代码 η(.,.)η(.,.)η(.,.). 的协方差结构中的校准和变量输入之间存在可分离性。 在各种统计应用中经常假设可分离性,特别是对于建模时空过程,例如Haslett 和 Raftery (1989) 和 Oehlert (1993)。 O’Hagan (1998) 中的一个结果提供了可分离性的特征,这可能在某些情况下提供了理由,但在实践中主要是为了方便和简约而假设的。

最后,我们可能会说,即使是潜在的平稳性假设也可能会受到质疑,特别是在真实过程方面。 O’Hagan (1978) 的局部回归模型可能是一个相当容易处理的非平稳替代方案。 Sampson 和 Guttorp (1992) 给出了一种非常通用的非参数技术,但将其融入我们的框架会困难得多。

我们在示例中使用这些假设的原因简要如下。首先,等式 (11) 和 (12) 通过允许原本需要数值评估的分析结果来促进计算(参见 Kennedy 和 O’Hagan (2OOOb)),大大增加了计算时间。我们使用等式 (4) 而不是更一般的 r(d)=exp(−dTΩd)r(d)= exp(-d^T Ωd)r(d)=exp(−dTΩd) 来表示简约。一般来说,这些模型中的超参数没有得到很好的识别。完全不同的中值可能同样适合数据并产生可比较的预测。形式(4)足够灵活,允许相关结构中的一些各向异性,实际上我们在任何似乎可以接受的地方都采用各向同性形式 r(d)=exp(−wdTd)r(d)= exp (-wd^Td)r(d)=exp(−wdTd) 。

因此,我们自由地承认,我们使用这些假设本质上是为了方便和简单。然而,我们相信在很大程度上,其他假设可能会产生非常相似的结果。第 6.3 节中报告的一些调查结果为这一观点提供了一些初步支持。

我们还需要分别为校准参数和超参数指定先验分布 p(θ)p(θ)p(θ) 和 p(ϕ)p(ϕ)p(ϕ)中。在适当的变换后,我们对 θθθ 采用正态先验分布,同样是为了计算方便。关于超参数的先验信息通常很弱,λλλ 可能除外。然而,尝试制定一些关于粗糙度参数(如 www)的先验知识是有用的。此类参数通常不应使用均匀的先验分布,因为我们的模态估计方法通常会给出不切实际的大估计。在先验信息较弱的情况下,p(w)∝w−1p(w) ∝ w^{-1}p(w)∝w−1 的形式更可取。

5.3. 计算

主要的计算问题涉及对 θθθ 的后验分布进行数值积分的需要,以及我们需要为该数值积分中的每个 θθθ 值Vd(θ)V_d(θ)Vd​(θ) 的逆矩阵。

如果代码 η(.,.)η(.,.)η(.,.) 是复杂且计算机密集型的,我们应该预计可用的代码评估数量 N 相对较小(我们预计 n 会更小)。然后,(N+n)×(N+n)(N+n)×(N+n)(N+n)×(N+n) 阶矩阵Vd(θ)V_d(θ)Vd​(θ)的求逆可能不是一个严重的问题。 然而,对于更简单的代码,我们可能期望能够进行更多的运行以获得更多关于 η(.,.)η(.,.)η(.,.) 的信息。 那么 N 可能非常大。在这种情况下,通过具有笛卡尔积形式的代码设计 D1D_1D1​ 实现了相当大的计算节省。 有关详细信息,请参阅 Kennedy 和 O’Hagan (2OOOb)。

可以考虑用于计算大型相关矩阵的另一种设备是局部计算方法。 韦基亚 (1988)。 然而,尚不清楚该想法如何有效地应用于更复杂的校准框架。

现在转向关于 θθθ 的数值积分问题,在我们的示例中,我们使用 Naylor 和 Smith (1982) 的迭代高斯-厄米特求积法。 这种做法是现实的,因为 θθθ 的维数比较低,所以求积是可行的,而且因为代码比较简单,所以我们可以用笛卡尔积规则和迭代。 对于更昂贵的代码或更高维的 θθθ 空间,使用更有效的正交设计变得很重要(参考资料参见 Evans 和 Schwartz (1995))。 对于高维 θθθ,可能需要使用集成的模拟方法:我们尚未对此进行探索。

6. 示例:托木斯克数据

6.1 数据和模型

我们现在对 1993 年托木斯克 7 号化工厂的事故数据进行分析。Shershakov 等人对事故进行了详细说明。 (1995 年)。 对三种放射性核素进行了测量。 然而,对于这个例子,我们只考虑钌 106(106Ru)106 (^{106}Ru)106(106Ru) 的沉积。 在图 1 所示的位置,总共进行了 695 次106Ru^{106}Ru106Ru 沉积测量。等高线表示这些点处对数沉积的插值。 这些数据是从靠近源头并持续到顺风约 40 公里的航空测量中获得的,因此连续测量非常接近。

图 1. 托木斯克航空勘测 695 次$^{106}Ru$ 沉积测量,等高线在 11 (___)、10 (- - -) 和 9 (- . -) 高度

对于先验近似 η(.,.)η(.,.)η(.,.) 我们使用第 2.2 节中描述的高斯羽流模型的对数,并添加了固定水平的背景辐射。 对数变换用于更好地近似我们模型中所做的正态性假设。 该模型的关键未知输入是源项和沉积速度。 因此,我们将这些的对数视为校准参数 θθθ 。 ζ(x)ζ(x)ζ(x) 表示变量输入 xxx 的真实对数沉积。在这种情况下,变量输入包括北坐标和东坐标的两个正交线性函数,使得 x=(0,0)x = ( 0,0)x=(0,0)代表源点,点 x=(x1,x2)x = (x_1, x_2)x=(x1​,x2​) 是源点顺风距离 x1x_1x1​ 和羽流中心线距离 x2x_2x2​。zisz_iszi​s 是观测沉积的对数。

图 1 中看到的沉积模式具有明确定义的羽流形状,我们希望高斯羽流代码能够提供相当好的近似值。
正态分布用于将先验信念近似为 θθθ。先验均值来自国家放射防护委员会。 将方差设置为 5 以表示模糊的先验知识,并且假设先验协方差为 0 。这些是方差的实际值,因为国家放射防护委员会认为这些值可能比先前的值高几个数量级 估计。

在此示例中,对于给定的参数值,我们将羽流代码视为已知函数,因为对于任何感兴趣的输入配置运行代码都是可行的。 尽管通过代码不确定性进行更复杂的分析是完全可能的,但这种简化使我们能够执行一些分析来检查模型假设的敏感性(参见第 6.3 节)。 因此,第 4 节的大部分理论都被简化了。 例如,唯一需要指定的相关函数是 c2(.,.)c2(., .)c2(.,.)。 我们首先假设具有两个粗糙度参数 (w1、w2)(w_1、w_2)(w1​、w2​) 的简单产品形式(4),对应于平行和垂直于羽流轴的方向,因为盛行风和侧风被认为对沉积的影响不同。

从最初的 695 次测量中,选择了一个大小为 10 的子集来代表一小部分观测数据,类似于事故发生后不久从地面测量中收集到的数据。 这些点被选择得离源很近,但为了避免聚类受到限制,因此每个点距离其他每个选定点至少有五个测量点。 聚类点导致信息冗余,对于如此小的数据集,模型超参数的估计非常困难,而约束保证了数据相对分散。 类似地选择附加点并将其添加到该子集中,给出大小为 10、15、20 和 25 点的子集。 距离源最远的点被故意包含在 25 点数据集中。

6.2. 结果

有条件地对每个数据集,计算所有 670 个“未观察到的”点的 zxz_xzx​ 的后验均值和方差,并根据这些点的真实值评估准确性。 比较了以下策略:

  • (a) 策略 1——仅使用物理观测的高斯过程插值,考虑到测量误差,但不使用高斯羽流模型;
  • (b) 策略 2——使用贝叶斯校准和模型不足校正,如第 4.6 节所述;
  • (c )策略 3——使用带有“插件”输入参数的高斯羽流模型。 物理数据不以任何方式内插。 相反,我们通过最小化模型和数据之间的平方差之和来选择输入参数。

用于每种策略的数据是相同的,包括 10 到 25 个原始数据点。 表 1 给出了每种策略的预测均方根误差 RMSE。 为了比较,RMSE=0.84 是使用输入参数固定在其先验平均值的代码获得的。 策略 1 对所使用的数据样本的这个值几乎没有改进。 策略 3 是一种在实践中经常使用的“最佳拟合”校准技术。 给定足够的数据点来校准模型,此方法改进了使用先验均值为 0 的代码,但策略 2 更好,因为它还考虑了模型的不足。 策略1和3的比较表明,当观察的数量较少时,使用代码(适当校准)比简单地插值数据更准确.

为了评估此处改进的重要性,我们注意到观察结果是对数沉积。 因此 0.82(策略 3,n =10)的误差对应于以 exp (0.82)= 2.3 的因子预测沉积的误差,并将其减少到 0.42(策略 2,n=10)会减少预测沉积的误差 为 1.5 倍。 在放射防护方面,这是一项真正有用的改进。

表 1. 基于 n 次观测的均方根误差


图 2. n = 25 的策略 1 和 2 的分位数-分位数图

图 2 中的分位数 - 分位数图对应于案例 n = 25 中基于策略 1 和 2 的标准化残差。策略 2 的图清楚地显示了比策略 1 更好地拟合预测分布的数据。然而,这两个图都显示出重尾特征,这个特征将在下一节中进一步探讨。

对于更大的数据集,我们预计策略 1 和 2 会产生类似的结果。然而,仅通过数据插值得出的良好预测更多地依赖于设计点在预测区域上的均匀分布。在大多数应用中,物理观测的优化设计是不切实际的。我们的方法在物理数据点较少的区域更多地使用代码,并且这些区域中模型不足的不确定性反映在后验方差中。在 Kennedy 和 O’Hagan (2OOOb) 中描述的第二个示例中可以找到使用贝叶斯校准和模型不足校正的预测改进的进一步证据。

6.3. 对建模假设的敏感性

到目前为止,我们已经做出了各种建模选择,特别是与相关函数相关的,这并不适用于所有应用程序。 我们现在简要研究一些替代的似是而非的建模假设如何影响 25 点托木斯克数据情况下的推论。 Kennedy 和 O’Hagan (2OOOb) 中给出了更多详细信息。

上述模型(策略 2)将被称为 M1。 下面概述了三种替代模型。 在模型 M2 中,我们放宽了超参数是固定的假设,在模型 M3 中,我们为相关函数使用了另一种函数形式,在模型 M4 中,我们考虑了高斯相关函数的各向同性形式。

6.3.1.关于粗糙度参数的模型 M2 积分

在第 4.5 节中建议,将超参数固定在后模态值上,而不是将它们视为不确定的,是模型的可接受的简化。通常在这种类型的模型中,推论(尤其是后验方差)对相关函数中粗糙度参数的选择很敏感。为了更多地考虑这些参数的不确定性,我们在计算后验预测均值和方差时使用了一种粗略的数值方法对 w1、w2 进行积分。这些代表了我们的一维相关函数的非各向同性乘积中的粗糙度参数。

6.3.2.模型 M3 各向同性材料相关性

如果不充分函数是解析的,则相关函数的指数形式是合适的,因此可能不是对物理系统建模的最佳选择。我们进行了与上述相同的分析,但使用了 Handcock 和 Wallis (1994) 建议的各向同性 Mate’ rn 相关函数。

7. 结论和进一步的工作

我们已经提出了一种贝叶斯方法来校准计算机代码,方法是使用来自真实过程的观察结果以及随后的预测和过程的不确定性分析来纠正模型的不足。后验总结考虑了所有剩余的不确定性来源。

我们将代码视为一个黑盒子,本文描述的方法适用于任意复杂度的计算机代码。

正如我们在 5.1 节中已经提到的,重要的问题仍然是关于设计点的选择。物理观察点通常会受到限制,如此处所示,但在某些情况下可以控制这些点。已经用于了解代码不确定性的设计可用于 D2D_2D2​ 了解模型不足。选择设计 D1D_1D1​ 和 D2D_2D2​ 以对模型进行良好校准的问题更加困难。第 5 节中描述的 D1D_1D1​ 的笛卡尔积设计在第 6 节的示例中运行良好,其中假设设计 D2D_2D2​ 是固定的。这些设计也促进了第 5.3 节中概述的计算。

我们已经通过简单的求积对 θθθ 进行了积分,这对于低维 θθθ 是可行的,但对于大量的校准参数将变得不切实际。 显而易见的方法是马尔可夫链蒙特卡罗抽样。 然而,校准分布 p(θ,ϕ′∣d)p(θ,ϕ'∣d)p(θ,ϕ′∣d) 是一个复杂的 θθθ 函数,并且使用马尔可夫链蒙特卡罗方法似乎难以从该分布中进行模拟。 然而,在我们的例子中,我们发现它可以很好地近似为正态分布(我们的迭代求积的收敛依赖于正态近似)。 如果这对于高维 θθθ 是正确的,则应该可以使用近似马尔可夫链蒙特卡罗积分方法。

在我们的示例中,我们没有考虑代码输出是多变量的更重要的情况。理想情况下,有效的校准应该使用所有可用的代码输出和相应的物理测量。例如,在核事故应用中,国家辐射防护委员会会在第一次地面沉积测量可用之前的某个时间进行大量空气浓度测量。空气测量可以提供有关未知源项的信息,因此应在分析中使用。使用多个代码输出和测量是未来研究的主题。在第 4.1 节中建议,可以简单地通过创建额外的输入参数来处理多变量输出。在核应用中,我们原则上可以将“测量类型”和“放射性核素”视为输入。然而,对于这些类型的输入,做出我们对相关结构所做的那种假设是不合理的。
我们已经相当广泛地讨论了替代协方差结构的问题。第 6.3 节中报告的实验表明了一定程度的稳健性,但也需要考虑允许更多局部结构的模型。我们需要在更多不同的应用中探索我们的方法。

在我们的高斯过程框架内,容纳对代码导数的观察相对简单,如 O’Hagan (1992) 中所述。有时可以使用衍生物,但到目前为止我们还没有研究过。未来研究的其他更具推测性的主题包括打开黑匣子,在第 1.1 节中讨论,以及高维 θθθ 的应用。迄今为止,我们的示例尚未超出几个维度,但校准问题可能有许多校准参数需要“拟合”。 Romanowicz 等人的基于模拟的方法。 (1994) 可以解决高维 θθθ ,但不允许模型不足。我们怀疑初步的降维练习,如 Craig 等人。 (1999),在这种情况下提供了最有希望的方法。

论文笔记 计算机模型的贝叶斯校准 Bayesian calibration of computer models相关推荐

  1. 论文笔记 Deep Gaussian Processes for Calibration of Computer Models 用于校准计算机模型的深度高斯过程

    0.摘要 黑盒计算机模型的贝叶斯校准为量化模型参数和预测的不确定性提供了一个既定的框架.传统的贝叶斯校准涉及计算机模型的仿真和使用高斯过程的加性模型差异项:然后使用马尔可夫链蒙特卡罗进行推理.这种校准 ...

  2. 贝叶斯算法(bayesian)介绍

    贝叶斯是基于概率的一种算法,是Thomas Bayes:一位伟大的数学大师所创建的,目前此种算法用于过滤垃圾邮件得到了广泛地好评.贝叶斯过滤器是基于"自我学习"的智能技术,能够使自 ...

  3. 算法杂货铺——分类算法之贝叶斯网络(Bayesian networks)

    算法杂货铺--分类算法之贝叶斯网络(Bayesian networks) 2010-09-18 22:50 by T2噬菌体, 66011 阅读, 25 评论, 收藏, 编辑 2.1.摘要 在上一篇文 ...

  4. ML之NB:朴素贝叶斯Naive Bayesian算法的简介、应用、经典案例之详细攻略

    ML之NB:朴素贝叶斯Naive Bayesian算法的简介.应用.经典案例之详细攻略 目录 朴素贝叶斯Naive Bayesian算法的简介 1.朴素贝叶斯计算流程表述 2.朴素贝叶斯的优缺点 2. ...

  5. 贝叶斯优化算法python实例_贝叶斯优化/Bayesian Optimization

    最近心情不好,写篇文章让大家开心一下吧.介绍一下世界上最好的算法:贝叶斯优化. 背景介绍 近年来深度神经网络大火,可是神经网络的超参(hyperparameters)选择一直是一个问题,因为大部分时候 ...

  6. 【机器学习】一文看懂贝叶斯优化/Bayesian Optimization

    点击上方,选择星标,每天给你送干货! 来自:AI部落联盟 今天想谈的问题是:什么是贝叶斯优化/Bayesian Optimization,基本用法是什么? 本文的定位是:帮助未接触.仅听说过.初次接触 ...

  7. 详解:贝叶斯算法(bayesian)在GCMail反垃圾邮件系统中的应用

    贝叶斯在在反垃圾邮件的产品中应用很多,也是当前最好的反垃圾邮件算法,著名的卡巴斯基病毒库代码就是采用贝叶斯过滤算法,在目前的邮件系统中采用贝叶斯过滤算法的唯有GCMAil邮件服务器.下面我就对贝叶斯反 ...

  8. 朴素贝叶斯Naive Bayesian分类器 (NBC)

    诸神缄默不语-个人CSDN博文目录 本文介绍常见的机器学习模型朴素贝叶斯Naive Bayesian. 朴素贝叶斯模型属于generative model,即通过输出的结果反推生成结果的模型概率. 文 ...

  9. 概率统计笔记:贝叶斯推断 Bayesian Inference

    1 贝叶斯定理和全概率公式(复习) 贝叶斯定理(条件概率的计算公式): 全概率公式:如果A和A'构成了样本空间的一个划分,那么事件B的概率为: 全概率公式下条件概率的另一种写法: 2 贝叶斯推断 对条 ...

最新文章

  1. STM32添加项目所需要的工程文件
  2. html文本框填充颜色逐渐减少,web前端面试题之htmlcss篇
  3. [剑指Offer]5.二维数组中的查找
  4. 机器学习技法1-Linear Support Vector Machine
  5. 连接两个linux系统软件,【技术共享】synergy-两台电脑共享一套鼠标键盘-Linuxwindows...
  6. php 反射类 解析注释,php反射获取类和方法中的注释
  7. 【渝粤教育】广东开放大学 跨文化商务沟通 形成性考核 (39)
  8. 我为什么要放弃RESTful,选择拥抱GraphQL?
  9. 中国的 GitHub 要来了?
  10. 周记——20150817
  11. Spring Boot 接入支付宝,实战来了!
  12. dp 完全背包问题python
  13. 高等数学 - 对弧长的积分
  14. django for 前端_django 5. 前端页面设计 - 刘江的django教程
  15. 移植实时操作系统到 risc-v 架构芯片时上下文切换的实现
  16. mysql一个字段为空时使用另一个字段排序
  17. 疯狂的程序员1-40
  18. 2021年2月教育行业网络关注度分析报告
  19. shrio简介--w3cschool
  20. ScrollView滚动到底部3种方案(巧解现实产品一个需求)

热门文章

  1. 中国石油大学-《现代应用文写作》期末网考题
  2. python计算坡度_?563. 二叉树的坡度(Python)
  3. http://www.dewen.net.cn/q/15051/C++ 整形和浮点数相除的精度问题
  4. 面向对象的思维方法 (转)
  5. Python可以自学吗?
  6. GEE导出图像到本地结果全部为空
  7. 使用主密钥和钱包方法加密数据
  8. 密码学史观----Cryptography
  9. simple_bypass
  10. 软件测试培训分享:怎么测试一个APP