rxmc.transforms.per_observation_scaling#

rxmc.transforms.per_observation_scaling(observations, parameters=None, log: bool = True, prefix: str | None = None) → Transform[source]#

One latent normalisation \(\rho_i\) per dataset, routed by identity.

Contextual: when the owning model is evaluated on observation \(i\) (matched by identity of obs.identity, so masked views made with masked() route to their root’s scale), the prediction is scaled by \(\rho_i\). Parameters are ordered as observations.

Parameters:
  • observations (sequence of Observation) – The datasets, each assigned one scale parameter.

  • parameters (sequence of Parameter, optional) – One per observation. Defaults to {prefix}_{i}.

  • log (bool, optional) – Sample \(\log\rho_i\) (default) or \(\rho_i\).

  • prefix (str, optional) – Default-parameter name prefix; log_rho/rho by log.