Latent random variable in choice model

Dear all,

i’m trying to some latent noise within a choice model. More precisely, a classical choice model will be as follows:

model{
    EV[t] = ... // some function of the data and  parameters
    choice[t] ~ categorical_logit(EV[t])
    }

I would like instead something like:

model{
    mean_EV[t]  = ... // some  some function of the data and parameters 
    sigma_EV[t] = ... /// some function of the data and parameters 
    EV[t] ~ normal(mean_EV[t], sigma_EV[t]);
    choice[t] ~ categorical_logit(EV[t])
}

This, however, does not work. I realise that the problem is that choice[t] (data) is observed, while EV[t] is not (it’s a latent variable), and therefore that the above “model” is inappropriate. But i cannot figure out how i should code that.

Any help would be great.