prep_saves
creates the data structure used to save the
output from each iteration of the ptMCMC algorithm, which is added via
update_saves
. Once the ptMCMC is complete, the saved data objects
are then processed (burn-in iterations are dropped and the remaining
iterations are thinned) via process_saves
.
This set of functions was designed to work within TS
and
specifically est_changepoints
. They are still hardcoded to
do so, but have the capacity to be generalized to work with any
estimation via ptMCMC with additional coding work.
prep_saves(nchangepoints, control = list()) update_saves(i, saves, steps, swaps) process_saves(saves, control = list())
nchangepoints |
|
---|---|
control | A |
i |
|
saves | The existing list of saved data objects. |
steps | Chain configuration after within-temperature steps. |
swaps | Chain configuration after among-temperature swaps. |
list
of ptMCMC objects: change points ($cpts
),
log-likelihoods ($lls
), chain ids ($ids
), step acceptances
($step_accepts
), and swap acceptances ($swap_accepts
).
# \donttest{ data(rodents) document_term_table <- rodents$document_term_table document_covariate_table <- rodents$document_covariate_table LDA_models <- LDA_set(document_term_table, topics = 2)[[1]] data <- document_covariate_table data$gamma <- LDA_models@gamma weights <- document_weights(document_term_table) data <- data[order(data[,"newmoon"]), ] saves <- prep_saves(1, TS_control()) inputs <- prep_ptMCMC_inputs(data, gamma ~ 1, 1, "newmoon", weights, TS_control()) cpts <- prep_cpts(data, gamma ~ 1, 1, "newmoon", weights, TS_control()) ids <- prep_ids(TS_control()) for(i in 1:TS_control()$nit){ steps <- step_chains(i, cpts, inputs) swaps <- swap_chains(steps, inputs, ids) saves <- update_saves(i, saves, steps, swaps) cpts <- update_cpts(cpts, swaps) ids <- update_ids(ids, swaps) } process_saves(saves, TS_control()) # }