@@ -379,9 +379,14 @@ function AbstractMCMC.step(
379379 new_params = AdvancedMH. propose (rng, sampler, model, current_state; stepsize = stepsize)
380380 # Calculate the log acceptance probability and the log density of the candidate.
381381 new_log_density = AdvancedMH. logdensity (model, new_params)
382+
383+ # Just to initialize: if you pass state, it just reads the old log_density (initialized as false). in this case, compute it by passing the actual parameter values
384+ current_log_density =
385+ isa (AdvancedMH. logdensity (model, current_state), Bool) ? AdvancedMH. logdensity (model, current_state. params) :
386+ AdvancedMH. logdensity (model, current_state)
387+
382388 log_α =
383- new_log_density - AdvancedMH. logdensity (model, current_state) +
384- AdvancedMH. logratio_proposal_density (sampler, current_state, new_params)
389+ new_log_density - current_log_density + AdvancedMH. logratio_proposal_density (sampler, current_state, new_params)
385390
386391 # Decide whether to return the previous params or the new one.
387392 new_state = if - Random. randexp (rng) < log_α
@@ -573,7 +578,7 @@ function MCMCWrapper(
573578 end
574579
575580 sample_kwargs = (; # set defaults here
576- :init_params => deepcopy (init_params),
581+ :initial_params => deepcopy (init_params),
577582 :param_names => param_names,
578583 :discard_initial => burnin,
579584 :chain_type => MCMCChains. Chains,
641646
642647function _find_mcmc_step_log (mcmc:: MCMCWrapper )
643648 str_ = @sprintf " %d starting params:" 0
644- for p in zip (mcmc. sample_kwargs. param_names, mcmc. sample_kwargs. init_params )
649+ for p in zip (mcmc. sample_kwargs. param_names, mcmc. sample_kwargs. initial_params )
645650 str_ *= @sprintf " %s: %.3g" p[1 ] p[2 ]
646651 end
647652 println (str_)
0 commit comments