示例#1
0
    def tear_down(self):
        MetropolisMH.tear_down(self)
        fit = self._fit

        # Restore ARF to original state
        for specresp, arf in zip(self.backup_arfs, self.arfs):
            arf.specresp = specresp
示例#2
0
    def tear_down(self):
        MetropolisMH.tear_down(self)
        fit = self._fit

        # Restore ARF to original state
        for specresp, arf in zip(self.backup_arfs, self.arfs):
            arf.specresp = specresp
示例#3
0
    def __init__(self, fcn, sigma, mu, dof, fit, *args):
        MetropolisMH.__init__(self, fcn, sigma, mu, dof, *args)

        self._fit = fit
        if hasattr(fit.model, 'teardown'):
            fit.model.teardown()
        self.srcarfs, self.bkgarfs = search_arfs(fit)

        # Save a copy of original ARF
        self.arfs = flatten_arfs(self.srcarfs, self.bkgarfs)
        self.backup_arfs = [arf.specresp.copy() for arf in self.arfs]

        self.simarf = None
示例#4
0
    def __init__(self, fcn, sigma, mu, dof, fit, *args):
        MetropolisMH.__init__(self, fcn, sigma, mu, dof, *args)

        self._fit = fit
        if hasattr(fit.model, 'teardown'):
            fit.model.teardown()
        self.srcarfs, self.bkgarfs = search_arfs(fit)

        # Save a copy of original ARF
        self.arfs = flatten_arfs(self.srcarfs, self.bkgarfs)
        self.backup_arfs = [arf.specresp.copy() for arf in self.arfs]

        self.simarf = None
示例#5
0
    def init(self,
             log=False,
             inv=False,
             defaultprior=True,
             priorshape=False,
             priors=(),
             originalscale=True,
             scale=1,
             sigma_m=False,
             p_M=.5,
             simarf=None,
             p_M_arf=.5,
             sigma_arf=0.1):
        # nsubiters is missing from init() to indicate that nubiters=1 for
        # full bayes

        if isinstance(simarf, PCA1DAdd):
            self.simarf = simarf
        else:
            self.simarf = ARFSIMFactory()(simarf)

        if not isinstance(self.simarf, PCA1DAdd):
            raise TypeError("Simulation ARF must be PCA for FullBayes" +
                            " not %s" % type(self.simarf).__name__)

        self.accept_arfs = [0]
        self.p_M_arf = p_M_arf
        self.rrsig = sigma_arf
        return MetropolisMH.init(self, log, inv, defaultprior, priorshape,
                                 priors, originalscale, scale, sigma_m, p_M)
示例#6
0
    def init(self, log=False, inv=False, defaultprior=True, priorshape=False,
             priors=(), originalscale=True, scale=1, sigma_m=False, p_M=.5,
             simarf=None, nsubiters=10):

        # Note that nsubiters is used as a dummy parameter to indicate the default
        # value.  See the function WalkWithSubIters.__call__() 

        if isinstance(simarf, (PCA1DAdd, SIM1DAdd)):
            self.simarf = simarf
        else:
            self.simarf = ARFSIMFactory()(simarf)

        return MetropolisMH.init(self, log, inv, defaultprior, priorshape,
                                 priors, originalscale, scale, sigma_m, p_M)
示例#7
0
    def init(self, log=False, inv=False, defaultprior=True, priorshape=False,
             priors=(), originalscale=True, scale=1, sigma_m=False, p_M=.5,
             simarf=None, p_M_arf=.5, sigma_arf=0.1):
        # nsubiters is missing from init() to indicate that nubiters=1 for 
        # full bayes

        if isinstance(simarf, (PCA1DAdd,)):
            self.simarf = simarf
        else:
            self.simarf = ARFSIMFactory()(simarf)

        if not isinstance(self.simarf, (PCA1DAdd,)):
            raise TypeError("Simulation ARF must be PCA for FullBayes" + 
                            " not %s" % type(self.simarf).__name__)

        self.accept_arfs = [0]
        self.p_M_arf = p_M_arf
        self.rrsig = sigma_arf
        return MetropolisMH.init(self, log, inv, defaultprior, priorshape,
                                 priors, originalscale, scale, sigma_m, p_M)
示例#8
0
    def init(self,
             log=False,
             inv=False,
             defaultprior=True,
             priorshape=False,
             priors=(),
             originalscale=True,
             scale=1,
             sigma_m=False,
             p_M=.5,
             simarf=None,
             nsubiters=10):

        # Note that nsubiters is used as a dummy parameter to indicate the default
        # value.  See the function WalkWithSubIters.__call__()

        if isinstance(simarf, (PCA1DAdd, SIM1DAdd)):
            self.simarf = simarf
        else:
            self.simarf = ARFSIMFactory()(simarf)

        return MetropolisMH.init(self, log, inv, defaultprior, priorshape,
                                 priors, originalscale, scale, sigma_m, p_M)