Hi Pater
(1) It depends how you want to model this. We have kept to fairly simple assumptions in the cyclist model and it is difficult to extend without breaking some of these original assumptions. So for example, one could imagine that the traffic noise variable
is dependent on the weather. But the unexpected event (flat tyre etc) may not be dependent on the weather. In which case you could have a mixture model conditioned on weather state, and in each component conditional add an additional time (to be inferred) conditioned
on an unexpected event occurring.
(2) You can do this by building a hierarchical model. You would need to restructure the code a little bit. You would have variables AverageTimeMean and AverageTimePrecision and AverageTime would derive from these for each cyclist:
AverageTime[Cyclist] = Variable.GaussianFromMeanAndPrecision(AverageTimeMean, AverageTimePrecision).ForEach(Cyclist) where Cyclist is a range over cyclists.
AverageTimeMean and AverageTimePrecision would derive from Gaussian and Gamma priors (using the Random factor).