Hello,
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).