Open
Description
In Poster.ipynb
, when I ran the following cell
nburn = 10000
nthin = 10
# Convert for use with ArviZ and plot posterior
samples_rw = az.convert_to_inference_data(
{'parameters': samples_rw[None, ..., None]},
coords={'parameter': model_rw.param_names},
dims={'parameters': ['parameter']})
ax = az.plot_posterior(samples_rw.posterior.sel(
{'draw': np.s_[nburn::nthin]}), kind='bin', point_estimate='median');
the following error is generated
KeyError Traceback (most recent call last)
Input In [20], in <cell line: 5>()
2 nthin = 10
4 # Convert for use with ArviZ and plot posterior
5 samples_rw = az.convert_to_inference_data(
----> 6 {'parameters': samples_rw[None, ..., None]},
7 coords={'parameter': model_rw.param_names},
8 dims={'parameters': ['parameter']})
9 ax = az.plot_posterior(samples_rw.posterior.sel(
10 {'draw': np.s_[nburn::nthin]}), kind='bin', point_estimate='median')
File /opt/anaconda3/envs/latest/lib/python3.10/site-packages/arviz/data/inference_data.py:259, in InferenceData.__getitem__(self, key)
257 """Get item by key."""
258 if key not in self._groups_all:
--> 259 raise KeyError(key)
260 return getattr(self, key)
KeyError: (None, Ellipsis, None)
Then, I removed [None, ..., None]
, but still giving an error:
/opt/anaconda3/envs/latest/lib/python3.10/site-packages/arviz/data/base.py:130: UserWarning: In variable parameters, there are more dims (1) given than exist (0). Passed array should have shape (chain,draw, *shape)
warnings.warn(
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Input In [21], in <cell line: 5>()
2 nthin = 10
4 # Convert for use with ArviZ and plot posterior
----> 5 samples_rw = az.convert_to_inference_data(
6 {'parameters': samples_rw},
7 coords={'parameter': model_rw.param_names},
8 dims={'parameters': ['parameter']})
9 ax = az.plot_posterior(samples_rw.posterior.sel(
10 {'draw': np.s_[nburn::nthin]}), kind='bin', point_estimate='median')
File /opt/anaconda3/envs/latest/lib/python3.10/site-packages/arviz/data/converters.py:111, in convert_to_inference_data(obj, group, coords, dims, **kwargs)
109 dataset = obj.to_dataset()
110 elif isinstance(obj, dict):
--> 111 dataset = dict_to_dataset(obj, coords=coords, dims=dims)
112 elif isinstance(obj, np.ndarray):
113 dataset = dict_to_dataset({"x": obj}, coords=coords, dims=dims)
File /opt/anaconda3/envs/latest/lib/python3.10/site-packages/arviz/data/base.py:306, in dict_to_dataset(data, attrs, library, coords, dims, default_dims, index_origin, skip_event_dims)
303 if dims is None:
304 dims = {}
--> 306 data_vars = {
307 key: numpy_to_data_array(
308 values,
309 var_name=key,
310 coords=coords,
311 dims=dims.get(key),
312 default_dims=default_dims,
313 index_origin=index_origin,
314 skip_event_dims=skip_event_dims,
315 )
316 for key, values in data.items()
317 }
318 return xr.Dataset(data_vars=data_vars, attrs=make_attrs(attrs=attrs, library=library))
File /opt/anaconda3/envs/latest/lib/python3.10/site-packages/arviz/data/base.py:307, in <dictcomp>(.0)
303 if dims is None:
304 dims = {}
306 data_vars = {
--> 307 key: numpy_to_data_array(
308 values,
309 var_name=key,
310 coords=coords,
311 dims=dims.get(key),
312 default_dims=default_dims,
313 index_origin=index_origin,
314 skip_event_dims=skip_event_dims,
315 )
316 for key, values in data.items()
317 }
318 return xr.Dataset(data_vars=data_vars, attrs=make_attrs(attrs=attrs, library=library))
File /opt/anaconda3/envs/latest/lib/python3.10/site-packages/arviz/data/base.py:255, in numpy_to_data_array(ary, var_name, coords, dims, default_dims, index_origin, skip_event_dims)
253 # filter coords based on the dims
254 coords = {key: xr.IndexVariable((key,), data=np.asarray(coords[key])) for key in dims}
--> 255 return xr.DataArray(ary, coords=coords, dims=dims)
File /opt/anaconda3/envs/latest/lib/python3.10/site-packages/xarray/core/dataarray.py:419, in DataArray.__init__(self, data, coords, dims, name, attrs, indexes, fastpath)
417 data = _check_data_shape(data, coords, dims)
418 data = as_compatible_data(data)
--> 419 coords, dims = _infer_coords_and_dims(data.shape, coords, dims)
420 variable = Variable(dims, data, attrs, fastpath=True)
421 indexes, coords = _create_indexes_from_coords(coords)
File /opt/anaconda3/envs/latest/lib/python3.10/site-packages/xarray/core/dataarray.py:133, in _infer_coords_and_dims(shape, coords, dims)
131 dims = tuple(dims)
132 elif len(dims) != len(shape):
--> 133 raise ValueError(
134 "different number of dimensions on data "
135 f"and dims: {len(shape)} vs {len(dims)}"
136 )
137 else:
138 for d in dims:
ValueError: different number of dimensions on data and dims: 2 vs 3
Am I missing something?
Metadata
Metadata
Assignees
Labels
No labels