Esempio n. 1
0
def gensquexpdraw(d, lb, ub, ignores=-1):
    nt = 14
    [X, Y, S, D] = ESutils.gen_dataset(nt, d, lb, ub, GPdc.SQUEXP,
                                       sp.array([1.5] + [0.30] * d))
    G = GPdc.GPcore(X, Y, S, D,
                    GPdc.kernel(GPdc.SQUEXP, d, sp.array([1.5] + [0.30] * d)))

    def obj(x, s, d, override=False):
        #print [x,s,d]
        if ignores > 0:
            s = ignores
        if s == 0. or override:
            noise = 0.
        else:
            noise = sp.random.normal(scale=sp.sqrt(s))
        print "EVAL WITH NOISE: " + str(noise) + "FROM S= " + str(s)
        return [G.infer_m(x, [d])[0, 0] + noise, 1.]

    def dirwrap(x, y):
        z = G.infer_m(x, [[sp.NaN]])[0, 0]
        #z = obj(x,0.,[sp.NaN])
        return (z, 0)

    [xmin, ymin, ierror] = DIRECT.solve(dirwrap,
                                        lb,
                                        ub,
                                        user_data=[],
                                        algmethod=1,
                                        maxf=89000,
                                        logfilename='/dev/null')

    return [obj, xmin, ymin]
Esempio n. 2
0
def gensquexpIPdraw(d,lb,ub,sl,su,sfn,sls,cfn):
    #axis = 0 value = sl
    #d dimensional objective +1 for s
    nt=25
    #print sp.hstack([sp.array([[sl]]),lb])
    #print sp.hstack([sp.array([[su]]),ub])
    [X,Y,S,D] = ESutils.gen_dataset(nt,d+1,sp.hstack([sp.array([[sl]]),lb]).flatten(),sp.hstack([sp.array([[su]]),ub]).flatten(),GPdc.SQUEXP,sp.array([1.5]+[sls]+[0.30]*d))
    G = GPdc.GPcore(X,Y,S,D,GPdc.kernel(GPdc.SQUEXP,d+1,sp.array([1.5]+[sls]+[0.30]*d)))
    def obj(x,s,d,override=False):
        x = x.flatten()
        if sfn(x)==0. or override:
            noise = 0.
        else:
            noise = sp.random.normal(scale=sp.sqrt(sfn(x)))
        
        return [G.infer_m(x,[d])[0,0]+noise,cfn(x)]
    def dirwrap(x,y):
        z = obj(sp.array([[sl]+[i for i in x]]),sl,[sp.NaN],override=True)
        return (z,0)
    [xmin0,ymin0,ierror] = DIRECT.solve(dirwrap,lb,ub,user_data=[], algmethod=1, maxf=89000, logfilename='/dev/null')
    lb2 = xmin0-sp.ones(d)*1e-4
    ub2 = xmin0+sp.ones(d)*1e-4
    [xmin,ymin,ierror] = DIRECT.solve(dirwrap,lb2,ub2,user_data=[], algmethod=1, maxf=89000, logfilename='/dev/null')
    #print "RRRRR"+str([xmin0,xmin,ymin0,ymin,xmin0-xmin,ymin0-ymin])
    return [obj,xmin,ymin]
Esempio n. 3
0
def makeG(X,Y,S,D,kindex,mprior,sprior,nh):
    #draw hyps based on plk
    #print "RRRRRRRRRRRRRR"+str([X,Y,S,D,kindex,mprior,sprior,nh])
    H = ESutils.drawhyp_plk(X,Y,S,D,kindex,mprior,sprior,nh)
    
    G = GPdc.GPcore(X,Y,S,D,[GPdc.kernel(kindex,X.shape[1],i) for i in H])
    
    return G
