ctmm 0.6.1 (2021-07-26) Unreleased

  • 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

ctmm 0.6.0 (2021-01-08) 2021-01-10

  • 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()

ctmm 0.5.10 (2020-05-04) 2020-05-07

  • as.telemetry() location class code improved

  • as.telemetry() message for marked outliers

  • jaguar data in sync with ctmmweb

ctmm 0.5.9 (2020-03-23) 2020-03-23

  • 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

ctmm 0.5.8 (2019-12-09) 2019-12-11

  • 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

ctmm 0.5.7 (2019-10-06) 2019-10-07

  • 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

ctmm 0.5.6 (2019-05-14) 2019-05-15

  • 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

ctmm 0.5.5 (2019-02-11) 2019-02-11

  • 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

ctmm 0.5.4 (2019-02-07) 2019-02-08

  • 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

ctmm 0.5.3 (2019-01-29) 2019-01-31

  • 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

ctmm 0.5.2 (2018-09-10) 2018-09-10

  • 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

ctmm 0.5.1 (2018-08-06) 2018-08-07

  • 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

ctmm 0.5.0 (2018-05-15) 2018-05-16

  • 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

ctmm 0.4.2 (2018-02-12) Unreleased

  • 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

ctmm 0.4.1 (2017-08-30) 2017-08-30

  • projection method for ctmm objects

ctmm 0.4.0 (2017-08-29) 2017-08-29

  • 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

ctmm 0.3.6 (2017-04-23) 2017-04-24

  • 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

ctmm 0.3.5 (2017-02-01) 2017-02-03

  • 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

ctmm 0.3.4 (2016-11-28) 2016-11-30

  • 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

ctmm 0.3.3 (2016-09-05) 2016-09-06

  • 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

ctmm 0.3.2 (2016-05-12) 2016-05-14

  • 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”

ctmm 0.3.1 (2016-02-23) 2016-02-24

  • 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

ctmm 0.3.0 (2015-11-26) 2015-11-28

  • 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

ctmm 0.2.9 (2015-10-13) 2015-10-14

  • 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

ctmm 0.2.8 (2015-08-25) 2015-08-26

  • 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

ctmm 0.2.7 (2015-07-27) 2015-07-31

  • 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

ctmm 0.2.6 (2015-07-17) Unreleased

  • export bugfixes

ctmm 0.2.5 (2015-07-14) Unreleased

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

ctmm 0.2.4 (2015-06-28) Unreleased

  • 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

ctmm 0.2.3 (2015-06-19) Unreleased

  • 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

ctmm 0.2.2 (2015-05-21) Unreleased

  • new functions periodogram, plot.periodogram

ctmm 0.2.1 (2015-05-08) Unreleased

  • 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

ctmm 0.2.0 (2015-04-27) Unreleased

  • 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.