Class Infer_variational
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.
-
Method Summary
Modifier and TypeMethodDescriptionstatic VariationalResultinfer_variational(VariationalSpec spec, VariationalOptions options) Run the variational inference procedure.
-
Method Details
-
infer_variational
Run the variational inference procedure.
-