psrf {EDISON} | R Documentation |
This function calculates the potential scale reduction factor of parameters or hyperparameters over several MCMC simulations (or one simulation split up). This can serve as a convergence diagnostic.
psrf(parameters)
parameters |
A list of MCMC trajectories, where each trajectory is a matrix with NumParams rows and NumIterations columns, where NumParams is the number of parameters and NumIterations is the number of samples. |
A vectors of length NumParams, containing the PSRF values for each parameter.
Sophie Lebre
Frank Dondelinger
Gelman and Rubin (1992) Inference from iterative simulation using multiple sequences, Statistical Science.
# Generate 5 'runs' of random samples from Gaussian N(0,1) samples = list() for(run in 1:5) { samples[[run]] = matrix(rnorm(1000), 1, 1000) } # Check potential scale reduction factor # (Will be very close to 1 due to the samples being from # the same distribution) psrf.val = psrf(samples) # Now use slightly different Gaussian distributions for each 'run'. for(run in 1:5) { mean = runif(1, 0, 2) samples[[run]] = matrix(rnorm(1000, mean, 1), 1, 1000) } # Check potential scale reduction factor # (Should be > 1.1) psrf.val = psrf(samples)