Esempio n. 4
0
def drawmins(G,n,lb,ub,SUPPORT=300,mode = [ESutils.SUPPORT_SLICELCB],SLICELCB_PARA=1.):
    #draw support points
    
    W = sp.vstack([ESutils.draw_support(G, lb,ub,SUPPORT/len(mode),m, para = SLICELCB_PARA) for m in mode])
    if False:
        print 'how did I get here'
        plt.figure()
        plt.plot(W[:,0],W[:,1],'g.')
        plt.show()
    #draw in samples on the support
    print "drawing mins from support"
    R = ESutils.draw_min(G,W,n)
    if False:
        
        plt.figure()
        plt.plot(R[:,0],R[:,1],'r.')
        plt.show()
    #plt.show()
    return R
Esempio n. 5
0
def gensquexpIPdraw(d, lb, ub, sl, su, sfn, sls, cfn):
    #axis = 0 value = sl
    #d dimensional objective +1 for s
    nt = 25
    #print sp.hstack([sp.array([[sl]]),lb])
    #print sp.hstack([sp.array([[su]]),ub])
    [X, Y,
     S, D] = ESutils.gen_dataset(nt, d + 1,
                                 sp.hstack([sp.array([[sl]]), lb]).flatten(),
                                 sp.hstack([sp.array([[su]]), ub]).flatten(),
                                 GPdc.SQUEXP,
                                 sp.array([1.5] + [sls] + [0.30] * d))
    G = GPdc.GPcore(
        X, Y, S, D,
        GPdc.kernel(GPdc.SQUEXP, d + 1, sp.array([1.5] + [sls] + [0.30] * d)))

    def obj(x, s, d, override=False):
        x = x.flatten()
        if sfn(x) == 0. or override:
            noise = 0.
        else:
            noise = sp.random.normal(scale=sp.sqrt(sfn(x)))

        return [G.infer_m(x, [d])[0, 0] + noise, cfn(x)]

    def dirwrap(x, y):
        z = obj(sp.array([[sl] + [i for i in x]]), sl, [sp.NaN], override=True)
        return (z, 0)

    [xmin0, ymin0, ierror] = DIRECT.solve(dirwrap,
                                          lb,
                                          ub,
                                          user_data=[],
                                          algmethod=1,
                                          maxf=89000,
                                          logfilename='/dev/null')
    lb2 = xmin0 - sp.ones(d) * 1e-4
    ub2 = xmin0 + sp.ones(d) * 1e-4
    [xmin, ymin, ierror] = DIRECT.solve(dirwrap,
                                        lb2,
                                        ub2,
                                        user_data=[],
                                        algmethod=1,
                                        maxf=89000,
                                        logfilename='/dev/null')
    #print "RRRRR"+str([xmin0,xmin,ymin0,ymin,xmin0-xmin,ymin0-ymin])
    return [obj, xmin, ymin]
Esempio n. 6
0
 def makedata(self,n,d,ki,hy,lb,ub):
     self.n=n
     self.d=d
     self.ki=ki
     self.hy=hy
     self.nhy = hy.size
     self.lb=lb
     self.ub=ub
     t0 = time.time()
     [X,Y,S,D] = ESutils.gen_dataset(n,d,lb,ub,ki,hy,s=hy[-1])
     t1 = time.time()
     print "Setuptime: "+str(t1-t0)
     S = sp.zeros(S.shape)
     self.X=X
     self.Y=Y
     self.S=S
     self.D=D
     return
Esempio n. 7
0
 def makedata(self, n, d, ki, hy, lb, ub):
     self.n = n
     self.d = d
     self.ki = ki
     self.hy = hy
     self.nhy = hy.size
     self.lb = lb
     self.ub = ub
     t0 = time.time()
     [X, Y, S, D] = ESutils.gen_dataset(n, d, lb, ub, ki, hy, s=hy[-1])
     t1 = time.time()
     print "Setuptime: " + str(t1 - t0)
     S = sp.zeros(S.shape)
     self.X = X
     self.Y = Y
     self.S = S
     self.D = D
     return
