new function rsf.fit() to fit integrated resource selection functions (iRSFs) with autocorrelation-adjusted weighted likelihood

new function mean.ctmm() to calculate population average movement models

new function revisitation() to calculate the distribution of revisitations

new function npr() to calculate non-parametric spatial regressions

new function agde() to calculate autocorrelated Gaussian distribution estimates, with RSF support

new function suitability() to calculate suitability rasters from RSF fit objects

new function rates() to calculate relative encounter rates

new function dt.plot() to inspect sampling intervals

akde() and occurrence() now support RSF-informed kernels and boundary-respecting kernels

summary.ctmm() now outputs diffusion rate estimates

new argument variable for meta() to estimate population diffusion rates, mean speeds, and autocorrelation timescales

new arguments R and SP in plot.telemetry() and plot.UD() for plotting raster and shapefile base layers

new option method=“Encounter” in overlap()

mean.UD() now propagates uncertainties

mean.UD() now functions on occurrence distributions

new convex argument to UD summary(), plot(), and export functions

plot() and raster() now work on 3D UDs

plot.outlie() now works on lists of outlie objects

speed() output now includes DOF estimate for use with meta()

tbind() now works correctly with different projections and calibrations

%#% unit conversion operator can now interpret products and ratios

summary() timescale confidence intervals are now gamma/inverse-gamma more inline with meta()

progress bar added to optimizer() when trace=1

bugfix in IID area CIs

bugfix in ctmm.loglike() when fitting multiple error classes, where some are zero

bugfix in ctmm.boot() when bias estimate exceeds variance parameter

bugfixes in 3D akde()

bugfix in time gridding code when dt is coarse

bugfix in SpatialPoints.telemetry for single individuals

ctmm.fit() can now fit multiple UERE parameters and update uncertain calibration parameter estimates

new function cluster()

new function video()

new function as.sf()

new function tbind()

new argument VMM in simulate(), predict()

new argument timeformat=“auto” in as.telemetry()

new argument verbose in meta()

uere()<- can now assign posterior/updated error estimates from ctmm model objects

bugfix in ctmm.loglike() for circle!=0 and REML

bugfixes in optimzer()

bugfix in ctmm.fit() for 1D processes

bugfix in variogram.fit() for 1D processes

bugfixes in simulate(), predict for 1D processes

bugfix in ctmm.fit() with zero variance models

bugfix in meta() colors when sort=TRUE

bugfixes in ctmm.guess(), ctmm.fit(), speed() for tiny amounts of data

bugfixes in occurrence(), Kalman smoother for IOU process

ctmm.select() now stores IC and MSPE information for summary()

extent objects now include missing columns

extent object longitudes can now cross the international date line

new function meta() for meta-analysis of home-range areas

new function encounter() for the conditional distribution of encounters (CDE)

new function distance() to calculate square Bhattacharyya, Mahalanobis, and Euclidean distances

new function compass() to plot a north-pointing compass

new argument ‘t’ in speed()

new argument ‘axes’ in outlie()

as.telemetry() now accepts most tibble objects

akde() on multiple individuals is now more memory efficient

bugfix in ctmm.fit() for IOU model

bugfix in occurrence() with repeated timestamps

bugfix in summary.ctmm() rowname droped for single parameter CIs

bugfix in outlie() with list input

bugfixes in plot.outlie with zero error

bugfix in variogram() with res>1 and CI=“Gauss”

bugfix in ctmm.select() if stepping OU->OUf->OUF

bugfix in as.telemetry() for Move objects with empty idData slot

bugfix in as.telemetry(), median() when importing single location estimate

bugfix in plot.telemery() with add=TRUE and non-SI units

bugfix in speed() for ctmm objects (no data), where CIs were incorrect

bugfix in median() with >=50% repeating observations

bugfix in summary() for periodic models with tau[velocity]==0

bugfix in occurrence() for PDclamp() error

bugfix in ctmm.select() giving incorrect model names when run indirectly

bugfix in occurrence() with IID autocorrelation model

workaround in export functions where sp objects change timezones

workaround in as.telemetry() when Move idData() names are dropped

workaround in plot.UD() when image() has alpha overflow

improvements to akde(), occurrence() grid argument when incomplete

improvements to overlap() Wishart approximation in bias correction

improvements to cleave()

as.telemetry() location class code improved

