diff --git a/pydsge/estimation.py b/pydsge/estimation.py index 3cedd520..5d50cb2d 100644 --- a/pydsge/estimation.py +++ b/pydsge/estimation.py @@ -188,10 +188,15 @@ def llike(parameters, par_fix, linear, verbose, seed): linear_pa = linear def lprob( - par, par_fix=par_fix, linear=None, verbose=verbose > 1, temp=1): + par, par_fix=par_fix, linear=None, verbose=verbose > 1, temp=1, use_prior_transform=use_prior_transform): - if use_prior_transform: - par = bptrans(par) + with warnings.catch_warnings(record=True): + warnings.filterwarnings("error") + try: + if use_prior_transform: + par = bptrans(par) + except Exception as err: + return -np.inf lp = lprior(par) diff --git a/pydsge/mpile.py b/pydsge/mpile.py index 72f96dc6..b8e87e1e 100644 --- a/pydsge/mpile.py +++ b/pydsge/mpile.py @@ -95,7 +95,7 @@ def prior_sampler( if check_likelihood: lprob_raw = serializer(self.lprob) def check_func(p): return lprob_raw( - p, linear=None, verbose=verbose > 1) + p, linear=None, verbose=verbose > 1, use_prior_transform=False) elif try_parameter: check_func = serializer(self.set_par)