docstr: Estimate the Average Treatment Effect (ATE).
  Args:
      X (np.matrix, np.array, or pd.Dataframe): a feature matrix
      treatment (np.array or pd.Series): a treatment vector
      y (np.array or pd.Series): an outcome vector
  Returns:
      The mean and confidence interval (LB, UB) of the ATE estimate.
docstr_tok: ["Estimate","the","Average","Treatment","Effect","(","ATE",")",".","Args",":","X","(","np.matrix",",","np.array",",","or","pd.Dataframe",")",":","a","feature","matrix","treatment","(","np.array","or","pd.Series",")",":","a","treatment","vector","y","(","np.array","or","pd.Series",")",":","an","outcome","vector","Returns",":","The","mean","and","confidence","interval","(","LB",",","UB",")","of","the","ATE","estimate","."]
code: def estimate_ate(self, X, treatment, y, p=None, pretrain=False):
      """Estimate the Average Treatment Effect (ATE).
      Args:
          X (np.matrix, np.array, or pd.Dataframe): a feature matrix
          treatment (np.array or pd.Series): a treatment vector
          y (np.array or pd.Series): an outcome vector
      Returns:
          The mean and confidence interval (LB, UB) of the ATE estimate.
      """
      X, treatment, y = convert_pd_to_np(X, treatment, y)
      if not pretrain:
          self.fit(X, treatment, y)
  
      ate = np.zeros(self.t_groups.shape[0])
      ate_lb = np.zeros(self.t_groups.shape[0])
      ate_ub = np.zeros(self.t_groups.shape[0])
  
      for i, group in enumerate(self.t_groups):
          ate[i] = self.models[group].coefficients[0]
          ate_lb[i] = self.models[group].conf_ints[0, 0]
          ate_ub[i] = self.models[group].conf_ints[0, 1]
  
      return ate, ate_lb, ate_ub
  
imports: import logging
  import numpy
  from tqdm import tqdm
  from scipy.stats import norm
  from sklearn.dummy import DummyRegressor
  import statsmodels.api
  from copy import deepcopy
  from causalml.inference.meta.base import BaseLearner
  from causalml.inference.meta.utils import check_treatment_vector, convert_pd_to_np
  from causalml.metrics import regression_metrics, classification_metrics
label_desc: Use image node_id 2 for calling the LRSRegressor obj's underlying member method code with example usage: obj.estimate_ate(X, treatment, y, p, pretrain) and returns: ate,  ate_lb,  ate_ub