def infer_newX(model, Y_new, optimize=True, init='<STR_LIT>'):
infr_m = InferenceX(model, Y_new, init=init)<EOL>if optimize:<EOL><INDENT>infr_m.optimize()<EOL><DEDENT>return infr_m.X, infr_m<EOL>
Infer the distribution of X for the new observed data *Y_new*.

:param model: the GPy model used in inference
:type model: GPy.core.Model
:param Y_new: the new observed data for inference
:type Y_new: numpy.ndarray
:param optimize: whether to optimize the location of new X (True by default)
:type optimize: boolean
:return: a tuple containing the estimated posterior distribution of X and the model that optimize X
:rtype: (GPy.core.parameterization.variational.VariationalPosterior, GPy.core.Model)