<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def infer_order(self, goal, **kwargs):
 """Infer an order in order to obtain an effect close to goal, given the observation data of the model. :arg goal: a goal vector compatible with self.Sfeats :rtype: same as goal (if list, tuple, or pandas.Series, else tuple) """

        x = self.imodel.infer_x(np.array(self._pre_y(goal)), **kwargs)[0]
        return self._post_x(x, goal)