Dispersal movements and CTMM

610 views
Skip to first unread message

Sérgio Ferreira

unread,
Oct 31, 2020, 9:30:51 PM10/31/20
to ctmm R user group
Hi Chris,

first of all thanks for the contents presented on the last Webinar which clarified a lot some remained doubts I had before. I am very glad to see the improvements in CTMM and It is very enjoyable work with this tool for telemetry analysis. Now, I'm becoming a little bit more confident and fluent with CTMM. As a consequence, new challenges and new doubts are raising.

My first question: I have some Pumas samples with a well featured dispersal movement at the beginning of the data sample, after past a few months the animal established Its home range area very far away from the initial point of the track. As the full data sample contain two distinct movements, should I split the data in two sub datasets and treat these movements separately? I found one paper about "Marcher" package, you are there, but I felt that "Marcher" has the main focus on migratory movement and home range shifts, may I wrong in this interpretation? My concern is do all the process taking in account auto-correlation and avoid an arbitrary cut to separate both movements. Also, during last webinar someone told something about the cluster package named "SegClust2D". I took a look at the paper of this package and I identified clear differences between "marcher" and "segclust2D" approach, something like BICxHMM (Bayesian Information Criterion X Hidden Markov Models), worse, I visited the segclust2D homepage and browsed through Its vignette, which seems to be more easy to understand and run into R than "marcher". Now, I am a bit more confused about what is the best choice to work with this kind of data properly and keep on working with my analysis in companion of CTMM? Again I find my self in a human uncertainty field, because sometimes "easy" could be mean hard. :-) 
 
The second question: You told, in webinar, that occurrence function only shows up the uncertainty around points where animal walked through in the past. If I'll use occurrence map yielded by CTMM to overlap areas where animal walked through against a land-use map to validate animal habitat and space preferences, could be It a mistaken use of occurrence map and occurrence function?

Third question: CTMM Overlap function only calculates animals overlaps? Or could be possible calculates overlaps between animal space used and land use area (forested, agricultural and anthropized areas)? 

Fourth question: There is some paper or vignette about Speed function? I am facing some problems to make this function runs out of the box properly with my samples. 

Five question: When variogram shows up a not resident movement for any animal, should I either jump out of analysis or go to the next step and apply the Fit function? I am asking that because I already ran this task with this heterogeneous dataset (home range and dispersal movement together) and It took a long time to finish the calculations and bring the summary outputs, almost a entire day. To produce a more realistic results from the others CTMM functions (speed(s), occurrence...) It is always necessary Fits the model before under any circumstances, right?

Best regards,

Sergio.

Christen Fleming

unread,
Nov 1, 2020, 12:30:26 AM11/1/20
to ctmm R user group
Hi Sergio,

  1. If you want to do range estimation, then you will want to segment your data. Segmentation is an open problem, but I have heard good reports about segclust2D. It does not account for autocorrelation, but has a very robust/exhaustive algorithm for detecting the change points.
  2. I think that's a valid use. I would take expectation values by exporting the PMF.
  3. As with (2), you would want to calculate expectation values with the exported PMF. For instance, sum(PMF*NDVI) gives you the (point estimate of) mean NDVI value that the animal sampled during the observation period.
  4. https://movementecologyjournal.biomedcentral.com/articles/10.1186/s40462-019-0177-1
  5. I'm not exactly sure what you are asking, but such a model could potentially be okay for speed() and occurrence(), where consistent short-lag behavior is more critical, though it wouldn't be okay for akde().

Best,
Chris

Sérgio Ferreira

unread,
Nov 10, 2020, 8:19:42 PM11/10/20
to ctmm R user group
Hi, Cris!

Thanks for the prompt answers.

Sorry for my ignorance: PMF means? Even you not sure about my question (number 5) you answered my doubt.

I ran speed() function as It is in the paper link you mentioned above, but I got an error. I searched for similar errors in the forum, but I wasn't able to find something to help me get through It.

> speed(FIT, f09)

Error in UseMethod("speed") :
  no applicable method for 'speed' applied to an object of class "list"

# Summary from fitted model

$name
[1] "OUF anisotropic error"

$DOF
    mean     area           speed
111.0297  214.5005  232.5229

$CI
                                             low                 est                  high
