Parameters
        -----------
        bandwidth: float
            the bandwith used in the Epanechnikov kernel.

        Returns
        -------
        DataFrame:
          a DataFrame of the smoothed hazard

def smoothed_hazard_(self, bandwidth):
        """
        Parameters
        -----------
        bandwidth: float
            the bandwith 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,
        )