Thank you for responding Ricardo. The whole traceback is as follows:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In[13], line 1
----> 1 simulated_social_ties_model, simulated_social_ties_inference = fit_social_ties_model(simulated_gifts)
Cell In[12], line 18, in fit_social_ties_model(data, eta)
16 # Single, global sigma
17 sigma = pm.Exponential.dist(1)
---> 18 chol, corr, stds = pm.LKJCholeskyCov(
19 "rho",
20 eta=eta,
21 n=n_correlated_features,
22 sd_dist=sigma
23 )
25 # Record quantities for reporting
26 pm.Deterministic("corrcoef_T", corr[0, 1])
File ~/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pymc/distributions/multivariate.py:1471, in LKJCholeskyCov.__new__(cls, name, eta, n, sd_dist, compute_corr, store_in_trace, **kwargs)
1470 def __new__(cls, name, eta, n, sd_dist, *, compute_corr=True, store_in_trace=True, **kwargs):
-> 1471 packed_chol = _LKJCholeskyCov(name, eta=eta, n=n, sd_dist=sd_dist, **kwargs)
1472 if not compute_corr:
1473 return packed_chol
File ~/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pymc/distributions/distribution.py:529, in Distribution.__new__(cls, name, rng, dims, initval, observed, total_size, transform, default_transform, *args, **kwargs)
526 elif observed is not None:
527 kwargs["shape"] = tuple(observed.shape)
--> 529 rv_out = cls.dist(*args, **kwargs)
531 rv_out = model.register_rv(
532 rv_out,
533 name,
(...) 539 initval=initval,
540 )
542 # add in pretty-printing support
File ~/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pymc/distributions/multivariate.py:1258, in _LKJCholeskyCov.dist(cls, n, eta, sd_dist, **kwargs)
1255 raise TypeError("sd_dist must be a scalar or vector distribution variable")
1257 check_dist_not_registered(sd_dist)
-> 1258 return super().dist([n, eta, sd_dist], **kwargs)
File ~/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pymc/distributions/distribution.py:598, in Distribution.dist(cls, dist_params, shape, **kwargs)
595 ndim_supp = cls.rv_op(*dist_params, **kwargs).owner.op.ndim_supp
597 create_size = find_size(shape=shape, size=size, ndim_supp=ndim_supp)
--> 598 return cls.rv_op(*dist_params, size=create_size, **kwargs)
File ~/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pymc/distributions/multivariate.py:1216, in _LKJCholeskyCovRV.rv_op(cls, n, eta, sd_dist, size)
1213 # We flatten the size to make operations easier, and then rebuild it
1214 flat_size = pt.prod(size, dtype="int64")
-> 1216 next_rng, C = LKJCorrRV._random_corr_matrix(rng=rng, n=n, eta=eta, flat_size=flat_size)
1217 D_matrix = D.reshape((flat_size, n))
1218 C *= D_matrix[..., :, None] * D_matrix[..., None, :]
File ~/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pymc/distributions/multivariate.py:1576, in LKJCorrRV._random_corr_matrix(cls, rng, n, eta, flat_size)
1574 P = P[..., 0:mp1, mp1].set(pt.sqrt(y[..., np.newaxis]) * z)
1575 P = P[..., mp1, mp1].set(pt.sqrt(1.0 - y))
-> 1576 C = pt.einsum("...ji,...jk->...ik", P, P.copy())
1577 return next_rng, C
File ~/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pytensor/tensor/einsum.py:669, in einsum(subscripts, optimize, *operands)
666 return operand.squeeze(squeeze_axes), "".join(names[i] for i in keep_axes)
668 einsum_operands = list(tensor_operands) # So we can pop
--> 669 for operand_indices, contracted_names, einstr, _, _ in contraction_list:
670 contracted_names = sorted(contracted_names)
671 assert len(contracted_names) == len(
672 set(contracted_names)
673 ), "The set was needed!"
ValueError: not enough values to unpack (expected 5, got 3)