as.telemetry() message for marked outliers

jaguar data in sync with ctmmweb

new argument CI=“Gauss” in variogram()

new argument weights in mean.UD()

new argument datum in as.telemetry() – input and ouput datums can now differ

new data ‘jaguar’

bugfix in ctmm.select() for infinte loop

improvements in ctmm.select, ctmm.loglike for collapsing variance/error estimates

rewrite of optimizer’s line search to be more exact & reliable

improvements in optimizer for degenerate likelihood surfaces

improvements in optimization for bad covariance estimates—fit object structure changed

bugfix in uere.fit with multiple location classes in different orders

bugfix in speed when fast=FALSE and sampled models lose features

bugfix in IID pREML CIs

bugfix in ctmm.guess with large errors causing eigen() to fail

bugfix in optimizer expansion search step size not increasing

bugfix in as.telemetry() – MoveStack objects are given a common projection if not projected

improvements to ctmm.select() stepwise selection, especially with error and/or circulation

improvements to ctmm.fit() for nearly linear home ranges

improvements to %#% operator – units of speed supported

bugfix in ctmm.loglike() for BM/IOU models with error

new argument units in plot.outlie()

new options(time.units=‘mean’) and options(time.units=‘calendar’) for %#% operator and display units

ctmm.select() no longer warns when model features are not supported (ctmm.fit does)

compatibility fix for R version 4

new function optimizer()

new function SpatialPolygonsDataFrame.telemetry() for location estimate error circles/ellipses

‘pNewton’ now the default optimization method

‘pHREML’ now the default estimator & all CI names updated

grid argument now supported in akde and occurrence methods

outlie() output now includes CIs with plot method

error-adjusted variogram implemented when fast=FALSE

LOOCV now supported in ctmm.select(), summary()

new buffer argument in occurrence()

head(), tail() methods for telemetry objects

str() method for ctmm objects

new data object ‘pelican’

SpatialPointsDataFrame now includes timestamp

uere(data) <- numeric now overrides all location classes

improved support for ARGOS-GPS hybrid data

missing DOP values now correctly treated as separate location class

bugfix in conditional simulations with dt argument

bugfix in plot.UD gridlines

bugfix in as.telemetry timeout argument when datasets lack timed-out values

stability fixes in ctmm.fit() for BM/IOU models

further stability enhancements in ctmm.loglike() and optimizer

bugfix in simultaneously fit RMS UERE CIs

AICc formulas fixed for tiny n

reduced Z^2 now exactly normalized in UERE objects

minor enhancements to cleave() function

as.telemetry() no longer automatically calibrates e-obs errors (inconsistent with newer devices)

as.telemetry() no longer complains on reverse-time-ordered files

new functions lasso, marquee, and cleave

new functions annotate and color

summary can now compare joint UERE objects to lists of individualized UERE objects

support for UTM locations in as.telemetry

support for GPS-ARGOS hybrid data in as.telemetry & uere.fit

new plot option ext for extent objects

increased numerical precision in ctmm.loglike for 0 < dt << tau, including the limit OU/OUF -> BM/OU

BM/IOU model likelihoods are now exact limits of OU/OUF likelihoods modulo a constant

covariance matrices can now take arbitrary eccentricty and scale

ctmm.boot new argument iterate=FALSE and bugfixes for iterate=TRUE

ctmm.boot now debiases the covariance matrix directly (linearly)

occurrence default dt.max & cor.min arguments now tighter

periodogram functionality restored for one-dimensional data

bugfix in IID ctmm.fit with elliptical errors

bugfix in occurrence when projection origin is far from the mean location

bugfix in akde.list where location errors were not smoothed

bugfix in ctmm.guess/variogram.fit for BM/IOU models

bugfix in speed for IOU models

e-obs calibration cross checked and fixed

ctmm.loglike now returns -Inf when movement and error variance are zero

stability improvements to base R optimizer usage

bugfix in mark.rm argument of as.telemetry

cores option added to ctmm.select

only physical cores now counted by cores arguments

cores option now used in Windows when appropriate

improvements to speed, speeds, ctmm.select for short tracks of data

bugfix in summary where timescale CIs were always (0,Inf)

ctmm.select default now level=1

summary on UERE lists now works with more than one axis

R dependency increased to >=3.5 for parallel functions

bugfix in ctmm.select where OU was not considered over the new OUO/OUf models introduced in v0.5.3

