code: def get_bernoulli_mean_diff_bias_confidence(self) -> BiasConfidence:
      if self.group_size < 30 or self.others_size < 30:
          return None
      group_success_count = self.group_p * self.group_size
      others_success_count = self.others_p * self.others_size
      pooled_p = (group_success_count + others_success_count) / (
          self.group_size + self.others_size
      )
      pooled_variance = pooled_p * (1 - pooled_p)
      if pooled_variance == 0:
          return None
      standard_error = np.sqrt(
          pooled_variance
          * ((1 / self.group_size) + (1 / self.others_size))
      )
      abs_result = np.abs(self.group_p - self.others_p)
      z_score = abs_result / standard_error
      p_value = scipy.stats.norm.sf(z_score) * 2
      return BiasConfidence(p_value, standard_error)
  
file_path: bias-detector/bias_detector/GroupsResults.py
imports: import numpy
  import scipy.stats
  import scipy.stats
  from bias_detector.BiasConfidence import BiasConfidence
label_desc: Use image node_id 3 for calling the GroupsResults obj's underlying member method code with example usage: obj.get_bernoulli_mean_diff_bias_confidence() and returns: BiasConfidence, None, None