code: def y_fit(self):
          
          if self._y_fit is None:
              self._y_fit = _np.dot(self.X_unweighted, self.beta)
          return self._y_fit
docs: Using the result of the linear least squares, the result of :math:`X_{ij}\\beta_i`