bugfix in ctmm.boot for heteroskedastic errors

multiplicative option depreciated from ctmm.boot

oscillatory (and critically damped) OUO/OUf models now supported, starting with omega option of ctmm()

summary() now works on lists of UERE objects for error model selection

MSPE slots & arguments restructured and fully utilized in both summary and ctmm.select

new method speeds() for estimating instantaneous speeds

speed() more efficient on very coarse data, slightly improved CIs

new complete argument in simulate() and predict() to calculate timestamps and geographic coordinates

now avoiding fastPOSIXct timezone and epoch issues in as.telemetry

outlie() now works on lists of telemetry objects

bugfixes in overlap() CIs

overlap() now robust to bad model fits

new as.telemetry() argument mark.rm to delete marked outliers

bugfix in predict() & occurrence() where eccentricity was dropped from covariances

projection information in Move & MoveStack objects now preserved if possible

identities preserved with newer MoveStack objects

ctmm.boot() better handles parameter estimation near boundaries

e-obs data with missing error/speed/altitude now importing correctly in as.telemetry

correlogram plots now cap estimates to appropriate range

beta optimizer now more aggressive in searching along boundaries

bugfix in ctmm.fit with duplicate timestamps and IID processes without error

bugfix in ctmm.select with pREML & error

summary() on telemetry lists no longer fails on length-1 timeseries

years updated to tropical years and calendar days updated to stellar days

location classes (multiple UEREs) now supported by uere.fit() and uere()<-

uere() forked into separate uere() and uere.fit() methods

AICc slot included in UERE objects for error model selection

overlap() telemetry and CTMM arguments depreciated

fixed bug in as.telemetry() when importing ARGOS error ellipses

e-obs error calibration updated

numerical stability increased in ctmm.fit when distance scales are extreme

Units of measurement down to microns and microseconds now supported

ctmm.select() now builds up autocovariance features stepwise to help with fit convergence

residuals() can now be calculated from (calibrated) calibration data—diagnostic argument removed from uere()

summary.ctmm() now returns DOF[speed] information on individuals

MSPE of ctmm objects was previously w.r.t. in-sample times and is now time averaged

summary.list.ctmm() now returns MSPE when useful

new speed() argument robust for coarse data

options multiplicative & robust added to ctmm.boot to help with parameters near boundaries

E-OBS errors adjusted by empirical results of Scott LaPoint’s calibration data

Telonics Gen4 errors estimates imported with results of Patricia Medici’s calibration data — Quick Fixes not yet fully supported

fixed critical bug in speed()

fixed bug in as.telemetry with projection argument

fixed bugs in ctmm.loglike when !isotropic && error && circle

fixed bug in emulate when fast=FALSE and error=TRUE

fixed bug in new variogram error calculations (v0.5.0) used for plotting

simultaneously fitted UERE’s from ctmm slot “error” can now be assigned to data for plotting

Extensive re-write of the Kalman filter & smoother, now supporting an arbitrary number of spatial dimensions, necessary for ARGOS error ellipse support. (Previously, all multi-dimensional problems were transformed into multiple one-dimensional problems.) Many new models will be supported going forward, based on the v0.5.0 code.

telemetry error vignette “error”

ARGOS error ellipse support in ctmm.fit() and simulate()

plotted variogram errors now estimated from HDOP and no longer assumed to be homoskedastic

as.telemetry() default projections now use robust ellipsoidal statistics

new median.telemetry() method for help with projecting data

(anisotropic & circulation & error) models now exact with 2D Kalman filter & smoother

simulate() & predict() velocities now correct with mean=“periodic”

units argument in speed()

REML and related methods fixed from 0.4.X 1/2 bug

ctmm.loglike COV[mu] bugfix for circular error & elliptical movement

summary() rotation % bugfix with circle=TRUE

parameter boundary bugfix in ctmm.fit() and ctmm.loglike()

fixed bandwidth() bug when weights=TRUE on IID process

variogram.fit() manipulate more appropriate with calibrated errors

fixed bug in plot.variogram for isotropic model fits

fixed bug in ctmm.fit with fitted errors and any(diff(t)==0)

fixed bug in plot.variogram() from stats::qchisq() with k<<1

new speed() method

new ctmm.boot() method

new outlie() method

new export functionality for telemetry class

