def METHOD_NAME(self, x, fit_weights=False):
    if fit_weights:
        raise NotImplementedError
    else:
        self.x = x
        for model in self.parametric_models:
            model.METHOD_NAME(x)
        self.params = {
            model.name: model.get_params() for model in self.parametric_models
        }
        # set sigma squared to be the sample variance
        sum_sq = 0
        for i in range(x.shape[0]):
            sum_sq += (x[i] - self.predict(i + 1)) ** 2
        self.sigma_sq = (1 / x.shape[0]) * sum_sq