arviz.InferenceData.stack#

InferenceData.stack(dimensions=None, groups=None, filter_groups=None, inplace=False, **kwargs)[source]#

Perform an xarray stacking on all groups.

Stack any number of existing dimensions into a single new dimension. Loops groups to perform Dataset.stack(key=value) for every kwarg if value is a dimension of the dataset. The selection is performed on all relevant groups (like posterior, prior, sample stats) while non relevant groups like observed data are omitted. See xarray.Dataset.stack()

Parameters:
dimensionsdict, optional

Names of new dimensions, and the existing dimensions that they replace.

groups: str or list of str, optional

Groups where the selection is to be applied. Can either be group names or metagroup names.

filter_groups{None, “like”, “regex”}, optional

If None (default), interpret groups as the real group or metagroup names. If “like”, interpret groups as substrings of the real group or metagroup names. If “regex”, interpret groups as regular expressions on the real group or metagroup names. A la pandas.filter.

inplacebool, optional

If True, modify the InferenceData object inplace, otherwise, return the modified copy.

kwargsdict, optional

It must be accepted by xarray.Dataset.stack().

Returns:
InferenceData

A new InferenceData object by default. When inplace==True perform selection in-place and return None

See also

xarray.Dataset.stack

Stack any number of existing dimensions into a single new dimension.

unstack

Perform an xarray unstacking on all groups of InferenceData object.

Examples

Use stack to stack any number of existing dimensions into a single new dimension. We first check the original object:

import arviz as az
idata = az.load_arviz_data("rugby")
idata
arviz.InferenceData
    • <xarray.Dataset> Size: 452kB
      Dimensions:    (chain: 4, draw: 500, team: 6)
      Coordinates:
        * chain      (chain) int64 32B 0 1 2 3
        * draw       (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499
        * team       (team) <U8 192B 'Wales' 'France' 'Ireland' ... 'Italy' 'England'
      Data variables:
          home       (chain, draw) float64 16kB ...
          intercept  (chain, draw) float64 16kB ...
          atts_star  (chain, draw, team) float64 96kB ...
          defs_star  (chain, draw, team) float64 96kB ...
          sd_att     (chain, draw) float64 16kB ...
          sd_def     (chain, draw) float64 16kB ...
          atts       (chain, draw, team) float64 96kB ...
          defs       (chain, draw, team) float64 96kB ...
      Attributes:
          created_at:                 2024-03-06T20:46:23.841916
          arviz_version:              0.17.0
          inference_library:          pymc
          inference_library_version:  5.10.4+7.g34d2a5d9
          sampling_time:              8.503105401992798
          tuning_steps:               1000

    • <xarray.Dataset> Size: 2MB
      Dimensions:      (chain: 4, draw: 500, match: 60)
      Coordinates:
        * chain        (chain) int64 32B 0 1 2 3
        * draw         (draw) int64 4kB 0 1 2 3 4 5 6 ... 493 494 495 496 497 498 499
        * match        (match) <U16 4kB 'Wales Italy' ... 'Ireland England'
          home_team    (match) <U8 2kB ...
          away_team    (match) <U8 2kB ...
      Data variables:
          home_points  (chain, draw, match) int64 960kB ...
          away_points  (chain, draw, match) int64 960kB ...
      Attributes:
          created_at:                 2024-03-06T20:46:25.689246
          arviz_version:              0.17.0
          inference_library:          pymc
          inference_library_version:  5.10.4+7.g34d2a5d9

    • <xarray.Dataset> Size: 2MB
      Dimensions:      (chain: 4, draw: 500, match: 60)
      Coordinates:
        * chain        (chain) int64 32B 0 1 2 3
        * draw         (draw) int64 4kB 0 1 2 3 4 5 6 ... 493 494 495 496 497 498 499
        * match        (match) <U16 4kB 'Wales Italy' ... 'Ireland England'
          home_team    (match) <U8 2kB ...
          away_team    (match) <U8 2kB ...
      Data variables:
          home_points  (chain, draw, match) float64 960kB ...
          away_points  (chain, draw, match) float64 960kB ...
      Attributes:
          created_at:                 2024-03-06T20:46:24.120642
          arviz_version:              0.17.0
          inference_library:          pymc
          inference_library_version:  5.10.4+7.g34d2a5d9

    • <xarray.Dataset> Size: 260kB
      Dimensions:    (chain: 4, draw: 500, team: 6)
      Coordinates:
        * chain      (chain) int64 32B 0 1 2 3
        * draw       (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499
        * team       (team) <U8 192B 'Wales' 'France' 'Ireland' ... 'Italy' 'England'
      Data variables:
          home       (chain, draw) float64 16kB ...
          sd_att     (chain, draw) float64 16kB ...
          sd_def     (chain, draw) float64 16kB ...
          intercept  (chain, draw) float64 16kB ...
          atts_star  (chain, draw, team) float64 96kB ...
          defs_star  (chain, draw, team) float64 96kB ...
      Attributes:
          created_at:                 2024-03-06T20:46:24.377610
          arviz_version:              0.17.0
          inference_library:          pymc
          inference_library_version:  5.10.4+7.g34d2a5d9

    • <xarray.Dataset> Size: 248kB
      Dimensions:                (chain: 4, draw: 500)
      Coordinates:
        * chain                  (chain) int64 32B 0 1 2 3
        * draw                   (draw) int64 4kB 0 1 2 3 4 5 ... 495 496 497 498 499
      Data variables: (12/17)
          max_energy_error       (chain, draw) float64 16kB ...
          index_in_trajectory    (chain, draw) int64 16kB ...
          smallest_eigval        (chain, draw) float64 16kB ...
          perf_counter_start     (chain, draw) float64 16kB ...
          largest_eigval         (chain, draw) float64 16kB ...
          step_size              (chain, draw) float64 16kB ...
          ...                     ...
          reached_max_treedepth  (chain, draw) bool 2kB ...
          perf_counter_diff      (chain, draw) float64 16kB ...
          tree_depth             (chain, draw) int64 16kB ...
          process_time_diff      (chain, draw) float64 16kB ...
          step_size_bar          (chain, draw) float64 16kB ...
          energy                 (chain, draw) float64 16kB ...
      Attributes:
          created_at:                 2024-03-06T20:46:23.854033
          arviz_version:              0.17.0
          inference_library:          pymc
          inference_library_version:  5.10.4+7.g34d2a5d9
          sampling_time:              8.503105401992798
          tuning_steps:               1000

    • <xarray.Dataset> Size: 116kB
      Dimensions:    (chain: 1, draw: 500, team: 6)
      Coordinates:
        * chain      (chain) int64 8B 0
        * draw       (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499
        * team       (team) <U8 192B 'Wales' 'France' 'Ireland' ... 'Italy' 'England'
      Data variables:
          atts_star  (chain, draw, team) float64 24kB ...
          sd_att     (chain, draw) float64 4kB ...
          atts       (chain, draw, team) float64 24kB ...
          sd_def     (chain, draw) float64 4kB ...
          defs       (chain, draw, team) float64 24kB ...
          intercept  (chain, draw) float64 4kB ...
          home       (chain, draw) float64 4kB ...
          defs_star  (chain, draw, team) float64 24kB ...
      Attributes:
          created_at:                 2024-03-06T20:46:09.475945
          arviz_version:              0.17.0
          inference_library:          pymc
          inference_library_version:  5.10.4+7.g34d2a5d9

    • <xarray.Dataset> Size: 492kB
      Dimensions:      (chain: 1, draw: 500, match: 60)
      Coordinates:
        * chain        (chain) int64 8B 0
        * draw         (draw) int64 4kB 0 1 2 3 4 5 6 ... 493 494 495 496 497 498 499
        * match        (match) <U16 4kB 'Wales Italy' ... 'Ireland England'
          home_team    (match) <U8 2kB ...
          away_team    (match) <U8 2kB ...
      Data variables:
          away_points  (chain, draw, match) int64 240kB ...
          home_points  (chain, draw, match) int64 240kB ...
      Attributes:
          created_at:                 2024-03-06T20:46:09.479330
          arviz_version:              0.17.0
          inference_library:          pymc
          inference_library_version:  5.10.4+7.g34d2a5d9

    • <xarray.Dataset> Size: 9kB
      Dimensions:      (match: 60)
      Coordinates:
        * match        (match) <U16 4kB 'Wales Italy' ... 'Ireland England'
          home_team    (match) <U8 2kB ...
          away_team    (match) <U8 2kB ...
      Data variables:
          home_points  (match) int64 480B ...
          away_points  (match) int64 480B ...
      Attributes:
          created_at:                 2024-03-06T20:46:09.480812
          arviz_version:              0.17.0
          inference_library:          pymc
          inference_library_version:  5.10.4+7.g34d2a5d9

    • <xarray.Dataset> Size: 36kB
      Dimensions:  (chain: 4, draw: 500)
      Coordinates:
        * chain    (chain) int64 32B 0 1 2 3
        * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499
      Data variables:
          sd_att   (chain, draw) float64 16kB ...
          sd_def   (chain, draw) float64 16kB ...
      Attributes:
          sd_att:   pymc.logprob.transforms.LogTransform
          sd_def:   pymc.logprob.transforms.LogTransform

In order to stack two dimensions chain and draw to sample, we can use:

idata.stack(sample=["chain", "draw"], inplace=True)
idata
arviz.InferenceData
    • <xarray.Dataset> Size: 496kB
      Dimensions:    (sample: 2000, team: 6)
      Coordinates:
        * team       (team) <U8 192B 'Wales' 'France' 'Ireland' ... 'Italy' 'England'
        * sample     (sample) object 16kB MultiIndex
        * chain      (sample) int64 16kB 0 0 0 0 0 0 0 0 0 0 0 ... 3 3 3 3 3 3 3 3 3 3
        * draw       (sample) int64 16kB 0 1 2 3 4 5 6 ... 493 494 495 496 497 498 499
      Data variables:
          home       (sample) float64 16kB 0.1341 0.2025 0.2146 ... 0.1988 0.1177
          intercept  (sample) float64 16kB 2.949 2.907 2.888 ... 2.908 2.876 2.954
          atts_star  (team, sample) float64 96kB 0.3346 0.1301 ... 0.4086 0.3763
          defs_star  (team, sample) float64 96kB -0.4319 -0.1368 ... 0.001797 -0.4827
          sd_att     (sample) float64 16kB 0.3047 0.1598 0.1965 ... 0.4021 0.2962
          sd_def     (sample) float64 16kB 0.5739 0.4876 0.3242 ... 0.3384 0.3576
          atts       (team, sample) float64 96kB 0.1833 0.1542 ... 0.2989 0.3514
          defs       (team, sample) float64 96kB -0.09829 -0.1253 ... -0.1787 -0.2903
      Attributes:
          created_at:                 2024-03-06T20:46:23.841916
          arviz_version:              0.17.0
          inference_library:          pymc
          inference_library_version:  5.10.4+7.g34d2a5d9
          sampling_time:              8.503105401992798
          tuning_steps:               1000

    • <xarray.Dataset> Size: 2MB
      Dimensions:      (match: 60, sample: 2000)
      Coordinates:
        * match        (match) <U16 4kB 'Wales Italy' ... 'Ireland England'
          home_team    (match) <U8 2kB ...
          away_team    (match) <U8 2kB ...
        * sample       (sample) object 16kB MultiIndex
        * chain        (sample) int64 16kB 0 0 0 0 0 0 0 0 0 0 ... 3 3 3 3 3 3 3 3 3 3
        * draw         (sample) int64 16kB 0 1 2 3 4 5 6 ... 494 495 496 497 498 499
      Data variables:
          home_points  (match, sample) int64 960kB 48 49 51 24 46 ... 18 23 19 22 12
          away_points  (match, sample) int64 960kB 12 12 8 12 6 10 ... 23 14 12 9 15
      Attributes:
          created_at:                 2024-03-06T20:46:25.689246
          arviz_version:              0.17.0
          inference_library:          pymc
          inference_library_version:  5.10.4+7.g34d2a5d9

    • <xarray.Dataset> Size: 2MB
      Dimensions:      (match: 60, sample: 2000)
      Coordinates:
        * match        (match) <U16 4kB 'Wales Italy' ... 'Ireland England'
          home_team    (match) <U8 2kB ...
          away_team    (match) <U8 2kB ...
        * sample       (sample) object 16kB MultiIndex
        * chain        (sample) int64 16kB 0 0 0 0 0 0 0 0 0 0 ... 3 3 3 3 3 3 3 3 3 3
        * draw         (sample) int64 16kB 0 1 2 3 4 5 6 ... 494 495 496 497 498 499
      Data variables:
          home_points  (match, sample) float64 960kB -9.405 -9.389 ... -3.71 -3.011
          away_points  (match, sample) float64 960kB -2.499 -2.552 ... -3.354 -4.934
      Attributes:
          created_at:                 2024-03-06T20:46:24.120642
          arviz_version:              0.17.0
          inference_library:          pymc
          inference_library_version:  5.10.4+7.g34d2a5d9

    • <xarray.Dataset> Size: 304kB
      Dimensions:    (sample: 2000, team: 6)
      Coordinates:
        * team       (team) <U8 192B 'Wales' 'France' 'Ireland' ... 'Italy' 'England'
        * sample     (sample) object 16kB MultiIndex
        * chain      (sample) int64 16kB 0 0 0 0 0 0 0 0 0 0 0 ... 3 3 3 3 3 3 3 3 3 3
        * draw       (sample) int64 16kB 0 1 2 3 4 5 6 ... 493 494 495 496 497 498 499
      Data variables:
          home       (sample) float64 16kB -0.9279 -0.9394 -0.942 ... -0.9387 -0.9259
          sd_att     (sample) float64 16kB -0.9305 -0.9221 -0.9238 ... -0.9391 -0.9299
          sd_def     (sample) float64 16kB -0.9601 -0.9487 -0.9321 ... -0.9333 -0.9349
          intercept  (sample) float64 16kB -0.9202 -0.9233 -0.9252 ... -0.9267 -0.92
          atts_star  (team, sample) float64 96kB -0.3334 0.5835 ... -0.5241 -0.5093
          defs_star  (team, sample) float64 96kB -0.6467 -0.2401 ... 0.1645 -0.8016
      Attributes:
          created_at:                 2024-03-06T20:46:24.377610
          arviz_version:              0.17.0
          inference_library:          pymc
          inference_library_version:  5.10.4+7.g34d2a5d9

    • <xarray.Dataset> Size: 292kB
      Dimensions:                (sample: 2000)
      Coordinates:
        * sample                 (sample) object 16kB MultiIndex
        * chain                  (sample) int64 16kB 0 0 0 0 0 0 0 0 ... 3 3 3 3 3 3 3
        * draw                   (sample) int64 16kB 0 1 2 3 4 ... 495 496 497 498 499
      Data variables: (12/17)
          max_energy_error       (sample) float64 16kB -0.5529 0.4738 ... -1.006
          index_in_trajectory    (sample) int64 16kB -5 -15 -4 -11 ... 17 24 -28 -20
          smallest_eigval        (sample) float64 16kB nan nan nan nan ... nan nan nan
          perf_counter_start     (sample) float64 16kB 9.249e+03 ... 9.251e+03
          largest_eigval         (sample) float64 16kB nan nan nan nan ... nan nan nan
          step_size              (sample) float64 16kB 0.3105 0.3105 ... 0.2495 0.2495
          ...                     ...
          reached_max_treedepth  (sample) bool 2kB False False False ... False False
          perf_counter_diff      (sample) float64 16kB 0.005344 0.005213 ... 0.006747
          tree_depth             (sample) int64 16kB 5 5 5 5 3 3 4 4 ... 5 5 3 6 6 5 5
          process_time_diff      (sample) float64 16kB 0.005344 0.005214 ... 0.006749
          step_size_bar          (sample) float64 16kB 0.2456 0.2456 ... 0.2186 0.2186
          energy                 (sample) float64 16kB 539.7 539.7 ... 542.7 547.7
      Attributes:
          created_at:                 2024-03-06T20:46:23.854033
          arviz_version:              0.17.0
          inference_library:          pymc
          inference_library_version:  5.10.4+7.g34d2a5d9
          sampling_time:              8.503105401992798
          tuning_steps:               1000

    • <xarray.Dataset> Size: 124kB
      Dimensions:    (team: 6, sample: 500)
      Coordinates:
        * team       (team) <U8 192B 'Wales' 'France' 'Ireland' ... 'Italy' 'England'
        * sample     (sample) object 4kB MultiIndex
        * chain      (sample) int64 4kB 0 0 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
        * draw       (sample) int64 4kB 0 1 2 3 4 5 6 ... 493 494 495 496 497 498 499
      Data variables:
          atts_star  (team, sample) float64 24kB -0.1165 -0.6705 ... 0.9718 0.645
          sd_att     (sample) float64 4kB 2.205 1.604 0.6585 ... 1.116 0.9112 1.459
          atts       (team, sample) float64 24kB -0.4148 -0.2689 ... 1.039 0.416
          sd_def     (sample) float64 4kB 0.01573 0.382 0.9764 ... 0.1869 2.879 1.323
          defs       (team, sample) float64 24kB -0.003092 0.2726 ... -1.412 -0.3131
          intercept  (sample) float64 4kB 1.172 3.866 2.439 4.324 ... 2.066 1.964 3.91
          home       (sample) float64 4kB 0.694 -0.6541 0.4198 ... -2.354 -0.9812
          defs_star  (team, sample) float64 24kB 0.003231 0.4705 ... -0.7006 0.001565
      Attributes:
          created_at:                 2024-03-06T20:46:09.475945
          arviz_version:              0.17.0
          inference_library:          pymc
          inference_library_version:  5.10.4+7.g34d2a5d9

    • <xarray.Dataset> Size: 500kB
      Dimensions:      (match: 60, sample: 500)
      Coordinates:
        * match        (match) <U16 4kB 'Wales Italy' ... 'Ireland England'
          home_team    (match) <U8 2kB ...
          away_team    (match) <U8 2kB ...
        * sample       (sample) object 4kB MultiIndex
        * chain        (sample) int64 4kB 0 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
        * draw         (sample) int64 4kB 0 1 2 3 4 5 6 ... 494 495 496 497 498 499
      Data variables:
          away_points  (match, sample) int64 240kB 135 51 9 27 4 4 ... 27 139 23 6 351
          home_points  (match, sample) int64 240kB 6 22 16 253 78 136 ... 30 801 5 0 1
      Attributes:
          created_at:                 2024-03-06T20:46:09.479330
          arviz_version:              0.17.0
          inference_library:          pymc
          inference_library_version:  5.10.4+7.g34d2a5d9

    • <xarray.Dataset> Size: 9kB
      Dimensions:      (match: 60)
      Coordinates:
        * match        (match) <U16 4kB 'Wales Italy' ... 'Ireland England'
          home_team    (match) <U8 2kB ...
          away_team    (match) <U8 2kB ...
      Data variables:
          home_points  (match) int64 480B ...
          away_points  (match) int64 480B ...
      Attributes:
          created_at:                 2024-03-06T20:46:09.480812
          arviz_version:              0.17.0
          inference_library:          pymc
          inference_library_version:  5.10.4+7.g34d2a5d9

    • <xarray.Dataset> Size: 80kB
      Dimensions:  (sample: 2000)
      Coordinates:
        * sample   (sample) object 16kB MultiIndex
        * chain    (sample) int64 16kB 0 0 0 0 0 0 0 0 0 0 0 ... 3 3 3 3 3 3 3 3 3 3 3
        * draw     (sample) int64 16kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499
      Data variables:
          sd_att   (sample) float64 16kB -1.189 -1.834 -1.627 ... -0.9111 -1.217
          sd_def   (sample) float64 16kB -0.5553 -0.7182 -1.126 ... -1.083 -1.028
      Attributes:
          sd_att:   pymc.logprob.transforms.LogTransform
          sd_def:   pymc.logprob.transforms.LogTransform

We can also take the example of custom InferenceData object and perform stacking. We first check the original object:

import numpy as np
datadict = {
    "a": np.random.randn(100),
    "b": np.random.randn(1, 100, 10),
    "c": np.random.randn(1, 100, 3, 4),
}
coords = {
    "c1": np.arange(3),
    "c99": np.arange(4),
    "b1": np.arange(10),
}
dims = {"c": ["c1", "c99"], "b": ["b1"]}
idata = az.from_dict(
    posterior=datadict, posterior_predictive=datadict, coords=coords, dims=dims
)
idata
arviz.InferenceData
    • <xarray.Dataset> Size: 19kB
      Dimensions:  (chain: 1, draw: 100, b1: 10, c1: 3, c99: 4)
      Coordinates:
        * chain    (chain) int64 8B 0
        * draw     (draw) int64 800B 0 1 2 3 4 5 6 7 8 ... 91 92 93 94 95 96 97 98 99
        * b1       (b1) int64 80B 0 1 2 3 4 5 6 7 8 9
        * c1       (c1) int64 24B 0 1 2
        * c99      (c99) int64 32B 0 1 2 3
      Data variables:
          a        (chain, draw) float64 800B -0.5944 0.1041 ... -0.2626 -0.3834
          b        (chain, draw, b1) float64 8kB 1.67 1.255 0.4451 ... 0.9547 0.2548
          c        (chain, draw, c1, c99) float64 10kB -1.042 0.3514 ... 1.36 2.927
      Attributes:
          created_at:     2024-05-10T09:14:59.730566+00:00
          arviz_version:  0.19.0.dev0

    • <xarray.Dataset> Size: 19kB
      Dimensions:  (chain: 1, draw: 100, b1: 10, c1: 3, c99: 4)
      Coordinates:
        * chain    (chain) int64 8B 0
        * draw     (draw) int64 800B 0 1 2 3 4 5 6 7 8 ... 91 92 93 94 95 96 97 98 99
        * b1       (b1) int64 80B 0 1 2 3 4 5 6 7 8 9
        * c1       (c1) int64 24B 0 1 2
        * c99      (c99) int64 32B 0 1 2 3
      Data variables:
          a        (chain, draw) float64 800B -0.5944 0.1041 ... -0.2626 -0.3834
          b        (chain, draw, b1) float64 8kB 1.67 1.255 0.4451 ... 0.9547 0.2548
          c        (chain, draw, c1, c99) float64 10kB -1.042 0.3514 ... 1.36 2.927
      Attributes:
          created_at:     2024-05-10T09:14:59.734232+00:00
          arviz_version:  0.19.0.dev0

In order to stack two dimensions c1 and c99 to z, we can use:

idata.stack(z=["c1", "c99"], inplace=True)
idata
arviz.InferenceData
    • <xarray.Dataset> Size: 20kB
      Dimensions:  (chain: 1, draw: 100, b1: 10, z: 12)
      Coordinates:
        * chain    (chain) int64 8B 0
        * draw     (draw) int64 800B 0 1 2 3 4 5 6 7 8 ... 91 92 93 94 95 96 97 98 99
        * b1       (b1) int64 80B 0 1 2 3 4 5 6 7 8 9
        * z        (z) object 96B MultiIndex
        * c1       (z) int64 96B 0 0 0 0 1 1 1 1 2 2 2 2
        * c99      (z) int64 96B 0 1 2 3 0 1 2 3 0 1 2 3
      Data variables:
          a        (chain, draw) float64 800B -0.5944 0.1041 ... -0.2626 -0.3834
          b        (chain, draw, b1) float64 8kB 1.67 1.255 0.4451 ... 0.9547 0.2548
          c        (chain, draw, z) float64 10kB -1.042 0.3514 -1.025 ... 1.36 2.927
      Attributes:
          created_at:     2024-05-10T09:14:59.730566+00:00
          arviz_version:  0.19.0.dev0

    • <xarray.Dataset> Size: 20kB
      Dimensions:  (chain: 1, draw: 100, b1: 10, z: 12)
      Coordinates:
        * chain    (chain) int64 8B 0
        * draw     (draw) int64 800B 0 1 2 3 4 5 6 7 8 ... 91 92 93 94 95 96 97 98 99
        * b1       (b1) int64 80B 0 1 2 3 4 5 6 7 8 9
        * z        (z) object 96B MultiIndex
        * c1       (z) int64 96B 0 0 0 0 1 1 1 1 2 2 2 2
        * c99      (z) int64 96B 0 1 2 3 0 1 2 3 0 1 2 3
      Data variables:
          a        (chain, draw) float64 800B -0.5944 0.1041 ... -0.2626 -0.3834
          b        (chain, draw, b1) float64 8kB 1.67 1.255 0.4451 ... 0.9547 0.2548
          c        (chain, draw, z) float64 10kB -1.042 0.3514 -1.025 ... 1.36 2.927
      Attributes:
          created_at:     2024-05-10T09:14:59.734232+00:00
          arviz_version:  0.19.0.dev0