segmenting tracks, variograms

95 views
Skip to first unread message

Michaela A Kratofil

unread,
Sep 19, 2025, 12:52:48 PMSep 19
to ctmm R user group
Hi Chris/group,

I'm working with tag data from a couple of dolphins and have a few questions regarding segmentation and averaging subsequent UDs. Both animals had clustered/resident movements in one area, then moved to a another area for ~2-3 weeks, and then back to the first area. Based on the variograms (see attached "originals"), we segmented the data for each into three different segments to capture each behavior/range pattern and then average these segment specific UDs with mean(). 

I attached the variograms for the segmented tracks for each individual. The second segment for each is more of a "dispersal/exploration" type movement, which I suspect is why there isn't much of an asymptote. These aren't massive exploratory phases: both dolphins remain on the West Florida Shelf for the entirety of their tracking period (although this is obviously a large area). 

My first question is whether we should be averaging the segment-specific UDs for all segments (or only 1 and 3, which are more "range resident")? And any other thoughts on these variograms?

My other question is whether there is an appropriate reference/paper for this process of segmenting tracks and averaging UDs? Just wondering how to cite this process in our methods.

Thank you!
Michaela
Bill_variogram_original.png
Ken_variogram_original.png
Bill3_Ken3_Animals_Variograms.pdf

Christen Fleming

unread,
Sep 25, 2025, 11:18:27 AMSep 25
to ctmm R user group
Hi Michaela,
  1. It depends on what range you want to estimate, in terms of their associated behaviors. If you include all, the dispersal/exporatory variograms don't look that bad. The data do appear to be irregular (I assume from fixes at the surface). You might tweak the dt argument and try fast=FALSE to see if you can improve the visual quality of the variograms, but that doesn't impact the model fitting.
  2. I did not publish this specific method, and if anyone is interested in leading such a publication I would support that.
Best,
Chris

Michaela A Kratofil

unread,
Oct 2, 2025, 1:01:41 PMOct 2
to ctmm R user group
Great, thanks so much Chris! 

I have two other questions:

1. For these two individuals (Bill, Ken), we will use mean() to get the individual-level UDs for plotting and reporting individual-level estimates. We also have several other tagged dolphins and will be using mean() across all individual UDs to get an average for the species. Should I mean() on all individuals plus Bill and Ken's three segmented UDs or is there an easy way to do all individuals plus Bill and Ken's single mean UD (if that makes sense)?

2. My understanding is that if we run akde() on a list of individuals (telemetry and movement model objects), all individuals will have a UD estimated on the same grid. However, when I plot any combination of different individuals (that were run together in akde()), it seems that they have different grids (see attached example). Just wondering if this is supposed to happen or if there is a common grid that is easily accessible from the resulting akde() output?

Thank you!
Michaela
bill_angel_uds_nonsegmented_grid_comparison.png

Christen Fleming

unread,
Oct 17, 2025, 2:59:28 PMOct 17
to ctmm R user group
Hi Michaela,

mean(...,sample=FALSE) will produce the mean distribution under the assumption that the included UDs comprise the entire (statistical) population of UDs. The average can also be weighted by time spent.
pkde(...) will produce the (ecological) population distribution estimate under the assumption that the included individuals comprise a representative sample of a much larger (ecological & statistical) population.
For the latter, you could include the individual segmented UDs with proportional weights - tell me if that doesn't work.

If you calculate the AKDEs separately, they will have different grids unless you supply a grid argument - see help('akde'). Is this what you are asking?

Best,
Chris

Michaela A Kratofil

unread,
Oct 22, 2025, 7:11:55 PM (14 days ago) Oct 22
to ctmm R user group
Thanks, Chris! 

On the grid question: The UDs that I attached a plot of were from an output of akde() where I fed a list of telemetry and ctmm objects. Based on the 'akde' documentation my understanding is that all UDs for the list of individuals in the ctmm and telemetry objects will be calculated on the same grid, but that doesn't seem to be the case based on the plot I sent (i.e., I did not calculate those individuals' UDs separately). If supplying a grid argument is what is needed, then I can obviously do that, but the documentation suggests that as long as the list of telemetry and ctmm objects are supplied to akde then a common grid will be used so I'm just trying to understand why those grids look different. 

Thank you!
Michaela

Christen Fleming

unread,
Oct 26, 2025, 2:20:47 AM (11 days ago) Oct 26
to ctmm R user group
HI Michaela,

I understand your question now. The plotted grid denotes the bandwidth. You can turn that off with col.grid=NA. It's only visual to give a sense of the natural resolution of the estimate.

Best,
Chris
Reply all
Reply to author
Forward
0 new messages