code: def _parameterization_probability(
      parameterization: TParameterization,
      coefficients: Dict[str, Dict[TParamValue, float]],
      noise_var: float = 0.0,
  ) -> float:
      z = 0.0
      for factor, level in parameterization.items():
          if factor not in coefficients.keys():
              raise ValueError(
                  "{} not in supplied coefficients".format(factor)
              )
          if level not in coefficients[factor].keys():
              raise ValueError(
                  "{} not a valid level of {}".format(level, factor)
              )
          z += coefficients[factor][level]
      z += np.sqrt(noise_var) * np.random.randn()
      return np.exp(z) / (1 + np.exp(z))
  
file_path: Ax/ax/metrics/factorial.py
imports: from typing import Any, Dict, Tuple
  import numpy
  import pandas
  from ax.core.base_trial import BaseTrial
  from ax.core.batch_trial import BatchTrial
  from ax.core.data import Data
  from ax.core.metric import Metric, MetricFetchE, MetricFetchResult
  from ax.core.types import TParameterization, TParamValue
  from ax.utils.common.result import Err, Ok
  from ax.utils.stats.statstools import agresti_coull_sem
label_desc: Use image node_id 2 for calling a global function with example usage: _parameterization_probability(parameterization, coefficients, noise_var) and returns: unknown