===================== MCMCSamplesDict class ===================== `pesummary` handles multiple MCMC chains through a custom `MCMCSamplesDict` class. This `MCMCSamplesDict` class is inhertied from the core `dict` class and stores multiple `SamplesDict` objects, one for each chain. See `SanplesDict class <SamplesDict.html>`_ for more information. This `MCMCSamplesDict` class has many useful properties, for example working out the Gelman-Rubin statistic. Initializing the MCMCSamplesDict class -------------------------------------- The `MCMCSamplesDict` class is initialized with an array of parameters and an array containing the samples for each parameter for each chain, .. code-block:: python >>> from pesummary.utils.samples_dict import MCMCSamplesDict >>> parameters = ["a", "b"] >>> samples = [ ... [ ... [1, 1.2, 1.7, 1.1, 1.4, 0.8, 1.6], ... [10.2, 11.3, 11.6, 9.5, 8.6, 10.8, 10.9] ... ], [ ... [0.8, 0.5, 1.7, 1.4, 1.2, 1.7, 0.9], ... [10, 10.5, 10.4, 9.6, 8.6, 11.6, 16.2] ... ] ... ] >>> dataset = MCMCSamplesDict(parameter, samples) >>> print(dataset.keys()) dict_keys(['chain_0', 'chain_1']) >>> print(dataset["chain_0"]) idx a b 0 1.000000 10.200000 1 1.200000 11.300000 2 1.700000 11.600000 3 1.100000 9.500000 4 1.400000 8.600000 5 0.800000 10.800000 6 1.600000 10.900000 Using the MCMCSamplesDict properties ------------------------------------ Below we show some of the useful properties of the `MCMCSamplesDict` class. For full details see the doc string, .. code-block:: python >>> dataset.nchains 2 >>> transpose = dataset.T >>> transpose["a"] idx chain_0 chain_1 0 1.000000 0.800000 1 1.200000 0.500000 2 1.700000 1.700000 3 1.100000 1.400000 4 1.400000 1.200000 5 0.800000 1.700000 6 1.600000 0.900000 >>> dataset.average idx a b 0 0.900000 10.100000 1 0.850000 10.900000 2 1.700000 11.000000 3 1.250000 9.550000 4 1.300000 8.600000 5 1.250000 11.200000 6 1.250000 13.550000 Using the MCMCSamplesDict function ------------------------------------ Below we show some of the useful function of the `MCMCSamplesDict` class. For full details see the doc string, .. code-block:: python >>> dataset.gelman_rubin("a") 1.02018