In my current project I am dealing with a model consisting of 6 parameters and 2 outputs. The underlying model is inherently of stochastic nature as both the base-model is stochastic and there is an observational model on top.
I have found indicators that the parameters are unidentifiable in practice. The ,correct" parameters seem to lie on a one-dimensional surface which can be described via some polynomial functions. The topology of this surface implies heavy dependance of the posterior on the prior (which of course is normal to a certain extent).
Can anyone provide advice on how to tackle such a problem? A sort of dimension reduction seems to help but in general it seems unclear how to obtain the relationships between the parameters.
for this case, you have a couple of options, for example using any free-form Jacobian model as the inference network (e.g. Flow Matching or Free Form Flows instead of Normalizing Flows), or jointly training an autoencoder to project to your target dimension first. I would recommend the former, if you are not absolutely 100% sure of the precise dimensionality of the parameter manifold.
I didn’t quite catch that. If you want to infer 6 independent parameters from 2 observables, then the problem is indeed vastly underdetermined and the prior will matter a lot. With regard to posterior inference, there is nothing special about the setting and the posterior should capture all information, apart from the fact that your observables will not reduce a ton of prior uncertainty. As per Lars’ suggestion, I would go with FlowMatching, as it can work out multimodalities in low-dimensional data better than most normalizing flows.
thank you for bringing flow matching to my attention. It does seem to offer many advantages over discrete normalizing flows especially since the considered models are likely to grow in parameter size. I hope I have some intial results in a few days!
Maybe a bit about the model: The model is an SDE compartmental model. I have analyzed structural identifiability of the corresponding ODE model with the matlab tool “strike-goldd” and the result is that the model is identifiable in theory, so there is a bijection between the set of possible outputs (knowledge of the two outputs for any time-point) and parameters. I am seeing the same unidentifiability in bayesflow when looking at the ODE version only.