class_docstr: A class for defining parameter distributions.
  
  Intended for robust optimization use cases. This could be used to specify the
  distribution of an environmental variable or the distribution of the input noise.
class_docstr_tok: ["A","class","for","defining","parameter","distributions",".","Intended","for","robust","optimization","use","cases",".","This","could","be","used","to","specify","the","distribution","of","an","environmental","variable","or","the","distribution","of","the","input","noise","."]
docstr: Initialize a parameter distribution.
  
  Args:
      parameters: A list of parameters, which the distribution belongs to. If
          this represents the joint input noise distribution of the parameters
          `x1` and `x2`, pass in `parameters = ["x1", "x2"]`, etc.
      distribution_class: The name of the scipy distribution class. This must be
          importable as `from scipy.stats import <distribution_class>`.
      distribution_parameters: A dictionary of keyword arguments for initializing
          the distribution class. The distribution will be initialized as
          `distribution = distribution_class(**distribution_parameters)`.
      multiplicative: A boolean denoting whether the distribution will be used as
          a multiplicative input perturbation. Should be `False` for the
          distributions of environmental variables.
docstr_tok: ["Initialize","a","parameter","distribution",".","Args",":","parameters",":","A","list","of","parameters",",","which","the","distribution","belongs","to",".","If","this","represents","the","joint","input","noise","distribution","of","the","parameters","`","x1","`","and","`","x2","`",",","pass","in","`","parameters","=","[","``","x1","''",",","``","x2","''","]","`",",","etc",".","distribution_class",":","The","name","of","the","scipy","distribution","class",".","This","must","be","importable","as","`","from","scipy.stats","import","<","distribution_class",">","`",".","distribution_parameters",":","A","dictionary","of","keyword","arguments","for","initializing","the","distribution","class",".","The","distribution","will","be","initialized","as","`","distribution","=","distribution_class","(","*","*","distribution_parameters",")","`",".","multiplicative",":","A","boolean","denoting","whether","the","distribution","will","be","used","as","a","multiplicative","input","perturbation",".","Should","be","`","False","`","for","the","distributions","of","environmental","variables","."]
code: def __init__(
      self,
      parameters: List[TParamName],
      distribution_class: TDistribution,
      distribution_parameters: Optional[Dict[str, Any]],
      multiplicative: bool = False,
  ) -> None:
      """Initialize a parameter distribution.
  
      Args:
          parameters: A list of parameters, which the distribution belongs to. If
              this represents the joint input noise distribution of the parameters
              `x1` and `x2`, pass in `parameters = ["x1", "x2"]`, etc.
          distribution_class: The name of the scipy distribution class. This must be
              importable as `from scipy.stats import <distribution_class>`.
          distribution_parameters: A dictionary of keyword arguments for initializing
              the distribution class. The distribution will be initialized as
              `distribution = distribution_class(**distribution_parameters)`.
          multiplicative: A boolean denoting whether the distribution will be used as
              a multiplicative input perturbation. Should be `False` for the
              distributions of environmental variables.
      """
      super().__init__()
      self.parameters = parameters
      self._distribution_class = distribution_class
      self._distribution_parameters: Dict[str, Any] = (
          distribution_parameters or {}
      )
      self.multiplicative = multiplicative
      self._distribution: Optional[rv_frozen] = None
  
file_path: Ax/ax/core/parameter_distribution.py
imports: from __future__ import annotations
  from copy import deepcopy
  from importlib import import_module
  from typing import Any, Dict, List, Optional, TYPE_CHECKING
  from ax.exceptions.core import UserInputError
  from ax.utils.common.base import SortableBase
label_desc: Use image node_id 1 to create a new ParameterDistribution object from inherited base classes: SortableBase with example: obj = ParameterDistribution(parameters, distribution_class, distribution_parameters, multiplicative)