<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def predict(self, data):
 """ Predict a new data set based on an estimated model. Parameters data : pandas.DataFrame Data to use for prediction. Must contain all the columns referenced by the right-hand side of the `model_expression`. Returns ------- result : pandas.Series Predicted values as a pandas Series. Will have the index of `data` after applying filters. """

        self.assert_fitted()
        with log_start_finish('predicting model {}'.format(self.name), logger):
            return predict(
                data, self.predict_filters, self.model_fit, self.ytransform)