This function reduces the number of posterior samples by retaining every \(k\)th sample.
Thin(x, By=1)
This is a vector or matrix of posterior samples to be thinned.
This argument specifies that every \(k\)th posterior
sample will be retained, and By
defaults to 1, meaning that
thinning will not occur, because every sample will be retained.
The Thin
argument returns a thinned matrix. When x
is a
vector, the returned object is a matrix with 1 column.
A thinned matrix of posterior samples is a matrix in which only every
\(k\)th posterior sample (or row) in the original matrix is
retained. The act of thinning posterior samples has been criticized as
throwing away information, which is correct. However, it is common
practice to thin posterior samples, usually associated with MCMC such
as LaplacesDemon
, for two reasons. First, Each chain
(column vector) in a matrix of posterior samples probably has higher
autocorrelation than desired, which reduces the effective sample size
(see ESS
for more information). Therefore, a thinned
matrix usually contains posterior samples that are closer to
independent than an un-thinned matrix. The other reason for the
popularity of thinning is that it a user may not have the
random-access memory (RAM) to store large, un-thinned matrices of
posterior samples.
LaplacesDemon
and PMC
automatically thin
posterior samples, deviance samples, and samples of monitored
variables, according to its own user-specified argument. The
Thin
function is made available here, should it be necessary to
thin posterior samples outside of objects of class demonoid
or
pmc
.
ESS
,
LaplacesDemon
, and
PMC
.
# NOT RUN {
library(LaplacesDemon)
x <- matrix(runif(100), 10, 10)
Thin(x, By=2)
# }
Run the code above in your browser using DataLab