Monitoring a population with MSORD

questions concerning analysis/theory using program MARK

Monitoring a population with MSORD

Postby violetblue » Fri Jun 28, 2019 2:06 am

Hi, I'm hoping to understand how the parameters of a MSORD model can change with the addition of another season of data.

I am involved in a long-term monitoring project. After every nesting season, the entire dataset is modelled with the MSORD method as described in the MARK User Guide, but implemented using RMark code.

What is a bit disconcerting is that modelling with an additional season of records results in minor changes in past season estimates.

I'm aware that I need to set 'threads=1' as using multiple threads will result in some differences, however I'm not sure why these estimates will change.

Can anyone shed some light on this please?
violetblue
 
Posts: 23
Joined: Tue Nov 06, 2018 11:16 pm

Re: Monitoring a population with MSORD

Postby cooch » Fri Jun 28, 2019 9:14 am

violetblue wrote:
What is a bit disconcerting is that modelling with an additional season of records results in minor changes in past season estimates.


Not surprising at all. Consider a simple CJS problem. You have encounter occasions A, B and C. You estimate survival over the interval A -> B, largely based on looking at the relative numbers of individuals seen at occasion C (and therefore known alive at B), versus those not seen. Now, you add a fourth occasion D. Some of the individuals not seen at B, and not seen at C, are seen at D. Meaning, you know they were alive at B, but not observed. So, the additional information in fourth occasion D changes your estimates of survival over the A -> B interval, relative to what you might have generated using only occasions A, B and C. This is easy to confirm for yourself empirically. Take (say) the dipper data, derive survival estimates using only first 4-5 occasions or so. Then do it again using all 7 occasions. Survival estimates for the same intervals will likely differ between the two.

Moral: when estimating parameters where p<1, additional occasions will often (perhaps generally) change some parameter estimates for earlier intervals.

I'm aware that I need to set 'threads=1' as using multiple threads will result in some differences, however I'm not sure why these estimates will change.

Can anyone shed some light on this please?


A bit of a technical thing, but...MARK builds the likelihood by looping over the encounter hsitories -- it does this 'efficiently' by partitioning the encounter histories over the threads your CPU can support, and building up the likelihood for each individual encounter history. The allocation to each thread is effectively random (determined largely by whatever else your computer is doing). And, as such, you might occasionally have a set of encounter histories on a particular thread that yields a slightly different likelihood than a different random set. And, as a result, what MARK reports can differ from run to run. This is generally only a problem for difficult/confounded parameters (say, for example, terminal phi and p in a CJS analysis), or for situations where the parameter is at/near either of the boundaries [0,1]. I would imagine, in theory, that if you use only a single thread (the threads=1 argument you note) would solve this problem, but I haven't personally tested it.

Hope this helps.
cooch
 
Posts: 1628
Joined: Thu May 15, 2003 4:11 pm
Location: Cornell University

Re: Monitoring a population with MSORD

Postby violetblue » Sun Jun 30, 2019 9:11 pm

Thank you so much for the clarification. That makes sense to me.
violetblue
 
Posts: 23
Joined: Tue Nov 06, 2018 11:16 pm


Return to analysis help

Who is online

Users browsing this forum: Google [Bot] and 14 guests