docs: def calc_conf_intervals(self,
                              conf_percentage,
                              interval_type='all',
                              init_vals=None,
                              epsilon=abc.EPSILON,
                              **fit_kwargs):
          """
          Calculates percentile, bias-corrected and accelerated, and approximate
          bootstrap confidence intervals.
  
          Parameters
          ----------
          conf_percentage : scalar in the interval (0.0, 100.0).
              Denotes the confidence-level for the returned endpoints. For
              instance, to calculate a 95% confidence interval, pass `95`.
          interval_type : str in {'all', 'pi', 'bca', 'abc'}, optional.
              Denotes the type of confidence intervals that should be calculated.
              'all' results in all types of confidence intervals being
              calculated. 'pi' means 'percentile intervals', 'bca' means
              'bias-corrected and accelerated', and 'abc' means 'approximate
              bootstrap confidence' intervals. Default == 'all'.
          init_vals : 1D ndarray.
              The initial values used to estimate the one's choice model.
          epsilon : positive float, optional.
              Should denote the 'very small' value being used to calculate the
              desired finite difference approximations to the various influence
              functions for the 'abc' intervals. Should be close to zero.
              Default == sys.float_info.epsilon.
          fit_kwargs : additional keyword arguments, optional.
              Should contain any additional kwargs used to alter the default
              behavior of `model_obj.fit_mle` and thereby enforce conformity with
              how the MLE was obtained. Will be passed directly to
              `model_obj.fit_mle` when calculating the 'abc' intervals.
  
          Returns
          -------
          None. Will store the confidence intervals on their respective model
          objects: `self.percentile_interval`, `self.bca_interval`,
          `self.abc_interval`, or all of these objects.
          """
          if interval_type == 'pi':
              self.calc_percentile_interval(conf_percentage)
          elif interval_type == 'bca':
              self.calc_bca_interval(conf_percentage)
          elif interval_type == 'abc':
              self.calc_abc_interval(conf_percentage,
                                     init_vals,
                                     epsilon=epsilon,
                                     **fit_kwargs)
          elif interval_type == 'all':
              print("Calculating Percentile Confidence Intervals")
              sys.stdout.flush()
              self.calc_percentile_interval(conf_percentage)
  
              print("Calculating BCa Confidence Intervals")
              sys.stdout.flush()
              self.calc_bca_interval(conf_percentage)
  
              # Note we don't print a user message here since that is done in
              # self.calc_abc_interval().
              self.calc_abc_interval(conf_percentage,
                                     init_vals,
                                     epsilon=epsilon,
                                     **fit_kwargs)
              # Get the alpha % for the given confidence percentage.
              alpha = bc.get_alpha_from_conf_percentage(conf_percentage)
              # Get lists of the interval type names and the endpoint names
              interval_type_names = ['percentile_interval',
                                     'BCa_interval',
                                     'ABC_interval']
              endpoint_names = ['{:.3g}%'.format(alpha / 2.0),
                                '{:.3g}%'.format(100 - alpha / 2.0)]
              # Create the column names for the dataframe of confidence intervals
              multi_index_names =\
                  list(itertools.product(interval_type_names, endpoint_names))
              df_column_index = pd.MultiIndex.from_tuples(multi_index_names)
              # Create the dataframe containing all confidence intervals
              self.all_intervals = pd.concat([self.percentile_interval,
                                              self.bca_interval,
                                              self.abc_interval],
                                             axis=1,
                                             ignore_index=True)
              # Store the column names for the combined confidence intervals
              self.all_intervals.columns = df_column_index
              self.all_intervals.index = self.mle_params.index
          else:
              msg =\
                  "interval_type MUST be in `['pi', 'bca', 'abc', 'all']`"
              raise ValueError(msg)
          return None