Exemplo n.º 1
0
def plotprior(ax, lc, normalize=False, **kwargs):
    P = utils.periodprior(lc.t, lc.flux)
    x = np.linspace(0, max(lc.t) - min(lc.t), 1000)
    y = np.exp(P.logp(x).eval())
    if normalize:
        y = y / np.max(y)
    return ax.plot(x, y, **kwargs)
Exemplo n.º 2
0
 cornerfile = kid + "_corner.png"
 errfile = kid + "_err.dat"
 lc = Lightcurve.everest(f)
 try:
     y = lc.flux - utils.trend(lc.t, lc.flux, 2)
     mask = sigma_clip(y-medfilt(y, kernel_size=5), sigma=3)
     x = lc.t[mask.mask == False]
     y = y[mask.mask == False]
     yerr = np.std(y - medfilt(y, kernel_size=5))
     
     with pm.Model() as model:
 
         mean = pm.Normal("mean", mu=np.mean(y), sd=np.std(y))
         yerr = pm.Normal("yerr", mu=yerr, sd=5.0)
         logamp = pm.Normal("logamp", mu=np.log(np.var(y)), sd=5)
         period = utils.periodprior(lc.t, lc.flux)
         logQ0 = pm.Uniform("logQ0", lower=-10, upper=10)
         logdQ = pm.Normal("logdQ", mu=2.0, sd=5.0)
         mix = pm.Uniform("mix", lower=0.0, upper=1.0)
 
         logS0 = pm.Normal("logS0", mu=np.log(np.var(y)), sd=5)
         dt = lc.t[-1] - lc.t[0]
         logw = pm.Uniform("logw", lower=-20, upper=0)
 
         kernel = xo.gp.terms.RotationTerm(
             log_amp=logamp,
             period=period,
             log_Q0=logQ0,
             log_deltaQ=logdQ,
             mix=mix
         )
Exemplo n.º 3
0
    lc = Lightcurve.tess(f)
    try:
        y = lc.flux - utils.trend(lc.t, lc.flux, 2)
        mask = sigma_clip(y - medfilt(y, kernel_size=301), sigma=3)
        x = lc.t[mask.mask == False]
        y = y[mask.mask == False]
        yerr = np.std(y - medfilt(y, kernel_size=51))
        x = x[::5]
        y = y[::5]

        with pm.Model() as model:

            mean = pm.Normal("mean", mu=np.mean(y), sd=np.std(y))
            yerr = pm.Normal("yerr", mu=yerr, sd=5.0)
            logamp = pm.Normal("logamp", mu=np.log(np.var(y)), sd=5)
            period = utils.periodprior(lc.t, lc.flux, min_period=0.1)
            logQ0 = pm.Uniform("logQ0", lower=-10, upper=10)
            logdQ = pm.Normal("logdQ", mu=2.0, sd=5.0)
            mix = pm.Uniform("mix", lower=0.0, upper=1.0)

            logS0 = pm.Normal("logS0", mu=np.log(np.var(y)), sd=5)
            dt = lc.t[-1] - lc.t[0]
            logw = pm.Uniform("logw", lower=-20, upper=0)

            kernel = xo.gp.terms.RotationTerm(log_amp=logamp,
                                              period=period,
                                              log_Q0=logQ0,
                                              log_deltaQ=logdQ,
                                              mix=mix)
            kernel += xo.gp.terms.SHOTerm(log_S0=logS0,
                                          log_w0=logw,