Exemple #1
0
def polynomial(lowbound, highbound, betas, covas, num=40):
    betas = np.array(betas)
    covas = np.mat(covas)

    if covas.shape[0] != covas.shape[1] and len(betas) != covas.shape[0]:
        return "Error: Please provide a complete covariance matrix."
    if np.any(linalg.eig(covas)[0] < 0):
        return "Error: Covariance matrix is not positive definite."

    xx = np.linspace(lowbound, highbound, num=num)
    xxs = {}
    for x in xx:
        xvec = np.mat([[1, x, x**2, x**3][0:len(betas)]])
        serr = np.sqrt(xvec * covas * np.transpose(xvec))
        xxs[x] = (betas.dot(np.squeeze(np.asarray(xvec))), serr[0,0])

    return SplineModel.create_gaussian(xxs, xx, False)
import sys, StringIO
sys.path.append("../lib/models")

from model import Model
from ddp_model import DDPModel
from spline_model import SplineModel

mod1 = DDPModel.create_lin([0, 1], dict(control=[.5, .5], treatment=[0, 1]))
mod2 = DDPModel.create_lin([0, 1], dict(control=[.5, .5], treatment=[1, 0]))

def printmod(mod):
    output = StringIO.StringIO()
    mod.write(output, ',')
    print output.getvalue()

printmod(Model.combine([mod1, mod2], [.5, .5]))
printmod(Model.combine([mod1, mod2], [.25, 2]))

mod1 = SplineModel.create_gaussian(dict(control=(0, 1), treatment=(1, 1e-3)))
mod2 = SplineModel.create_gaussian(dict(control=(0, 1), treatment=(0, 1e-3)))

def printmod2(mod):
    output = StringIO.StringIO()
    mod.write_gaussian_plus(output, ',')
    print output.getvalue()

printmod2(Model.combine([mod1, mod2], [.5, .5]))
printmod2(Model.combine([mod1, mod2], [.25, 2]))
Exemple #3
0
from model import Model
from ddp_model import DDPModel
from spline_model import SplineModel

mod1 = DDPModel.create_lin([0, 1], dict(control=[.5, .5], treatment=[0, 1]))
mod2 = DDPModel.create_lin([0, 1], dict(control=[.5, .5], treatment=[1, 0]))


def printmod(mod):
    output = StringIO.StringIO()
    mod.write(output, ',')
    print output.getvalue()


printmod(Model.combine([mod1, mod2], [.5, .5]))
printmod(Model.combine([mod1, mod2], [.25, 2]))

mod1 = SplineModel.create_gaussian(dict(control=(0, 1), treatment=(1, 1e-3)))
mod2 = SplineModel.create_gaussian(dict(control=(0, 1), treatment=(0, 1e-3)))


def printmod2(mod):
    output = StringIO.StringIO()
    mod.write_gaussian_plus(output, ',')
    print output.getvalue()


printmod2(Model.combine([mod1, mod2], [.5, .5]))
printmod2(Model.combine([mod1, mod2], [.25, 2]))