overlap debias=TRUE option (approximate)

pHREML, pREML, HREML ctmm.fit methods implemented and documented

IID pREML & REML AICc values implemented

MSPE values implemented

new uere()<- assignment method

velocity esimtates now included in predict() [fitting one model to multiple behaviors can result in wildly optimistic confidence intervals]

velocities now included in simulate()

simulate precompute option

as.telemetry drop=TRUE option

as.telemetry will no longer drop individuals with missing data columns

as.telemetry will try to approximate DOP values

as.telemetry imports velocity vectors

as.telemetry default projection orientation now robust with GmedianCOV

plot.UD resolution grid less obnoxious, NA/FALSE contour label option

plot.telemetry error=0:3 options for data with recorded error circles/ellipses

plot.telemetry velocity=TRUE option for data with recorded velocities

plot.variogram bugfixes with telemetry errors

fixed AIC bug in new parameterization code (0.4.0-0.4.1) where isotropic=TRUE model would never be selected

fixed rare endless loop in akde/bandwidth with weights=TRUE

outlier removed from buffalo$Cilla

- projection method for ctmm objects

periodigram vignette

new utility function %#% for unit conversions

new model-fit sampling function “emulate”

summary now works on lists of telemetry objects

new extent method for variogram objects

bugfixes in plot.variogram with fit UERE, tau==0

bugfixes with ctmm.fit/select/summary near boundaries

resetting Polak–Ribiere formula in weighted AKDE conjugate gradient routine

read.table fallback in as.telmetry

R 3.4 compatibility fixes

various improvements to plot.variogram

plot.UD & export can now accept multiple level.UD values

increased numerical precision in ctmm.loglike

SI speeds & diffusion fixed with units=FALSE

AICc formulas updated from univariate to multivariate

ctmm.select more aggressive on small sample sizes where AICc >> AIC

new residuals and correlogram functions

ctmm.fit now has unified options controling optimization & differentiation

ctmm.fit Hessian and pREML calculations 2x faster

new writeRaster method for UD objects

better UD plot boxes with new extent methods

variogram fast=TRUE less biased for irregular data with new res>1 option

variogram fast=FALSE more robust to irregularity

akde() can now handle duplicate times (with an error model)

plot.variogram bugfix for fixed error models [still not quite correct]

Column name preferences in as.telemetry

as.telemetry faster with fread & fastPOSIXct

new trace option for ctmm.fit

new labels option for plot.UD

more robust CIs for pREML, REML

chi-square CIs (area, semi-variance, etc.) more robust when DOF<1

added a FAQ page to the documentation help(“ctmm-FAQ”)

bugfix in occurrence method for BM & IOU models

unit conversion can now be disabled in summary with units=FALSE argument

added trace option to ctmm.select & bandwidth/akde

improved telemetry error support in summary.ctmm and plot.variogram

as.telemetry more robust to alternative column label capitalizations

ctmm.loglike & ctmm.fit more robust when tau_velocity ~ tau_position

Kalman filter & smoother upgraded to Joseph form covariance updates

weighted AKDE implemented, fast option, covered in vignette

overlap arguments & ouput changed/generalized

method akde.bandwidth renamed to bandwidth inline with S3 standards

predict now returns covariance estimates

occurrence distributions now exportable

AKDE overlap bugfixes

summary.ctmm now returns correct RMS speed

bugfix for eccentricity errors

variogram CIs fixed for odd dimensions

variogram.fit can now accept OU models

periodogram rare index bugfix

fixed missing lag in dt-argumented variogram

as.telemetry column identification more robust

as.telemetry defined for MoveStack objects

improved import of ‘move’ objects

preliminary 3D AKDE support, debiased

new method predict for ctmm objects

akde now supports smoothing errors

variogram.fit and plot.variogram now support telemetry error

UERE fitting now possible simultaneous with tracking data

tag.local.identifier now used as backup to individual.local.identifier in as.telemetry

multiple bug fixes in uere

res.space fixed in occurrence

new function overlap for stationary Gaussian distributions and KDEs

new function uere calculates UERE from calibration data

akde debias argument removes most bias from area estimtes, now default

akde CIs further improved

variogram, periodogram generalized to arbitrary dimensions

periodic mean function option for ctmm, ctmm.fit, ctmm.select, plot.variogram, summary (not yet documented)

new method residuals for ctmm objects

