Class Infer_variational

java.lang.Object
jline.inference.api.Infer_variational

public class Infer_variational extends Object
Variational inference for Markovian queueing networks, following I. Perez, G. Casale, "Variational Inference for Markovian Queueing Networks", Advances in Applied Probability 53(3), 2021.

The network trajectory is reparameterised by the transition counts Y^eta, eta=(i,j,c), so that the station marginals decouple: x_{i,c}(t) = x_{i,c}(0) + sum_{In(i,c)} Y^eta - sum_{Out(i,c)} Y^eta. The variational family is a product of inhomogeneous pure-birth processes, one per transition, with rate nu^eta(t,y), times a product of Gamma densities over the unknown service rates. The state space is expanded by adding DELTA to every feasible rate, so that queue lengths may go negative and the approximating measure stays mutually absolutely continuous with the target; the original model is recovered as DELTA to 0.

Each iteration performs, per transition, a backward pass for the Lagrange multipliers r^eta with multiplicative jumps at the observation epochs, the rate update nu^eta(t,y) = exp(E log Xi^eta(t,y)) r^eta(t,y+1)/r^eta(t,y), and a forward pass of the master equation for the marginal. The conjugate Gamma posteriors are then refreshed from the expected number of firings and the expected exposure time of each station-class pair.

Expectations over the other transitions are taken on a deterministic Halton lattice mapped through the inverse marginal c.d.f., so the estimator carries no random-number stream and reproduces the MATLAB, Python and C++ implementations digit for digit.