Esempio n. 8
0
def gensquexpdraw(d,lb,ub,ignores=-1):
    nt=14
    [X,Y,S,D] = ESutils.gen_dataset(nt,d,lb,ub,GPdc.SQUEXP,sp.array([1.5]+[0.30]*d))
    G = GPdc.GPcore(X,Y,S,D,GPdc.kernel(GPdc.SQUEXP,d,sp.array([1.5]+[0.30]*d)))
    def obj(x,s,d,override=False):
        #print [x,s,d]
        if ignores>0:
            s=ignores
        if s==0. or override:
            noise = 0.
        else:
            noise = sp.random.normal(scale=sp.sqrt(s))
        print "EVAL WITH NOISE: "+str(noise) + "FROM S= "+str(s)
        return [G.infer_m(x,[d])[0,0]+noise,1.]
    def dirwrap(x,y):
        z = G.infer_m(x,[[sp.NaN]])[0,0]
        #z = obj(x,0.,[sp.NaN])
        return (z,0)
    [xmin,ymin,ierror] = DIRECT.solve(dirwrap,lb,ub,user_data=[], algmethod=1, maxf=89000, logfilename='/dev/null')
    
    return [obj,xmin,ymin]
Esempio n. 9
0
import scipy as sp
from scipy import linalg as spl
from matplotlib import pyplot as plt
import GPdc
import OPTutils
import ESutils
import DIRECT

#base dimension
d = 2
kindex = GPdc.MAT52
nt = 34
lb = sp.array([0.] + [-1.] * d)
ub = sp.array([5.] + [1.] * d)
Htrue = sp.array([1.4, 4.] + [0.25] * d)
[X, Y, S, D] = ESutils.gen_dataset(nt, d + 1, lb, ub, kindex, Htrue, s=1e-8)
G = GPdc.GPcore(X, Y, S, D, GPdc.kernel(kindex, d + 1, Htrue))


def ojfaugnn(x):
    return G.infer_m(x, [[sp.NaN]])[0, 0]


