pymc.gp.MarginalApprox#

class pymc.gp.MarginalApprox(approx='VFE', *, mean_func=<pymc.gp.mean.Zero object>, cov_func=<pymc.gp.cov.Constant object>)[源代码]#

近似边缘高斯过程。

gp.MarginalApprox 类是 GP 先验和加性噪声之和的实现。它具有 marginal_likelihoodconditionalpredict 方法。此 GP 实现可用于对正态分布的数据进行回归。可用的近似方法有:

  • DTC: 确定性训练条件

  • FITC: 完全独立训练条件

  • VFE: 变分自由能

参数:
mean_func均值,默认零

均值函数。

cov_func2D array_like, or Covariance, default Constant

协方差函数。

approx : str, 默认 ‘VFE’python:str, 默认 ‘VFE’

要使用的近似方法。必须是 VFEFITCDTC 之一。

参考文献

  • Quinonero-Candela, J., 和 Rasmussen, C. (2005). 稀疏近似高斯过程回归的统一视图。

  • Titsias, M. (2009). 稀疏高斯过程中诱导变量的变分学习。

  • Bauer, M., van der Wilk, M., 和 Rasmussen, C. E. (2016). 理解概率稀疏高斯过程近似。

示例

# A one dimensional column vector of inputs.
X = np.linspace(0, 1, 10)[:, None]

# A smaller set of inducing inputs
Xu = np.linspace(0, 1, 5)[:, None]

with pm.Model() as model:
    # Specify the covariance function.
    cov_func = pm.gp.cov.ExpQuad(1, ls=0.1)

    # Specify the GP.  The default mean function is `Zero`.
    gp = pm.gp.MarginalApprox(cov_func=cov_func, approx="FITC")

    # Place a GP prior over the function f.
    sigma = pm.HalfCauchy("sigma", beta=3)
    y_ = gp.marginal_likelihood("y", X=X, Xu=Xu, y=y, sigma=sigma)

...

# After fitting or sampling, specify the distribution
# at new points with .conditional
Xnew = np.linspace(-1, 2, 50)[:, None]

with model:
    fcond = gp.conditional("fcond", Xnew=Xnew)

方法

MarginalApprox.__init__([approx, mean_func, ...])

MarginalApprox.conditional(name, Xnew[, ...])

返回在新的输入位置 Xnew 上评估的 GP 的近似条件分布。

MarginalApprox.marginal_likelihood(name, X, ...)

返回给定输入位置 X、诱导点位置 Xu、数据 y 和白噪声标准差 sigma 的近似边际似然分布。

MarginalApprox.predict(Xnew[, point, diag, ...])

给定一个 ,例如 MAP 估计或来自 轨迹 的样本,返回条件分布的均值向量和协方差矩阵作为 numpy 数组。

MarginalApprox.prior(name, X, *args, **kwargs)

属性

X

Xu

sigma

y