class_docstr: Batch Integrated Negative Posterior Variance for Active Learning.
  
  This acquisition function quantifies the (negative) integrated posterior variance
  (excluding observation noise, computed using MC integration) of the model.
  In that, it is a proxy for global model uncertainty, and thus purely focused on
  "exploration", rather the "exploitation" of many of the classic Bayesian
  Optimization acquisition functions.
  
  See [Seo2014activedata]_, [Chen2014seqexpdesign]_, and [Binois2017repexp]_.
class_docstr_tok: ["Batch","Integrated","Negative","Posterior","Variance","for","Active","Learning",".","This","acquisition","function","quantifies","the","(","negative",")","integrated","posterior","variance","(","excluding","observation","noise",",","computed","using","MC","integration",")","of","the","model",".","In","that",",","it","is","a","proxy","for","global","model","uncertainty",",","and","thus","purely","focused","on","''","exploration","''",",","rather","the","``","exploitation","''","of","many","of","the","classic","Bayesian","Optimization","acquisition","functions",".","See","[","Seo2014activedata","]","_",",","[","Chen2014seqexpdesign","]","_",",","and","[","Binois2017repexp","]","_","."]
docstr: q-Integrated Negative Posterior Variance.
  
  Args:
      model: A fitted model.
      mc_points: A `batch_shape x N x d` tensor of points to use for
          MC-integrating the posterior variance. Usually, these are qMC
          samples on the whole design space, but biased sampling directly
          allows weighted integration of the posterior variance.
      sampler: The sampler used for drawing fantasy samples. In the basic setting
          of a standard GP (default) this is a dummy, since the variance of the
          model after conditioning does not actually depend on the sampled values.
      posterior_transform: A PosteriorTransform. If using a multi-output model,
          a PosteriorTransform that transforms the multi-output posterior into a
          single-output posterior is required.
      X_pending: A `n' x d`-dim Tensor of `n'` design points that have
          points that have been submitted for function evaluation but
          have not yet been evaluated.
docstr_tok: ["q-Integrated","Negative","Posterior","Variance",".","Args",":","model",":","A","fitted","model",".","mc_points",":","A","`","batch_shape","x","N","x","d","`","tensor","of","points","to","use","for","MC-integrating","the","posterior","variance",".","Usually",",","these","are","qMC","samples","on","the","whole","design","space",",","but","biased","sampling","directly","allows","weighted","integration","of","the","posterior","variance",".","sampler",":","The","sampler","used","for","drawing","fantasy","samples",".","In","the","basic","setting","of","a","standard","GP","(","default",")","this","is","a","dummy",",","since","the","variance","of","the","model","after","conditioning","does","not","actually","depend","on","the","sampled","values",".","posterior_transform",":","A","PosteriorTransform",".","If","using","a","multi-output","model",",","a","PosteriorTransform","that","transforms","the","multi-output","posterior","into","a","single-output","posterior","is","required",".","X_pending",":","A","`","n","'","x","d","`","-dim","Tensor","of","`","n","'","`","design","points","that","have","points","that","have","been","submitted","for","function","evaluation","but","have","not","yet","been","evaluated","."]
code: def __init__(
      self,
      model: Model,
      mc_points: Tensor,
      sampler: Optional[MCSampler] = None,
      posterior_transform: Optional[PosteriorTransform] = None,
      X_pending: Optional[Tensor] = None,
  ) -> None:
      r"""q-Integrated Negative Posterior Variance.
  
      Args:
          model: A fitted model.
          mc_points: A `batch_shape x N x d` tensor of points to use for
              MC-integrating the posterior variance. Usually, these are qMC
              samples on the whole design space, but biased sampling directly
              allows weighted integration of the posterior variance.
          sampler: The sampler used for drawing fantasy samples. In the basic setting
              of a standard GP (default) this is a dummy, since the variance of the
              model after conditioning does not actually depend on the sampled values.
          posterior_transform: A PosteriorTransform. If using a multi-output model,
              a PosteriorTransform that transforms the multi-output posterior into a
              single-output posterior is required.
          X_pending: A `n' x d`-dim Tensor of `n'` design points that have
              points that have been submitted for function evaluation but
              have not yet been evaluated.
      """
      super().__init__(
          model=model, posterior_transform=posterior_transform
      )
      if sampler is None:
          # If no sampler is provided, we use the following dummy sampler for the
          # fantasize() method in forward. IMPORTANT: This assumes that the posterior
          # variance does not depend on the samples y (only on x), which is true for
          # standard GP models, but not in general (e.g. for other likelihoods or
          # heteroskedastic GPs using a separate noise model fit on data).
          sampler = SobolQMCNormalSampler(sample_shape=torch.Size([1]))
      self.sampler = sampler
      self.X_pending = X_pending
      self.register_buffer("mc_points", mc_points)
  
file_path: botorch/botorch/acquisition/active_learning.py
imports: from __future__ import annotations
  from typing import Optional
  import torch
  from botorch import settings
  from botorch.acquisition.analytic import AnalyticAcquisitionFunction
  from botorch.acquisition.monte_carlo import MCAcquisitionFunction
  from botorch.acquisition.objective import MCAcquisitionObjective, PosteriorTransform
  from botorch.models.model import Model
  from botorch.sampling.base import MCSampler
  from botorch.sampling.normal import SobolQMCNormalSampler
  from botorch.utils.transforms import concatenate_pending_points, t_batch_mode_transform
  from torch import Tensor
label_desc: Use image node_id 1 to create a new qNegIntegratedPosteriorVariance object from inherited base classes: AnalyticAcquisitionFunction with example: obj = qNegIntegratedPosteriorVariance(model, mc_points, sampler, posterior_transform, X_pending)