def opt_ip(s):
    def dwrap(x, y):
        X = sp.hstack([[s], x])
        return (ojfaugnn(X), 0)

    [xm, ym, ierror] = DIRECT.solve(dwrap,
                                    lb[1:],
                                    ub[1:],
Esempio n. 10
0
import ESutils
import scipy as sp
from scipy import linalg as spl
from scipy import stats as sps
from matplotlib import pyplot as plt
import GPdc
import PES

#-------------------------------------------------------------------------
#2d
nt=30
d=2
lb = sp.array([0.]+[-1.]*(d-1))
ub = sp.array([1.]*d)
[X,Y,S,D] = ESutils.gen_dataset(nt,d,lb,ub,GPdc.SQUEXP,sp.array([1.5,0.55,0.25]))

kindex = GPdc.SQUEXP
mprior = sp.array([0.]+[-1.]*d)
sprior = sp.array([1.]*(d+1))
axis=0
value=0.
pesobj = PES.PES_inplane(X,Y,S,D,lb,ub,kindex,mprior,sprior,axis,value,DH_SAMPLES=8,DM_SAMPLES=8, DM_SUPPORT=400,DM_SLICELCBPARA=1.,AM_POLICY=PES.NOMIN,mode=ESutils.SUPPORT_SLICEEI)


def cfn(x):
    return 1.-(0.6*x[0])**0.1
def sfn(x):
    return 1e-4

[xmin,ymin,ierror] = pesobj.search_acq(cfn,sfn)
Esempio n. 11
0
# To change this license header, choose License Headers in Project Properties.
# To change this template file, choose Tools | Templates
# and open the template in the editor.
from scipy import stats as sps
from scipy import linalg as spl
import scipy as sp
from matplotlib import pyplot as plt
import ESutils

import GPdc

nt=80
d=1
lb = sp.array([-1.]*d)
ub = sp.array([1.]*d)
[X,Y,S,D] = ESutils.gen_dataset(nt,d,lb,ub,GPdc.SQUEXP,sp.array([0.9,0.25]),s=0.)
S*=0.
for i in xrange(nt):
    x = X[i,0]
    s = -(1e-2)*(x-1.)*(x+1.1)
    Y[i,0]+= sps.norm.rvs(0,sp.sqrt(s))

f0 = plt.figure()
a0 = plt.subplot(111)
a0.plot(sp.array(X[:,0]).flatten(),Y,'g.')

lb = sp.array([-2.,-2.,-9,-2.,-2.])
ub = sp.array([2.,2.,-1,2.,2.])
MLEH =  GPdc.searchMLEhyp(X,Y,S,D,lb,ub,GPdc.SQUEXPPS,mx=20000)

mprior = sp.array([0.,-1.,-5.,-0.5,0.5])
Esempio n. 12
0
import ESutils
import GPdc

nt = 5
X = sp.matrix(sp.linspace(-1, 1, nt)).T
D = [[sp.NaN]] * (nt)
hyp = sp.array([1.5, 0.15])
kf = GPdc.kernel(GPdc.SQUEXP, 1, hyp)
Kxx = GPdc.buildKsym_d(kf, X, D)
Y = spl.cholesky(Kxx, lower=True) * sp.matrix(sps.norm.rvs(0, 1.0, nt)).T + sp.matrix(sps.norm.rvs(0, 1e-3, nt)).T
S = sp.matrix([1e-2] * nt).T
g = GPdc.GPcore(X, Y, S, D, kf)
f, a = plt.subplots(2)

Xe = sp.array([-0.25, 0.25])
De = [[sp.NaN]] * 2
[m0, V0] = g.infer_full(Xe, De)
Ye = sp.array([2.0, -2.0])
Ze = sp.array([1.0, -1.0])
Fe = sp.array([(1e-6) ** 2, (1e-6) ** 2])

mt, vt = eprop.expectation_prop(m0, V0, Ye, Ze, Fe, 20)
print D + De
g2 = GPdc.GPcore(
    sp.vstack([X, sp.array([Xe]).T]), sp.vstack([Y, sp.array([Ye]).T]), sp.vstack([S, sp.array([Fe]).T]), D + De, kf
)

ESutils.plot_gp(g, a[0], sp.linspace(-1, 1, 100), [[sp.NaN]] * 100)
ESutils.plot_gp(g2, a[1], sp.linspace(-1, 1, 100), [[sp.NaN]] * 100)
plt.show()
Esempio n. 13
0
# and open the template in the editor.

import ESutils
import scipy as sp
from scipy import linalg as spl
from scipy import stats as sps
from matplotlib import pyplot as plt

#uniform test
class bob:
    def __init__(self,D):
        self.D=D
        return


X = ESutils.draw_support_inplane(bob(2), sp.array([-2,-1]),sp.array([0,3]),500,ESutils.SUPPORT_UNIFORM,1,0.5)
for i in xrange(X.shape[0]):
    plt.plot(X[i,0],X[i,1],'r.')
plt.axis([-5,5,-5,5])


#2d gp test

import GPdc

nt=34
X = ESutils.draw_support(bob(2), sp.array([-1.,-1.]),sp.array([1.,1.]),nt,ESutils.SUPPORT_UNIFORM)
D = [[sp.NaN]]*(nt)
hyp = sp.array([1.5,0.15,0.15])
kf = GPdc.gen_sqexp_k_d(hyp)
Kxx = GPdc.buildKsym_d(kf,X,D)
Esempio n. 14
0
import scipy as sp
from scipy import linalg as spl
from scipy import stats as sps
from matplotlib import pyplot as plt
import GPdc
import ESutils

nt = 2
d = 1
lb = sp.array([-1.])
ub = sp.array([1.])
[X, Y, S, D] = ESutils.gen_dataset(nt,
                                   d,
                                   lb,
                                   ub,
                                   GPdc.SQUEXP,
                                   sp.array([1.5, 0.35]),
                                   s=1e-3)

g = GPdc.GPcore(X, Y, S, D, GPdc.kernel(GPdc.SQUEXP, 1, sp.array([1.5, 0.35])))

np = 100
sup = sp.linspace(-1, 1, np)
Dp = [[sp.NaN]] * np
Xp = sp.vstack([sp.array([i]) for i in sup])
[m, V] = g.infer_diag_post(Xp, Dp)

f, a = plt.subplots(3)
s = sp.sqrt(V[0, :])
a[0].fill_between(sup,
Esempio n. 15
0
from scipy import stats as sps
from scipy import linalg as spl
import scipy as sp
from matplotlib import pyplot as plt
import ESutils

import GPdc

nt = 22
d = 1
lb = sp.array([-1.] * d)
ub = sp.array([1.] * d)
[X, Y, S, D] = ESutils.gen_dataset(nt,
                                   d,
                                   lb,
                                   ub,
                                   GPdc.SQUEXP,
                                   sp.array([0.9, 0.25]),
                                   s=1e-8)
S *= 0.
f0 = plt.figure()
a0 = plt.subplot(111)
a0.plot(sp.array(X[:, 0]).flatten(), Y, 'g.')

lb = sp.array([-2., -2., -9])
ub = sp.array([2., 2., -1])
MLEH = GPdc.searchMLEhyp(X, Y, S, D, lb, ub, GPdc.SQUEXPCS, mx=10000)

mprior = sp.array([0., -1., -5.])
sprior = sp.array([1., 1., 3.])
Esempio n. 16
0
#!/usr/bin/env python2
#encoding: UTF-8

#Draw 200 hyperparameters from the posterior, plot the draws on a countour plot, first for very few points, then a large number

import ESutils
import scipy as sp
from scipy import linalg as spl
from scipy import stats as sps
from matplotlib import pyplot as plt

import GPdc
#test on a single point
nt = 3
X = ESutils.draw_support(1, sp.array([-1.]), sp.array([1.]), nt,
                         ESutils.SUPPORT_UNIFORM)
D = [[sp.NaN]] * (nt)
hyp = sp.array([1.5, 0.15])
kf = GPdc.gen_sqexp_k_d(hyp)
Kxx = GPdc.buildKsym_d(kf, X, D)
Y = spl.cholesky(Kxx, lower=True) * sp.matrix(sps.norm.rvs(
    0, 1., nt)).T + sp.matrix(sps.norm.rvs(0, 1e-3, nt)).T
S = sp.matrix([1e-6] * nt).T

G = GPdc.GPcore(X, Y, S, D, GPdc.kernel(GPdc.SQUEXP, 2, hyp))

ng = 40
A = sp.empty([ng, ng])
print 'startimage1'
sup = sp.logspace(-3, 2, ng)
for i, hi in enumerate(sup):
Esempio n. 17
0
import ESutils
import scipy as sp
from scipy import linalg as spl
from scipy import stats as sps
from matplotlib import pyplot as plt


#uniform test
class bob:
    def __init__(self, D):
        self.D = D
        return


X = ESutils.draw_support_inplane(bob(2), sp.array([-2, -1]), sp.array([0, 3]),
                                 500, ESutils.SUPPORT_UNIFORM, 1, 0.5)
for i in xrange(X.shape[0]):
    plt.plot(X[i, 0], X[i, 1], 'r.')
plt.axis([-5, 5, -5, 5])

#2d gp test

import GPdc

nt = 34
X = ESutils.draw_support(bob(2), sp.array([-1., -1.]), sp.array([1., 1.]), nt,
                         ESutils.SUPPORT_UNIFORM)
D = [[sp.NaN]] * (nt)
hyp = sp.array([1.5, 0.15, 0.15])
kf = GPdc.gen_sqexp_k_d(hyp)
Kxx = GPdc.buildKsym_d(kf, X, D)
Esempio n. 18
0
import scipy as sp
from scipy import linalg as spl
from matplotlib import pyplot as plt
import GPdc
import OPTutils
import ESutils
import DIRECT

#base dimension
d = 2
kindex = GPdc.MAT52
nt = 34
lb = sp.array([0.]+[-1.]*d)
ub = sp.array([5.]+[1.]*d)
Htrue = sp.array([1.4,4.]+[0.25]*d)
[X,Y,S,D] = ESutils.gen_dataset(nt,d+1,lb,ub,kindex,Htrue, s=1e-8)
G = GPdc.GPcore(X,Y,S,D,GPdc.kernel(kindex,d+1,Htrue))

def ojfaugnn(x):
    return G.infer_m(x,[[sp.NaN]])[0,0]

def opt_ip(s):
    def dwrap(x,y):
        X = sp.hstack([[s],x])
        return (ojfaugnn(X),0)
    [xm,ym,ierror] = DIRECT.solve(dwrap,lb[1:],ub[1:], user_data=[], algmethod=1, maxf=12000, logfilename='/dev/null')
    print "DIRECT found: " +str([xm,ym,ierror])
    return xm

mintrue = opt_ip(0.)
minaug = sp.hstack([[0.],mintrue])
Esempio n. 19
0
# To change this license header, choose License Headers in Project Properties.
# To change this template file, choose Tools | Templates
# and open the template in the editor.

import ESutils
import scipy as sp
from scipy import linalg as spl
from scipy import stats as sps
from matplotlib import pyplot as plt

#uniform test
import GPdc

X = ESutils.draw_support(2, sp.array([-2,-1]),sp.array([0,3]),500,ESutils.SUPPORT_UNIFORM)
for i in xrange(X.shape[0]):
    plt.plot(X[i,0],X[i,1],'r.')
plt.axis([-5,5,-5,5])


#2d gp test



nt=34
X = ESutils.draw_support(2, sp.array([-1.,-1.]),sp.array([1.,1.]),nt,ESutils.SUPPORT_UNIFORM)
D = [[sp.NaN]]*(nt)
hyp = sp.array([1.5,0.25,0.25])
kf = GPdc.gen_sqexp_k_d(hyp)
Kxx = GPdc.buildKsym_d(kf,X,D)
Y = spl.cholesky(Kxx,lower=True)*sp.matrix(sps.norm.rvs(0,1.,nt)).T+sp.matrix(sps.norm.rvs(0,1e-3,nt)).T
S = sp.matrix([1e-6]*nt).T
Esempio n. 20
0
def drawmins_inplane(G,n,lb,ub,axis,value, SUPPORT=300, mode=ESutils.SUPPORT_SLICELCB, SLICELCB_PARA=1.):
    W = sp.vstack([ESutils.draw_support_inplane(G, lb,ub,SUPPORT/len(mode),m, axis,value,para = SLICELCB_PARA) for m in mode])
    #draw in samples on the support
    R = ESutils.draw_min(G,W,n)
    return R
Esempio n. 21
0
    ax[i].plot(sup,sps.norm.pdf(sup,loc=mu[i],scale=sp.sqrt(vu[i,i])),'r')
    ax[i].twinx().plot(sup,sps.norm.cdf(Z[i]*(sup-Y[i])/max(F[i],1e-20))*sps.norm.pdf(sup,loc=m[i],scale=sp.sqrt(v[i,i])),'g')
#est on a gp

import ESutils
import GPdc
nt=5
X = sp.matrix(sp.linspace(-1,1,nt)).T
D = [[sp.NaN]]*(nt)
hyp = sp.array([1.5,0.15])
kf = GPdc.kernel(GPdc.SQUEXP,1,hyp)
Kxx = GPdc.buildKsym_d(kf,X,D)
Y = spl.cholesky(Kxx,lower=True)*sp.matrix(sps.norm.rvs(0,1.,nt)).T+sp.matrix(sps.norm.rvs(0,1e-3,nt)).T
S = sp.matrix([1e-2]*nt).T
g = GPdc.GPcore(X,Y,S,D,kf)
f,a = plt.subplots(2)

Xe = sp.array([-0.25,0.25])
De = [[sp.NaN]]*2
[m0,V0] = g.infer_full(Xe,De)
Ye = sp.array([2.,-2.])
Ze = sp.array([1.,-1.])
Fe = sp.array([(1e-6)**2,(1e-6)**2])

mt,vt = eprop.expectation_prop(m0,V0,Ye,Ze,Fe,20)
print D+De
g2 = GPdc.GPcore(sp.vstack([X,sp.array([Xe]).T]),sp.vstack([Y,sp.array([Ye]).T]),sp.vstack([S,sp.array([Fe]).T]),D+De,kf)

ESutils.plot_gp(g,a[0],sp.linspace(-1,1,100),[[sp.NaN]]*100)
ESutils.plot_gp(g2,a[1],sp.linspace(-1,1,100),[[sp.NaN]]*100)
plt.show()
Esempio n. 22
0
#!/usr/bin/env python2
#encoding: UTF-8

#Draw 200 hyperparameters from the posterior, plot the draws on a countour plot, first for very few points, then a large number

import ESutils
import scipy as sp
from scipy import linalg as spl
from scipy import stats as sps
from matplotlib import pyplot as plt

import GPdc
#test on a single point
nt=3
X = ESutils.draw_support(1, sp.array([-1.]),sp.array([1.]),nt,ESutils.SUPPORT_UNIFORM)
D = [[sp.NaN]]*(nt)
hyp = sp.array([1.5,0.15])
kf = GPdc.gen_sqexp_k_d(hyp)
Kxx = GPdc.buildKsym_d(kf,X,D)
Y = spl.cholesky(Kxx,lower=True)*sp.matrix(sps.norm.rvs(0,1.,nt)).T+sp.matrix(sps.norm.rvs(0,1e-3,nt)).T
S = sp.matrix([1e-6]*nt).T


G = GPdc.GPcore(X,Y,S,D,GPdc.kernel(GPdc.SQUEXP,2,hyp))

ng = 40
A = sp.empty([ng,ng])
print 'startimage1'
sup = sp.logspace(-3,2,ng)
for i,hi in enumerate(sup):
    for j,hj in enumerate(sup):
Esempio n. 23
0
import ESutils
import scipy as sp
from scipy import linalg as spl
from scipy import stats as sps
from matplotlib import pyplot as plt
import GPdc
import PES

#-------------------------------------------------------------------------
#2d
nt = 30
d = 2
lb = sp.array([-1.] * d)
ub = sp.array([1.] * d)
[X, Y, S, D] = ESutils.gen_dataset(nt, d, lb, ub, GPdc.SQUEXP,
                                   sp.array([1.5, 0.35, 0.30]))

kindex = GPdc.SQUEXP
mprior = sp.array([0.] + [-1.] * d)
sprior = sp.array([1.] * (d + 1))

pesobj = PES.PES(X,
                 Y,
                 S,
                 D,
                 lb,
                 ub,
                 kindex,
                 mprior,
                 sprior,
                 DH_SAMPLES=8,
Esempio n. 24
0
# To change this license header, choose License Headers in Project Properties.
# To change this template file, choose Tools | Templates
# and open the template in the editor.

import scipy as sp
from scipy import linalg as spl
from scipy import stats as sps
from matplotlib import pyplot as plt
import GPdc
import ESutils
nt=2
d=1
lb = sp.array([-1.])
ub = sp.array([1.])
[X,Y,S,D] = ESutils.gen_dataset(nt,d,lb,ub,GPdc.SQUEXP,sp.array([1.5,0.35]),s=1e-3)

g = GPdc.GPcore(X,Y,S,D,GPdc.kernel(GPdc.SQUEXP,1,sp.array([1.5,0.35])))

np=100
sup = sp.linspace(-1,1,np)
Dp = [[sp.NaN]]*np
Xp = sp.vstack([sp.array([i]) for i in sup])
[m,V] = g.infer_diag_post(Xp,Dp)

f,a = plt.subplots(3)
s = sp.sqrt(V[0,:])
a[0].fill_between(sup,sp.array(m[0,:]-2.*s).flatten(),sp.array(m[0,:]+2.*s).flatten(),facecolor='lightblue',edgecolor='lightblue')
a[0].plot(sup,m[0,:].flatten())
a[0].plot(sp.array(X[:,0]).flatten(),Y,'g.')