ctmm.select now only considers likely model modifications

DOFs now returned in summary

new methods [.telemetry, [.variogram, [.periodogram, subset.periodogram

methods for zoom, raster, writeShapefile now properly assigned to generics

new plot.periodogram option max

new periodogram option res.time (with Lagrange interpolation). Old option res renamed to res.freq.

akde res argument is now relative to the bandwidth

occurrence res.space argument is now relative to the average diffusion

plot.telemetry with data error now uses level.UD for error radius instead of one standard deviation

gridding function for fast=TRUE variogram and periodogram now always fast

bad location removed from buffalo “Pepper”

variogram.fit now stores global variables of any name

variogram.fit sliders now use pretty units

variogram.fit range argument depreciated in favor of a more general CTMM prototype argument

akde UD CIs significantly improved for high quality datasets

akde bugfix: subscript out of bounds

circulatory model introduced via circle ctmm argument

oscillatory CPF model introduced via CPF ctmm argument

as.telemetry now imports GPS.HDOP columns with a UERE argument

summary now works on arbitrary lists of ctmm objects

ctmm.fit now tries to make sense of ML parameters that lie on boundaries

occurrence() now works when some timesteps are tiny

new function “occurrence” to estimate occurrence distributions

“akde” & “occurrence” class objects generalized to “UD” class

alpha & alpha.HR arguments simplified and generalized to level & level.UD

AKDE= and

*.HR= arguments generalized to UD= and*.UD=new basic telemetry error functionality in ctmm, ctmm.fit

new function ctmm.select

new methods subset.telemetry and subset.variogram

fixed a bug in the uncertainty report of uncorrelated processes

ctmm.fit is now much faster by specifying a reasonable parscale for optim

ctmm.fit now has a backup for when Brent fails

fixed a rare condition in ctmm.fit where solve would fail on correlated errors

multiscale variogram and mean variogram example in vignette

new data example Mongolian gazelle

new fast option for periodogram

improvements in plot.periodogram

bugfix in as.telemetry for numeric indentifiers

bugfix in dt array option of variogram

new resolution option and better estimation algorithms in akde

alpha, alpha.HR, res arguments made consistent across all functions

efficiency gains in as.telemetry with multiple animals

bugfix in plot.telemetry for multiple Gaussian PDFs

bugfix in variogram for rare condition when fast=TRUE

CRAN check compliance achieved.

all methods (plot, mean, summary, simulate) can and must be run without class extensions

argument names no longer clash with function names and are more explicit about their object class

- export bugfixes

- IOU bug fixes in ctmm.fit and plot.variogram

cleaned up and labeled tau parameter arrays

implemented Workaround for when subset demotes S4 objects to S3 objects

plot.telemetry now enforces asp=1 even with xlim/ylim arguments

new function summary.telemetry

bugfix in as.telemetry for data$t

bugfix in ctmm.loglike for some cases with numeric underflow

periodogram and plot.periodogram can now check for spurious periodicities

minimal support for BM and IOU motion

- new functions periodogram, plot.periodogram

new function SpatialPoints.telemetry returns SpatialPoints object from telemetry data

new function SpatialPolygonsDataFrame.akde returns akde home-range contour SpatialPolygons objects from akde object

new function writeShapefile.akde writes akde home-range contours to ESRI shapefile

new function raster.akde returns akde pdf raster object

new function summary.akde returns HR area of AKDE

fixed bad CI in plot.telemetry model option

as.telemetry now takes a timezone argument for as.POSIXct and defaults to UTC

telemetry, ctmm, and akde objects now have idenification and projection information slotted, with consistent naming throughout

vignettes “variogram” and “akde”

new function as.telemetry imports MoveBank formatted csv data and returns telemetry objects

new function variogram.zoom plots a variogram with zoom slider

variogram.fit and variogram.zoom default to a logarithmic-scale zoom slider, which requires much less fiddling

plot.variogram now takes multiple variogram, model, and color options

plot.telemetry now takes multiple data, model, akde, and color options

plot.telemetry can now make probability density plots for both Gaussian model and akde data

ctmm.fit no longer screws up results with initial sigma guesstimates. ML parameter estimates now match closely with published Mathematica results. CIs are improved.

ks-package was producing incorrect home-range contours and has been replaced with custom code. ML home ranges now match published Mathematica results. CIs should be improved.