kidusasfaw / spatPomp

R package for statistical inference of spatiotemporal partially observed Markov processes
GNU General Public License v3.0
11 stars 10 forks source link

Best practice for including time-varying asymmetric movement rates between units #18

Closed Koohoko closed 1 year ago

Koohoko commented 1 year ago

Hi Developpers,

Thank you so much for developing this exciting package!

I am a beginner of spatPomp/Pomp and I have no previous experience using them, and it seems there is still limited resources on how to use spatPomp. I found that in your measle spatPomp model, the movement matrix was hard-coded into a Csnippet. Would you kindly advise on what is the best way to incorporate a time-varying asymmetric movement rates between units into a spatPomp model? Should I include a 3-D matrix (for time, unit u, and unit v) in a Csnippet? Or is there any other more "elegant" way to do that (e.g. would it be possible to include this 3-D matrix into the covariate table)?

Thank you again!

Best, Haogao

ionides commented 1 year ago

Hi Haogao,

You are correct that there are still limited published examples of spatPomp models, and all the ones of which I am aware are listed at https://kidusasfaw.github.io/spatPomp/. You raise a good question, which also arises in work that I am currently involved in, and I should be able to make the code public soon, hopefully within a month.

Briefly, both the ways you suggest are possible. Which way is more elegant and efficient may depend on the details of the situation. If there are relatively few units, each with a long time series of measurements, then using the covariate table facility will be better. If there are many units over a shorter time period, it may be effective to extend the hard-coding approach that is used for the measles spatPomp example. That is what we are doing for the current study that I mentioned.

Best, Ed

Edward L. Ionides Associate Chair for Undergraduate Studies and Professor, Department of Statistics, University of Michigan 1085 South University, Ann Arbor, MI 48109-1107 email: @.*** phone: 734 615 3332 office: 453 West Hall

On Mon, Sep 11, 2023 at 8:18 AM Haogao Gu @.***> wrote:

Hi Developpers,

Thank you so much for developing this exciting package!

I am a beginner of spatPomp/Pomp and I have no previous experience using them, and it seems there is still limited resources on how to use spatPomp. I found that in your measle spatPomp model, the movement matrix was hard-coded into a Csnippet. Would you kindly advise on what is the best way to incorporate a time-varying asymmetric movement rates between units into a spatPomp model? Should I include a 3-D matrix (for time, unit u, and unit v) in a Csnippet? Or is there any other more "elegant" way to do that (e.g. would it be possible to include this 3-D matrix into the covariate table)?

Thank you again!

Best, Haogao

— Reply to this email directly, view it on GitHub https://github.com/kidusasfaw/spatPomp/issues/18, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABKAFT6EKPBY4WAESCREGN3XZ36SVANCNFSM6AAAAAA4THONJA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

Koohoko commented 1 year ago

Dear Prof. Inoides,

Thank you so much for the clarification, I think at the moment I would also go for the hard-coding solution, probably I would write a customised function for generating different Csnippets for different models.

I would like to take this opportunity to thank you and the team again for these amazing work. I am currently trying to learn SpatPomp model and hopeful I can use this framework to investigate a question in COVID-19 transmission which I am really interested in.

Best, Haogao