I ran an estimation in Occbin using mode_compute = 2 (simulated annealing), with the following output:
SA achieved termination criteria.exitflag=0 Final value of minus the log posterior (or likelihood):-1351.046256 POSTERIOR KERNEL OPTIMIZATION PROBLEM! (minus) the hessian matrix at the "mode" is not positive definite! => posterior variance of the estimated parameters are not positive. You should try to change the initial values of the parameters using the estimated_params_init block, or use another optimization routine. MODE CHECK Fval obtained by the minimization routine (minus the posterior/likelihood)): Inf RESULTS FROM POSTERIOR ESTIMATION parameters prior mean mode s.d. prior pstdev rhoz 0.8000 0.5064 NaN beta 0.1500 rhor 0.8000 0.6714 NaN beta 0.1500 vr_pie 1.5000 1.5471 NaN gamm 0.2000 vr_y 0.2500 2.6443 NaN gamm 0.2500 ome1 800.0000 0.6728 NaN gamm 750.0000 ome2 800.0000 12911.3524 NaN gamm 750.0000 vr_s1 0.0200 0.1430 NaN gamm 0.0150 vphi 75.0000 79.2815 NaN norm 20.0000 vphiW 75.0000 75.7401 NaN norm 20.0000 xi 1.5000 1.6821 NaN gamm 1.1350 del2 0.0100 0.0227 NaN gamm 0.0075 aleph2 0.0000 1.5506 NaN norm 1.0000 sd_BLR 1.0000 2.8757 NaN gamm 0.7500 standard deviation of shocks prior mean mode s.d. prior pstdev e_a 0.0056 0.0088 NaN gamm 0.0042 e_z 0.0003 0.0004 NaN gamm 0.0002 e_R 0.0010 0.0058 NaN gamm 0.0008 e_BLR 0.0100 0.0184 NaN gamm 0.0075 standard deviation of measurement errors prior mean mode s.d. prior pstdev y_obs 0.0052 0.0094 NaN gamm 0.0039 pie_obs 0.0004 0.0021 NaN gamm 0.0003 I_obs 0.0150 0.0537 NaN gamm 0.0112 n_obs 0.0040 0.0020 NaN gamm 0.0030
I am not suprised that the estimation failed, i.e. the posterior kernel problem was expected. However, I was hoping to use the mode_check plots to identify issues and improve my priors/settings for a second run. Instead, the mode_check plots are all utterly useless with the function failing to evaluate in the vicinity of the located mode (see attached file).
PH_CheckPlots1.pdf (8.3 KB)
Is there any reason why mode_check should have failed like this? My next step is probably to use mode_compute = 6, but since even mode_compute = 2 took seven days to reach this point I was hoping to diagnose issues before running mode_compute = 6 (which I imagine will take much longer).