MMMIDataWrapper.to_original_scale#

MMMIDataWrapper.to_original_scale(var)[source]#

Transform variable from scaled to original scale.

Handles three scenarios based on input type:

  1. String with corresponding ‘_original_scale’ variable: If posterior contains {var}_original_scale, returns it directly (e.g., “mu” returns posterior[“mu_original_scale”] if it exists).

  2. String ending with ‘_original_scale’: Returns the variable directly from posterior (e.g., “mu_original_scale” → posterior[“mu_original_scale”]). Already in original scale, so no transformation is applied.

  3. String (scaled variable) or xr.DataArray: Multiplies by target_scale to convert from scaled to original space.

Parameters:
varstr or xr.DataArray

One of: - Variable name with existing ‘_original_scale’ version (returns that) - Variable name ending with ‘_original_scale’ (returns as-is) - Scaled variable name (multiplies by target_scale) - DataArray in scaled space (multiplies by target_scale)

Returns:
xr.DataArray

Variable in original scale

Raises:
ValueError

If string variable is not found in posterior, or if target_scale is not found in constant_data when scaling is required

Examples

>>> # Get existing original scale variable
>>> original = wrapper.to_original_scale("channel_contribution")
>>>
>>> # Get variable that's already in original scale
>>> original = wrapper.to_original_scale("mu_original_scale")
>>>
>>> # Convert DataArray from scaled to original space
>>> scaled_data = posterior["mu"]
>>> original = wrapper.to_original_scale(scaled_data)