docstr: Given a Normal distribution for the latent function,
  return the mean and marginal variance of Y,
  
  i.e. if
      q(f) = N(Fmu, Fvar)
  
  and this object represents
  
      p(y|f)
  
  then this method computes the predictive mean
  
     ∫∫ y p(y|f)q(f) df dy
  
  and the predictive variance
  
     ∫∫ y² p(y|f)q(f) df dy  - [ ∫∫ y p(y|f)q(f) df dy ]²
  
  :param X: input tensor
  :param Fmu: mean function evaluation tensor
  :param Fvar: variance of function evaluation tensor
  :returns: mean and variance
docstr_tok: ["Given","a","Normal","distribution","for","the","latent","function",",","return","the","mean","and","marginal","variance","of","Y",",","i.e",".","if","q","(","f",")","=","N","(","Fmu",",","Fvar",")","and","this","object","represents","p","(","y|f",")","then","this","method","computes","the","predictive","mean","\u222b\u222b","y","p","(","y|f",")","q","(","f",")","df","dy","and","the","predictive","variance","\u222b\u222b","y\u00b2","p","(","y|f",")","q","(","f",")","df","dy","-","[","\u222b\u222b","y","p","(","y|f",")","q","(","f",")","df","dy","]","\u00b2",":","param","X",":","input","tensor",":","param","Fmu",":","mean","function","evaluation","tensor",":","param","Fvar",":","variance","of","function","evaluation","tensor",":","returns",":","mean","and","variance"]
code: def predict_mean_and_var(
      self, X: TensorType, Fmu: TensorType, Fvar: TensorType
  ) -> MeanAndVariance:
      """
      Given a Normal distribution for the latent function,
      return the mean and marginal variance of Y,
  
      i.e. if
          q(f) = N(Fmu, Fvar)
  
      and this object represents
  
          p(y|f)
  
      then this method computes the predictive mean
  
         ∫∫ y p(y|f)q(f) df dy
  
      and the predictive variance
  
         ∫∫ y² p(y|f)q(f) df dy  - [ ∫∫ y p(y|f)q(f) df dy ]²
  
      :param X: input tensor
      :param Fmu: mean function evaluation tensor
      :param Fvar: variance of function evaluation tensor
      :returns: mean and variance
      """
      return self._predict_mean_and_var(X, Fmu, Fvar)
  
imports: import abc
  from typing import Any, Callable, Iterable, Optional, Sequence, Union
  import tensorflow
  from check_shapes import check_shapes, inherit_check_shapes
  from ..base import MeanAndVariance, Module, TensorType
  from ..quadrature import GaussianQuadrature, NDiagGHQuadrature, ndiag_mc
label_desc: Use image node_id 8 for calling the Likelihood obj's underlying member method code with example usage: obj.predict_mean_and_var(X, Fmu, Fvar) and returns: self