def METHOD_NAME(self, X, sample_weight=None):
    X_new = super().METHOD_NAME(X, sample_weight)
    X_new.sigma_ = getattr(X_new, "sigma_", self.X_.sigma_)
    X_new.std_err_ = getattr(X_new, "std_err_", self.X_.std_err_)
    X_new.average_ = getattr(X_new, "average_", self.X_.average_)
    X_new.w_ = getattr(X_new, "w_", self.X_.w_)
    X_new._full_triangle_ = X_new.full_triangle_
    X_new.parameter_risk_ = self._mack_recursion("parameter_risk_", X_new)
    X_new.process_risk_ = self._mack_recursion("process_risk_", X_new)
    X_new.total_process_risk_ = (X_new.process_risk_ ** 2).sum(axis="origin").sqrt()
    X_new.total_parameter_risk_ = self._mack_recursion(
        "total_parameter_risk_", X_new
    )
    X_new.full_std_err_ = self._get_full_std_err_(X_new)
    X_new.total_mack_std_err_ = self._get_total_mack_std_err_(X_new)
    X_new.mack_std_err_ = (
        X_new.parameter_risk_ ** 2 + X_new.process_risk_ ** 2
    ).sqrt()
    del X_new._full_triangle_
    return X_new