class_docstr: Replaces the treatment variable with a new variable randomly generated.
docstr: Summary report
  Args:
     return_ci (str): sensitivity analysis method
  
  Returns:
      (pd.DataFrame): a summary dataframe
docstr_tok: ["Summary","report","Args",":","return_ci","(","str",")",":","sensitivity","analysis","method","Returns",":","(","pd.DataFrame",")",":","a","summary","dataframe"]
code: def sensitivity_estimate(self):
      """Summary report
      Args:
         return_ci (str): sensitivity analysis method
  
      Returns:
          (pd.DataFrame): a summary dataframe
      """
      num_rows = self.df.shape[0]
  
      X = self.df[self.inference_features].values
      p = self.df[self.p_col].values
      treatment_new = np.random.randint(2, size=num_rows)
      y = self.df[self.outcome_col].values
  
      ate_new, ate_new_lower, ate_new_upper = self.get_ate_ci(
          X, p, treatment_new, y
      )
      return ate_new, ate_new_lower, ate_new_upper
  
imports: import logging
  import numpy
  import pandas
  from collections import defaultdict
  import matplotlib.pyplot
  from importlib import import_module
label_desc: Use image node_id 2 for calling the SensitivityPlaceboTreatment obj's underlying member method code with example usage: obj.sensitivity_estimate() and returns: ate_new,  ate_new_lower,  ate_new_upper