Пример #1
0
    def getInitEmceePos(self, nwalkers=None, init_pars=None):
        if init_pars is None:
            rough_mean_now, rough_cov_now = \
                self.approxCurrentDayDistribution()
            # Exploit the component logic to generate closest set of pars
            dummy_comp = Component(mean=rough_mean_now,
                                   covmatrix=rough_cov_now,
                                   form=self.model_form)
            init_pars = Component.internalisePars(dummy_comp.getPars())

        init_std = Component.getSensibleInitSpread(form='sphere')

        # Generate initial positions of all walkers by adding some random
        # offset to `init_pars`
        if nwalkers is None:
            npars = len(init_pars)
            nwalkers = 2 * npars
        init_pos = emcee.utils.sample_ball(init_pars, init_std, size=nwalkers)
        # force ages to be positive
        init_pos[:, -1] = abs(init_pos[:, -1])
        return init_pos
Пример #2
0
    def getInitEmceePos(self, nwalkers=None, init_pars=None):
        if init_pars is None:
            rough_mean_now, rough_cov_now = \
                self.approxCurrentDayDistribution()
            # Exploit the component logic to generate closest set of pars
            dummy_comp = Component(mean=rough_mean_now,
                                   covmatrix=rough_cov_now,
                                   form=self.model_form)
            init_pars = Component.internalisePars(dummy_comp.getPars())

        init_std = Component.getSensibleInitSpread(form='sphere')

        # Generate initial positions of all walkers by adding some random
        # offset to `init_pars`
        if nwalkers is None:
            npars = len(init_pars)
            nwalkers = 2 * npars
        init_pos = emcee.utils.sample_ball(init_pars, init_std,
                                           size=nwalkers)
        # force ages to be positive
        init_pos[:, -1] = abs(init_pos[:, -1])
        return init_pos