Adaptative time step in DBN inference

The front end.
Post Reply
jgomezgIIT
Posts: 5
Joined: Mon Jul 04, 2022 4:11 pm

Adaptative time step in DBN inference

Post by jgomezgIIT »

Hello everybody!

First of all, thank you a lot for the support offered in this forums which are tremendously helpful for all of us.

My problem is the following; I am trying to model a dynamical system which can be easily translated into DBNs. I have noticed that the problem is stiff; there are several time scales implied. The "microscopic" simulation of the problem would be simple. Instead of incorporating a fixed time step, I can start modellling with short time steps and as long as the fast dynamics stabilize I increase the time step. I need to do this otherwise the simulation time using fixed time steps increases beyond my available computation time.

Meanwhile the implementation as a DBN using a fixed time step is simple and straightforward, I can not figure out how it would be translated with a variable time step.

From my understanding, it is very important to unroll the DBN up to the point I want to perform inference without "breaking" the process since no evidence is updated in between. But if I have a variable time step, the only way I imagine doing this in GeNIe is to unroll the network until I want to increase the time step, then to redefine the temporal cpts and to continue the unrolling process from this point up to the next step. But I know this would lead to incorrect final inference results since this would imply setting an "artificial" evidence between this updating steps.

Is it possible to do this correctly in GeNIe? is my approximation to the problem correct?. I am open for your suggestions.

Thank you very much

Juan Luis
marek [BayesFusion]
Site Admin
Posts: 408
Joined: Tue Dec 11, 2007 4:24 pm

Re: Adaptative time step in DBN inference

Post by marek [BayesFusion] »

I'm afraid GeNIe will not do automatically what you want to do. Perhaps you can try running the model at a rougher time step to figure out where interesting things are happening and then with a finer time step in places that you discover in the first run? If you do it through SMILE, it should not be hard to do. In GeNIe, it will be cumbersome, of course, and it will require a lot of manual labor (running, interpreting, modifying the model, running again, etc.).

I hope this helps,

Marek
jgomezgIIT
Posts: 5
Joined: Mon Jul 04, 2022 4:11 pm

Re: Adaptative time step in DBN inference

Post by jgomezgIIT »

Thanks for your insight Marek. It is helpful. As you mention in SMILE should be easier to implement.

Then another question arises, which probably is related to my limited knowledge in probabilistic graphical models. But, in a time sequence, is it possible to stop the inference and then with given marginal probabilities (inferences at the instant we stop the unrolling to try increase the time step) to restart it back?. This way, yes, we can update cpts with no problems and it could be a great solution, but I thought the inference would not be correct because there is no way to store the joint probability distribution at a given time, so we must resort to input marginal probabilities as new evidence.

Thank you very much,

Juan Luis
marek [BayesFusion]
Site Admin
Posts: 408
Joined: Tue Dec 11, 2007 4:24 pm

Re: Adaptative time step in DBN inference

Post by marek [BayesFusion] »

I'm afraid you will not be able to stop inference in a DBN in the middle, as we covert the DBN to a BN by unrolling and then run belief updating. You can control your inference by running it for a smaller number of steps, checking whether the condition that you were looking for has happened, and then, if not, issuing it for a larger number of steps. If yes, you will of course know where it happened and can run the inference with finer steps.
Alternatively, you should be able to take the results for the first run (say, steps 1-20) and modify the DBN so that the results of the step 20 can serve as the initial value of another run, so practically the new run will be for steps 20-40 for example). With SMILE you should be able to do that automatically. With GeNIe, you will have to manually modify the tables in your DBN. Does this help?

Marek
jgomezgIIT
Posts: 5
Joined: Mon Jul 04, 2022 4:11 pm

Re: Adaptative time step in DBN inference

Post by jgomezgIIT »

Hi,

Yes, it is absolutely helpful! and the fast assistance you give us on the forums more particularly!.

I think your suggestion of checking splitting the problem in shorter intervals it is the most straightforward solution right know. As you mention it is not possible to "stop" the inference in the middle of the unrolling. Thank you a lot!

Juan Luis
Post Reply