How to infer components of mixture?

The B_i are not observed. I observe only rank, and I assume that rank are generated indirectly by mixture. For moment my data (as in Order statistics in PyMC3) is :

K = 4 # number of items being ranked
J = 1 # number of raters
yreal = np.argsort(np.random.randn(K, 1), axis=0)
print(yreal)
y = np.argsort(yreal + 2*np.random.randn(K, J), axis=0)
print(y)

But in fact I want to be more fleaxible with the data simulation process, that’s why I’ve choosen latent Mixture instead of latent Normal.