area (square kilometers) 62.071438    71.293637    81.145235
τ[position] (days)                2.900799      3.362523       3.897739
τ[velocity] (minutes)           8.417983      9.916904     11.682726
speed (kilometers/day)    17.025713   18.195146     19.363575


Have you any idea what I missed in the prior steps of speed() ?

The distance() function can be used to find a distance traveled by animal?

Best regards,

Sergio.

Christen Fleming

unread,
Nov 11, 2020, 3:54:56 PM11/11/20
to ctmm R user group
Hi Sergio,

PMF is the probability mass function. It gives the probability mass per cell and sums to one: https://en.wikipedia.org/wiki/Probability_mass_function

I'm guessing one of the arguments is a list (instead of a ctmm and telemetry object) or you have another package loaded that has a speed() method, like move.

See help("distance"). This function calculates distances between distributions, such as for quantifying range shifts. For the distance traveled by the animal, you can just multiple the speed() by the time period.

Best,
Chris

Sérgio Ferreira

unread,
Nov 11, 2020, 4:59:48 PM11/11/20
to ctmm R user group
Hi Chris,

I have to apologize with you, I appended the wrong output error message when I pasted in the last post.

> speed(f09,FIT, robust=TRUE)

Where "f09" is a telemetry object and FIT is a CTMM object.

The correctly error/warning output:

                                              low  est  high
speed (meters/second)    0      Inf   Inf

Warning message:
In speed.ctmm(CTMM, data = object, level = level, robust = robust,  :
  Movement model is fractal.

Thanks!

Best,

Sergio.

Christen Fleming

unread,
Nov 11, 2020, 9:48:00 PM11/11/20
to ctmm R user group
Hi Sergio,

Its probably either the case that the data are too coarsely sampled to estimate speed and distance or there is location error that needs to be modeled better.

It is not commonly acknowledged that not all data have the quality necessary to estimate speed and distance.

Best,
Chris

Sérgio Ferreira

unread,
Nov 12, 2020, 7:47:54 AM11/12/20
to ctmm R user group
Hi Chris,

intentional gaps in collar schedule could affect speed and distance estimates? Something like to acquire one fix per hour at night and only one during the daylight. That is the case of this sample.

Tks,

Sergio. 

Christen Fleming

unread,
Nov 14, 2020, 9:34:13 PM11/14/20
to ctmm R user group
Hi Sergio,

To estimate speed/distance, you need the sampling rate to be high enough that there is some persistence of velocity between fixes. There can be some gaps, but there needs to be some finer scale data too. Daily sampling can be adequate for a global migration, but would not be good enough for most range resident ungulates.

Best,
Chris

ross.co...@gmail.com

unread,
Jan 20, 2021, 12:45:27 AM1/20/21
to ctmm R user group
Hi Chris,
I'll piggyback here as my question is related and I think it will be brief. I have been following Noonan et al. (2019) to see if I could calculate distance moved by tortoises. With a sampling interval of ~4 days, I believe my data to be (much) too coarse. On nearly a third of tortoises tracked, I completed the model selection and the summary sometimes included speed and rarely included velocity. I take that when speed and velocity values were not provided in the summary of the selected model that they could not be calculated due to the coarseness of the data? I sought to see if the data followed the 3*velocity > sampling interval guideline provided in Noonan et al. (2019). While I didn't work all the way through the analysis (using the coati example as my guide) to calculate movement distances, I imagine movement distances are incalculable when speed and velocity values are missing in the model summary. 
Regards,
Ross

Christen Fleming

unread,
Jan 20, 2021, 9:17:59 PM1/20/21
to ctmm R user group
Hi Ross,

Yes, when you don't see RMS speed and velocity autocorrelation timescale estimates in the selected movement model, the property of continuous velocities was not supported by the data and so you can't estimate speeds with those data. In your case, it's probably because the data are too coarse. As an alternative proxy of movement/activity, at some point I will have a paper on comparing diffusion rates when data are too coarse to estimate speed , yet are fine enough to estimate diffusion. That will work as long as tau_position is supported.

Best,
Chris

ross.co...@gmail.com

unread,
Jan 21, 2021, 8:37:45 AM1/21/21
to ctmm R user group
Thanks for the insights, Chris.
Regards,
Ross

Reply all
Reply to author
Forward
0 new messages