docstr: Base class for implementation of data generating process.
  
  Subclasses implement functions that create various data generating processes. All data generating processes are in the package "dowhy.utils.dgps".
docstr_tok: ["Base","class","for","implementation","of","data","generating","process",".","Subclasses","implement","functions","that","create","various","data","generating","processes",".","All","data","generating","processes","are","in","the","package","``","dowhy.utils.dgps","''","."]
code: def __init__(self, **kwargs):
      """
      Base class for implementation of data generating process.
  
      Subclasses implement functions that create various data generating processes. All data generating processes are in the package "dowhy.utils.dgps".
      """
      self.treatment = kwargs["treatment"]
      self.outcome = kwargs["outcome"]
      self.confounder = kwargs["confounder"]
      self.effect_modifier = kwargs["effect_modifier"]
      self.weights = kwargs.pop("weights", {})
      self.bias = kwargs.pop("bias", {})
      self.seed = kwargs.pop("seed", None)
      self.treatment_is_binary = kwargs.pop(
          "treatment_is_binary", False
      )
      if self.treatment_is_binary:
          self.percentile = kwargs.pop(
              "percentile", DataGeneratingProcess.DEFAULT_PERCENTILE
          )
      elif kwargs.pop("percentile", None) is not None:
          raise ValueError(
              "Cannot use percentile, if the input is non-binary"
          )
      else:
          self.percentile = "NA"
      self.true_value = None
      if self.seed is not None:
          np.random.seed(self.seed)
  
imports: import numpy
label_desc: Use image node_id 1 to create a new DataGeneratingProcess object  with example: obj = DataGeneratingProcess()