class_docstr: Class for fitting the Nelson-Aalen estimate for the cumulative hazard.
  
  NelsonAalenFitter(alpha=0.05, nelson_aalen_smoothing=True)
  
  Parameters
  ----------
  alpha: float, optional (default=0.05)
      The alpha value associated with the confidence intervals.
  nelson_aalen_smoothing: bool, optional
      If the event times are naturally discrete (like discrete years, minutes, etc.)
    then it is advisable to turn this parameter to False. See [1], pg.84.
  
  Notes
  ------
  [1] Aalen, O., Borgan, O., Gjessing, H., 2008. Survival and Event History Analysis
  
  Attributes
  ----------
  cumulative_hazard_ : DataFrame
      The estimated cumulative hazard (with custom timeline if provided)
  confidence_interval_ : DataFrame
      The lower and upper confidence intervals for the cumulative hazard
  durations: array
      The durations provided
  event_observed: array
      The event_observed variable provided
  timeline: array
      The time line to use for plotting and indexing
  entry: array or None
      The entry array provided, or None
  event_table: DataFrame
      A summary of the life table
docstr: Parameters
  -----------
  bandwidth: float
      the bandwidth used in the Epanechnikov kernel.
  
  Returns
  -------
  DataFrame:
    a DataFrame of the smoothed hazard
docstr_tok: ["Parameters","--","--","--","--","--","-","bandwidth",":","float","the","bandwidth","used","in","the","Epanechnikov","kernel",".","Returns","--","--","--","-","DataFrame",":","a","DataFrame","of","the","smoothed","hazard"]
code: def smoothed_hazard_(self, bandwidth):
      """
      Parameters
      -----------
      bandwidth: float
          the bandwidth used in the Epanechnikov kernel.
  
      Returns
      -------
      DataFrame:
        a DataFrame of the smoothed hazard
      """
      timeline = self.timeline
      cumulative_hazard_name = self.cumulative_hazard_.columns[0]
      hazard_name = "differenced-" + cumulative_hazard_name
      hazard_ = self.cumulative_hazard_.diff().fillna(
          self.cumulative_hazard_.iloc[0]
      )
      C = (hazard_[cumulative_hazard_name] != 0.0).values
      return pd.DataFrame(
          1.0
          / bandwidth
          * np.dot(
              epanechnikov_kernel(
                  timeline[:, None], timeline[C][None, :], bandwidth
              ),
              hazard_.values[C, :],
          ),
          columns=[hazard_name],
          index=timeline,
      )
  
imports: import warnings
  import numpy
  import pandas
  from lifelines.fitters import UnivariateFitter
  from lifelines.plotting import _plot_estimate
  from lifelines.exceptions import StatisticalWarning
  from lifelines.utils import _preprocess_inputs, _additive_estimate, epanechnikov_kernel, inv_normal_cdf, check_nans_or_infs, CensoringType, coalesce, _to_1d_array
label_desc: Use image node_id 9 for calling the NelsonAalenFitter obj's underlying member method code with example usage: obj.smoothed_hazard_(bandwidth) and returns: pd