This function performs a Gibbs sampler within the Latent Dirichlet Allocation
(LDA) model to estimate proportions of each behavioral state for all time
segments generated by segment_behavior. This is the second
stage of the two-stage Bayesian model that estimates proportions of
behavioral states by first segmenting individual tracks into relatively
homogeneous segments of movement.
cluster_segments(dat, gamma1, alpha, ngibbs, nmaxclust, nburn, ndata.types)A data frame returned by summarize_tsegs that
summarizes the counts of observations per bin and movement variable for all
animal IDs.
numeric. A hyperparameter for the truncated stick-breaking
prior for estimating the theta matrix.
numeric. A hyperparameter for the Dirichlet distribution when
estimating the phi matrix.
numeric. The total number of iterations of the MCMC chain.
numeric. A single number indicating the maximum number of clusters to test.
numeric. The length of the burn-in phase.
numeric. A vector of the number of bins used to discretize
each movement variable. These must be in the same order as the columns
within dat.
A list of model results is returned where elements include the
phi matrix for each data stream, theta matrix, log likelihood
estimates for each iteration of the MCMC chain loglikel, and
matrices of the latent cluster estimates for each data stream z.agg.
The LDA model analyzes all animal IDs pooled together, thereby providing population-level estimates of behavioral states.
# \donttest{
#load data
data(tracks.seg)
#select only id, tseg, SL, and TA columns
tracks.seg2<- tracks.seg[,c("id","tseg","SL","TA")]
#summarize data by track segment
obs<- summarize_tsegs(dat = tracks.seg2, nbins = c(5,8))
#cluster data with LDA
res<- cluster_segments(dat = obs, gamma1 = 0.1, alpha = 0.1, ngibbs = 1000,
nburn = 500, nmaxclust = 7, ndata.types = 2)
# }