code: def getLogPredictiveDensities(targetValues, means, variances):
      assert targetValues.shape == means.shape
      assert variances.shape == means.shape
  
      deltas = targetValues - means
      mahalanobisTerms = -0.5 * deltas**2 / variances
      normalizationTerms = -0.5 * np.log(variances) - 0.5 * np.log(
          2.0 * np.pi
      )
      return mahalanobisTerms + normalizationTerms
  
file_path: GPflow/doc/sphinx/notebooks/theory/FITCvsVFE.py
imports: import numpy
  import tensorflow
  import gpflow
  from gpflow.ci_utils import reduce_in_tests
label_desc: Use image node_id 3 for calling a global function with example usage: getLogPredictiveDensities(targetValues, means, variances) and returns: unknown