pymc.gp.LatentKron#

class pymc.gp.LatentKron(*, mean_func=<pymc.gp.mean.Zero object>, cov_funcs=<pymc.gp.cov.Constant object>)[源代码]#

潜在的高斯过程,其协方差是张量积核。

gp.LatentKron 类是具有Kronecker结构协方差的GP的直接实现,不涉及任何噪声或特定似然。GP通过 prior 方法构建,新输入位置上的条件GP通过 conditional 方法构建。有关这些方法的更多信息,请参阅它们的文档字符串。此GP实现可用于建模其输入覆盖多维均匀间隔网格的高斯过程。LatentKron 依赖于 KroneckerNormal 分布,更多信息请参阅其文档字符串。

参数:
mean_func均值,默认零

均值函数。

cov_funcspython:协方差列表,默认 [常数]

构成张量(Kronecker)积的协方差函数。

示例

# One dimensional column vectors of inputs
X1 = np.linspace(0, 1, 10)[:, None]
X2 = np.linspace(0, 2, 5)[:, None]
Xs = [X1, X2]
with pm.Model() as model:
    # Specify the covariance functions for each Xi
    cov_func1 = pm.gp.cov.ExpQuad(1, ls=0.1)  # Must accept X1 without error
    cov_func2 = pm.gp.cov.ExpQuad(1, ls=0.3)  # Must accept X2 without error

    # Specify the GP.  The default mean function is `Zero`.
    gp = pm.gp.LatentKron(cov_funcs=[cov_func1, cov_func2])

    # ...

# After fitting or sampling, specify the distribution
# at new points with .conditional
# Xnew need not be on a full grid
Xnew1 = np.linspace(-1, 2, 10)[:, None]
Xnew2 = np.linspace(0, 3, 10)[:, None]
Xnew = np.concatenate((Xnew1, Xnew2), axis=1)  # Not full grid, works
Xnew = pm.math.cartesian(Xnew1, Xnew2)  # Full grid, also works

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

方法

LatentKron.__init__(*[, mean_func, cov_funcs])

LatentKron.conditional(name, Xnew[, jitter])

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

LatentKron.marginal_likelihood(name, X, ...)

LatentKron.predict(Xnew[, point, given, ...])

LatentKron.prior(name, Xs[, jitter])

返回在输入位置 Xs 上评估的先验分布。

属性

Xs

f