The mathematics of human contact: developing stochastic algorithms for the generation of time-varying dynamic human contact networks