def calculate_variance(X, Xs): kernel = RBF() kernel.__init__() sigma = 0.01 ks = kernel.diag(Xs) Kt = kernel.__call__(X, X) + sigma**2 if is_invertible(Kt): Kt = inv(Kt) else: Kt = pinv(Kt) K = kernel.__call__(Xs, X) Ktt = np.matmul(K, Kt) Ktt = np.matmul(Ktt, K.transpose()) Ktt = Ktt.diagonal() var = ks - Ktt.transpose() return var
def __init__(self, length_scale=1.0, length_scale_bounds=(1e-5, 1e5), nu=1.5, int_dim=None): RBF.__init__(self, length_scale, length_scale_bounds) self.nu = nu self.int_dim = int_dim