pyGPGO/surrogates/GaussianProcess.py
Killed 19 out of 40 mutantsTimeouts
Mutants that made the test suite take a lot longer so the tests were killed.Mutant 155
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -4,7 +4,7 @@
from scipy.optimize import minimize
class GaussianProcess:
- def __init__(self, covfunc, optimize=False, usegrads=False, mprior=0):
+ def __init__(self, covfunc, optimize=True, usegrads=False, mprior=0):
"""
Gaussian Process regressor class. Based on Rasmussen & Williams [1]_ algorithm 2.1.
Survived
Survived mutation testing. These mutants show holes in your test suite.Mutant 156
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -4,7 +4,7 @@
from scipy.optimize import minimize
class GaussianProcess:
- def __init__(self, covfunc, optimize=False, usegrads=False, mprior=0):
+ def __init__(self, covfunc, optimize=False, usegrads=True, mprior=0):
"""
Gaussian Process regressor class. Based on Rasmussen & Williams [1]_ algorithm 2.1.
Mutant 157
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -4,7 +4,7 @@
from scipy.optimize import minimize
class GaussianProcess:
- def __init__(self, covfunc, optimize=False, usegrads=False, mprior=0):
+ def __init__(self, covfunc, optimize=False, usegrads=False, mprior=1):
"""
Gaussian Process regressor class. Based on Rasmussen & Williams [1]_ algorithm 2.1.
Mutant 159
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -35,7 +35,7 @@
International journal of neural systems (Vol. 14). http://doi.org/10.1142/S0129065704001899
"""
self.covfunc = covfunc
- self.optimize = optimize
+ self.optimize = None
self.usegrads = usegrads
self.mprior = mprior
Mutant 160
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -36,7 +36,7 @@
"""
self.covfunc = covfunc
self.optimize = optimize
- self.usegrads = usegrads
+ self.usegrads = None
self.mprior = mprior
def getcovparams(self):
Mutant 164
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -67,7 +67,7 @@
"""
self.X = X
self.y = y
- self.nsamples = self.X.shape[0]
+ self.nsamples = self.X.shape[1]
if self.optimize:
grads = None
if self.usegrads:
Mutant 168
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -76,7 +76,7 @@
self.K = self.covfunc.K(self.X, self.X)
self.L = cholesky(self.K).T
- self.alpha = solve(self.L.T, solve(self.L, y - self.mprior))
+ self.alpha = solve(self.L.T, solve(self.L, y + self.mprior))
self.logp = -.5 * np.dot(self.y, self.alpha) - np.sum(np.log(np.diag(self.L))) - self.nsamples / 2 * np.log(
2 * np.pi)
Mutant 170
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -77,7 +77,7 @@
self.K = self.covfunc.K(self.X, self.X)
self.L = cholesky(self.K).T
self.alpha = solve(self.L.T, solve(self.L, y - self.mprior))
- self.logp = -.5 * np.dot(self.y, self.alpha) - np.sum(np.log(np.diag(self.L))) - self.nsamples / 2 * np.log(
+ self.logp = +.5 * np.dot(self.y, self.alpha) - np.sum(np.log(np.diag(self.L))) - self.nsamples / 2 * np.log(
2 * np.pi)
def param_grad(self, k_param):
Mutant 171
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -77,7 +77,7 @@
self.K = self.covfunc.K(self.X, self.X)
self.L = cholesky(self.K).T
self.alpha = solve(self.L.T, solve(self.L, y - self.mprior))
- self.logp = -.5 * np.dot(self.y, self.alpha) - np.sum(np.log(np.diag(self.L))) - self.nsamples / 2 * np.log(
+ self.logp = -1.5 * np.dot(self.y, self.alpha) - np.sum(np.log(np.diag(self.L))) - self.nsamples / 2 * np.log(
2 * np.pi)
def param_grad(self, k_param):
Mutant 172
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -77,7 +77,7 @@
self.K = self.covfunc.K(self.X, self.X)
self.L = cholesky(self.K).T
self.alpha = solve(self.L.T, solve(self.L, y - self.mprior))
- self.logp = -.5 * np.dot(self.y, self.alpha) - np.sum(np.log(np.diag(self.L))) - self.nsamples / 2 * np.log(
+ self.logp = -.5 / np.dot(self.y, self.alpha) - np.sum(np.log(np.diag(self.L))) - self.nsamples / 2 * np.log(
2 * np.pi)
def param_grad(self, k_param):
Mutant 173
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -77,7 +77,7 @@
self.K = self.covfunc.K(self.X, self.X)
self.L = cholesky(self.K).T
self.alpha = solve(self.L.T, solve(self.L, y - self.mprior))
- self.logp = -.5 * np.dot(self.y, self.alpha) - np.sum(np.log(np.diag(self.L))) - self.nsamples / 2 * np.log(
+ self.logp = -.5 * np.dot(self.y, self.alpha) + np.sum(np.log(np.diag(self.L))) - self.nsamples / 2 * np.log(
2 * np.pi)
def param_grad(self, k_param):
Mutant 174
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -77,7 +77,7 @@
self.K = self.covfunc.K(self.X, self.X)
self.L = cholesky(self.K).T
self.alpha = solve(self.L.T, solve(self.L, y - self.mprior))
- self.logp = -.5 * np.dot(self.y, self.alpha) - np.sum(np.log(np.diag(self.L))) - self.nsamples / 2 * np.log(
+ self.logp = -.5 * np.dot(self.y, self.alpha) - np.sum(np.log(np.diag(self.L))) + self.nsamples / 2 * np.log(
2 * np.pi)
def param_grad(self, k_param):
Mutant 175
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -77,7 +77,7 @@
self.K = self.covfunc.K(self.X, self.X)
self.L = cholesky(self.K).T
self.alpha = solve(self.L.T, solve(self.L, y - self.mprior))
- self.logp = -.5 * np.dot(self.y, self.alpha) - np.sum(np.log(np.diag(self.L))) - self.nsamples / 2 * np.log(
+ self.logp = -.5 * np.dot(self.y, self.alpha) - np.sum(np.log(np.diag(self.L))) - self.nsamples * 2 * np.log(
2 * np.pi)
def param_grad(self, k_param):
Mutant 176
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -77,7 +77,7 @@
self.K = self.covfunc.K(self.X, self.X)
self.L = cholesky(self.K).T
self.alpha = solve(self.L.T, solve(self.L, y - self.mprior))
- self.logp = -.5 * np.dot(self.y, self.alpha) - np.sum(np.log(np.diag(self.L))) - self.nsamples / 2 * np.log(
+ self.logp = -.5 * np.dot(self.y, self.alpha) - np.sum(np.log(np.diag(self.L))) - self.nsamples / 3 * np.log(
2 * np.pi)
def param_grad(self, k_param):
Mutant 177
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -77,7 +77,7 @@
self.K = self.covfunc.K(self.X, self.X)
self.L = cholesky(self.K).T
self.alpha = solve(self.L.T, solve(self.L, y - self.mprior))
- self.logp = -.5 * np.dot(self.y, self.alpha) - np.sum(np.log(np.diag(self.L))) - self.nsamples / 2 * np.log(
+ self.logp = -.5 * np.dot(self.y, self.alpha) - np.sum(np.log(np.diag(self.L))) - self.nsamples / 2 / np.log(
2 * np.pi)
def param_grad(self, k_param):
Mutant 178
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -78,7 +78,7 @@
self.L = cholesky(self.K).T
self.alpha = solve(self.L.T, solve(self.L, y - self.mprior))
self.logp = -.5 * np.dot(self.y, self.alpha) - np.sum(np.log(np.diag(self.L))) - self.nsamples / 2 * np.log(
- 2 * np.pi)
+ 3 * np.pi)
def param_grad(self, k_param):
"""
Mutant 179
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -78,7 +78,7 @@
self.L = cholesky(self.K).T
self.alpha = solve(self.L.T, solve(self.L, y - self.mprior))
self.logp = -.5 * np.dot(self.y, self.alpha) - np.sum(np.log(np.diag(self.L))) - self.nsamples / 2 * np.log(
- 2 * np.pi)
+ 2 / np.pi)
def param_grad(self, k_param):
"""
Mutant 180
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -77,8 +77,7 @@
self.K = self.covfunc.K(self.X, self.X)
self.L = cholesky(self.K).T
self.alpha = solve(self.L.T, solve(self.L, y - self.mprior))
- self.logp = -.5 * np.dot(self.y, self.alpha) - np.sum(np.log(np.diag(self.L))) - self.nsamples / 2 * np.log(
- 2 * np.pi)
+ self.logp = None
def param_grad(self, k_param):
"""
Mutant 181
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -163,7 +163,7 @@
k_param[k] = v
return - self.param_grad(k_param)
- def optHyp(self, param_key, param_bounds, grads=None, n_trials=5):
+ def optHyp(self, param_key, param_bounds, grads=None, n_trials=6):
"""
Optimizes the negative marginal log-likelihood for given hyperparameters and bounds.
This is an empirical Bayes approach (or Type II maximum-likelihood).
Mutant 182
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -196,7 +196,7 @@
k_param[k] = x
self.covfunc = self.covfunc.__class__(**k_param)
- def predict(self, Xstar, return_std=False):
+ def predict(self, Xstar, return_std=True):
"""
Returns mean and covariances for the posterior Gaussian Process.
Mutant 188
--- pyGPGO/surrogates/GaussianProcess.py
+++ pyGPGO/surrogates/GaussianProcess.py
@@ -219,7 +219,7 @@
kstar = self.covfunc.K(self.X, Xstar).T
fmean = self.mprior + np.dot(kstar, self.alpha)
v = solve(self.L, kstar.T)
- fcov = self.covfunc.K(Xstar, Xstar) - np.dot(v.T, v)
+ fcov = self.covfunc.K(Xstar, Xstar) + np.dot(v.T, v)
if return_std:
fcov = np.diag(fcov)
return fmean, fcov