Hello all,
My group have used a few of the hBayesDM models with great success on our data, and we are looking to continue using it to model a two-stage decision making task. There are three available functions to use for this task in the packages (ts_par4, ts_par6, and ts_par7) – we wanted to model our data using each of these functions, and then compare them using the recommended printFit() argument to see which fit the data best – then extract the parameters from the ‘winning’ model and continue our analyses from there. The code we used to generate these models is below:
mod_4param <- ts_par4(data = msdmdat, niter = 2000, nwarmup = 1000, nchain = 4, ncore = 4)
mod_6param <- ts_par6(data = msdmdat, niter = 2000, nwarmup = 1000, nchain = 4, ncore = 4)
mod_7param <- ts_par7(data = msdmdat, niter = 2000, nwarmup = 1000, nchain = 4, ncore = 4)
At the end of each model convergence, an error message is produced – “Warning: Pareto k diagnostic value is 4.63. Resampling is disabled. Decreasing tol_rel_obj may help if variational algorithm has terminated prematurely. Otherwise consider using sampling instead.”
The models do converge, and when we compare the model fits using “printFit(mod_4param, mod_6param, mod_7param, ic="looic")”, we get another pareto-k error reference:
Warning messages:
1: Some Pareto k diagnostic values are too high. See help('pareto-k-diagnostic') for details.
2: Some Pareto k diagnostic values are too high. See help('pareto-k-diagnostic') for details.
3: Some Pareto k diagnostic values are too high. See help('pareto-k-diagnostic') for details.
Increasing the argument for ‘nthin’ did not ease these errors. We examined our behavioral data to confirm that - in general, across most participants - the task was being performed at sufficient levels of understanding by our participants, and we are seeing the behavioral performance patterns that we would expect from this task – so, we don’t think that there is an essential flaw in our data that would make it too noisy for model compatibility. As we confirmed this, we tried this same modelling process with the example data, and saw the same errors in the model fit comparison process. We also checked the ‘extract_ic()’ output for these models to see the distribution of the pareto k’s.
We are hoping for some guidance on how to better understand the fit of our data in each of these models, as ultimately our goal is extract the individual parameters from the best fitting model for this task and compare to some of our other tasks that participants completed. We saw references in another conversation thread (https://groups.google.com/g/hbayesdm-users/c/q05M9W959CI) to edit the stan code to “keep the trial-level likelihood and compute LOOIC on the resulting matrix”. We suspect that this may be our best path forward, but we are open to other advice/guidance on how to proceed! One basic aim would be to get more detail about which subjects are being well fit, and which poorly fit, by the model - how would we get this information?
If modifying the stan code is the ideal route, I am curious for guidance how to approach and interpret that process. Another possibility is that the model may need some modification - maybe some individuals/groups are better fit by a different architecture? What avenues are open to us here?
Thank you in advance for any insight!