docstr: samples = mvn samples + noise samples
  In this test, we try to recover noise parameters when some elements in
  'samples' are missing at random.
code: def test_missing_value_inference_fill(self):
      """
      samples = mvn samples + noise samples
      In this test, we try to recover noise parameters when some elements in
      'samples' are missing at random.
      """
  
      torch.manual_seed(self.seed)
  
      mvn, samples = self._make_data()
  
      missing_probability = 0.33
      missing_idx = (
          torch.distributions.Binomial(1, missing_probability)
          .sample(samples.shape)
          .bool()
      )
      samples[missing_idx] = float("nan")
  
      # check that the correct noise sd is recovered
  
      with settings.observation_nan_policy("fill"):
          self._check_recovery(mvn, samples)
  
imports: import pickle
  import unittest
  import torch
  from linear_operator.operators import DiagLinearOperator
  from gpytorch import settings
  from gpytorch.distributions import MultivariateNormal
  from gpytorch.likelihoods import DirichletClassificationLikelihood, FixedNoiseGaussianLikelihood, GaussianLikelihood
  from gpytorch.likelihoods.noise_models import FixedGaussianNoise
  from gpytorch.priors import GammaPrior
  from gpytorch.test.base_likelihood_test_case import BaseLikelihoodTestCase
label_desc: Use image node_id 2 for calling the TestGaussianLikelihoodWithMissingObs obj's underlying member method code with example usage: obj.test_missing_value_inference_fill() without return types