A collection of functions that allows one to perform the behavioral change point analysis (BCPA) as described by Gurarie et al. (2009, Ecology Letters, 12: 395-408). The key features are estimation of discrete changes in time-series data, notable linear and turning components of gappy velocity times series extracted from movement data.
There is a fairly detailed vignette accesible by entering
vignette("bcpa"). Alternatively, the key analysis function is
WindowSweep, and reading its documentation is a good way to start using this package. This function uses a suite of functions that might also be useful for more narrow analysis, listed hierarchically (from bottom-up) below:
||maximizes the likelihood to estimate autocorrelation rho or characteristic time-scale tau.|
||estimates the paramters and returns the log-likelhood at either side of a given break|
|| finds the single best change point according to the likelihood returned by
||uses a (modified) BIC model selection for all combinations from M0 (μ_1 = μ_2, σ_1 = σ_2, ρ_1 = ρ_2) to M7 (μ_1 \neq μ_2, σ_1 \neq σ_2, ρ_1 \neq ρ_2) to characterize the "Best Break"|
||sweeps a longer time series with the Best Break / Model Selection analysis, identifying most likely break points and BIC selected models across the time series.|
Summary, diagnostic, and plotting functions are:
||outputs the estimated parameters of a bcpa.|
||provides a summary table of the chage points.|
||a plotting method for visualizing the time series with vertical lines as change points.|
||a method for drawing a color-coded track of the analysis.|
||diagnostic plots for BCPA.|
A few preprocessing functions available:
||method for plotting a generic "track" object.|
||returns step-lenghts, absolute and turning angles from track data.|
This is a suite of functions needed to perform a complete behavioral change point analysis.
Eliezer Gurarie <email@example.com>
Gurarie, E., R. Andrews and K. Laidre. 2009. A novel method for identifying behavioural changes in animal movement data. Ecol. Lett. 12: 395-408.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
# Running through a complete analysis here: ## loading the data data(Simp) ## plotting the track (using the plot.track method) plot(Simp) ## Obtaining the movement summary table (with turning angles and step lengths) Simp.VT <- GetVT(Simp) ## Applying the analysis Simp.ws <- WindowSweep(Simp.VT, "V*cos(Theta)", windowsize = 50, windowstep = 1, progress=TRUE) ## plotting outpots plot(Simp.ws, threshold=7) plot(Simp.ws, type="flat", clusterwidth=3) PathPlot(Simp, Simp.ws) PathPlot(Simp, Simp.ws, type="flat") ## Diagnostic of assumptions DiagPlot(Simp.ws)
Loading required package: Rcpp Loading required package: plyr | | | 0% | |===== | 7% | |========= | 14% | |============== | 20% | |=================== | 27% | |======================== | 34% | |============================ | 41% | |================================= | 47% | |====================================== | 54% | |=========================================== | 61% | |=============================================== | 68% | |==================================================== | 74% | |========================================================= | 81% | |============================================================= | 88% | |================================================================== | 95% Warning message: In plot.xy(xy.coords(x, y), type = type, ...) : plot type 'black' will be truncated to first character
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.