calculating speed in simulations

8 views
Skip to first unread message

Ismael V. Brack

unread,
Apr 27, 2026, 8:12:07 PMApr 27
to ctmm R user group
Hello!

I have been playing around some movement simulations in ctmm with an ultimate goal of exploring some unmarked abundance methods for camera trap data.
I am interested in average speed to calculate daily ranges but also realized speeds at each simulated step. For this, I was thinking in using the velocities that are provided in the object containing the simulated locations (columns vx and vy) because it would be faster to run.
However, when I compare the average speed calculated in different ways, I obtain slightly different values (see code below). The average speed calculated using the fitted model in the simulated data (result 2) approximates the expected speed calculated  in the original model used to simulate the data  (result 1) . But when I take the mean average speed calculated from the simulated velocities (result 3), it gives me slightly lower values (I ran this a couple of times and it seems consistent throughout iterations).

Am I seeing this correctly or am I missing something here?
Is it ok to use the simulated velocities (vx and vy) to calculate speeds? 

Appreciate any insights on this!
Thanks!!!
Ismael V. Brack

# Code example --------------------------------------

#Define model parameters
mov.mod <- ctmm(tau=c(5 %#% 'day', 5 %#% 'min'),
                 sigma=1 %#% 'kilometers^2',
                 isotropic=T,
                 range=T
)
#Define the sampling duration/schedule
mov.sam
p <- seq(0,3 %#% 'months', 5 %#% 'min')

# Simulate individual
simul.ind1 <- ctmm::simulate(mov.mod,
                             t = mov.samp)

# Fit model to simulated telemetry data
ind1 <- ctmm.fit(simul.ind1, mov.mod)

# RESULTS:
#1. Based on the original model
summary(mov.mod1,units=F)$CI[4,]
     low      est         high
0.000000    0.124226      Inf 

#2. Based on the fitted model
summary(ind1,units=F)$CI[4,]

      low         est         high
0.1116575     0.1298146       0.1479416 


#3. Mean instantaneous speed based on simulated velocities
summary((sqrt(simul.mod1$vx^2 + simul.mod1$vy^2)))

Min.       1st Qu.    Median    Mean       3rd Qu.      Max.
0.002473   0.066014   0.105608  0.110562   0.150104     0.314782


#4. Mean instantaneous speed based on estimated? velocities
colMeans(speeds(simul.ind1,ind1)[,1:3])

low          est            high
0.02141799   0.11474753     0.24657951 

Reply all
Reply to author
Forward
0 new messages