code: def bootstrap(X_d, Y, M, resamples, conf_level):
      # Use half of available data each time
      T_data = X_d.shape[0]
      n_size = int(T_data * 0.5)
  
      res = np.zeros(resamples)
      for i in range(resamples):
          sample_idx = np.random.choice(
              T_data, replace=True, size=n_size
          )
          X_rs, Y_rs = X_d[sample_idx], Y[sample_idx]
          S1 = compute_first_order(permute_outputs(X_rs, Y_rs), M)
          S1 = unskew_S1(S1, M, Y_rs.size)
          res[i] = S1
  
      return norm.ppf(0.5 + conf_level / 2.0) * res.std(ddof=1)
  
file_path: SALib/src/SALib/analyze/rbd_fast.py
imports: import numpy
  from scipy.signal import periodogram
  from scipy.stats import norm
  from .None import common_args
  from ..util import read_param_file, ResultDict
label_desc: Use image node_id 5 for calling a global function with example usage: bootstrap(X_d, Y, M, resamples, conf_level) and returns: unknown