class_docstr: Multivariate kernel density estimator.
  
  This density estimator can handle univariate as well as multivariate data,
  including mixed continuous / ordered discrete / unordered discrete data.
  It also provides cross-validated bandwidth selection methods (least
  squares, maximum likelihood).
  
  Parameters
  ----------
  data : list of ndarrays or 2-D ndarray
      The training data for the Kernel Density Estimation, used to determine
      the bandwidth(s).  If a 2-D array, should be of shape
      (num_observations, num_variables).  If a list, each list element is a
      separate observation.
  var_type : str
      The type of the variables:
  
          - c : continuous
          - u : unordered (discrete)
          - o : ordered (discrete)
  
      The string should contain a type specifier for each variable, so for
      example ``var_type='ccuo'``.
  bw : array_like or str, optional
      If an array, it is a fixed user-specified bandwidth.  If a string,
      should be one of:
  
          - normal_reference: normal reference rule of thumb (default)
          - cv_ml: cross validation maximum likelihood
          - cv_ls: cross validation least squares
  
  defaults : EstimatorSettings instance, optional
      The default values for (efficient) bandwidth estimation.
  
  Attributes
  ----------
  bw : array_like
      The bandwidth parameters.
  
  See Also
  --------
  KDEMultivariateConditional
  
  Examples
  --------
  >>> import statsmodels.api as sm
  >>> nobs = 300
  >>> np.random.seed(1234)  # Seed random generator
  >>> c1 = np.random.normal(size=(nobs,1))
  >>> c2 = np.random.normal(2, 1, size=(nobs,1))
  
  Estimate a bivariate distribution and display the bandwidth found:
  
  >>> dens_u = sm.nonparametric.KDEMultivariate(data=[c1,c2],
  ...     var_type='cc', bw='normal_reference')
  >>> dens_u.bw
  array([ 0.39967419,  0.38423292])
class_docstr_tok: ["Multivariate","kernel","density","estimator",".","This","density","estimator","can","handle","univariate","as","well","as","multivariate","data",",","including","mixed","continuous","\/","ordered","discrete","\/","unordered","discrete","data",".","It","also","provides","cross-validated","bandwidth","selection","methods","(","least","squares",",","maximum","likelihood",")",".","Parameters","--","--","--","--","--","data",":","list","of","ndarrays","or","2-D","ndarray","The","training","data","for","the","Kernel","Density","Estimation",",","used","to","determine","the","bandwidth","(","s",")",".","If","a","2-D","array",",","should","be","of","shape","(","num_observations",",","num_variables",")",".","If","a","list",",","each","list","element","is","a","separate","observation",".","var_type",":","str","The","type","of","the","variables",":","-","c",":","continuous","-","u",":","unordered","(","discrete",")","-","o",":","ordered","(","discrete",")","The","string","should","contain","a","type","specifier","for","each","variable",",","so","for","example","``","var_type='ccuo","'","``",".","bw",":","array_like","or","str",",","optional","If","an","array",",","it","is","a","fixed","user-specified","bandwidth",".","If","a","string",",","should","be","one","of",":","-","normal_reference",":","normal","reference","rule","of","thumb","(","default",")","-","cv_ml",":","cross","validation","maximum","likelihood","-","cv_ls",":","cross","validation","least","squares","defaults",":","EstimatorSettings","instance",",","optional","The","default","values","for","(","efficient",")","bandwidth","estimation",".","Attributes","--","--","--","--","--","bw",":","array_like","The","bandwidth","parameters",".","See","Also","--","--","--","--","KDEMultivariateConditional","Examples","--","--","--","--",">",">",">","import","statsmodels.api","as","sm",">",">",">","nobs","=","300",">",">",">","np.random.seed","(","1234",")","#","Seed","random","generator",">",">",">","c1","=","np.random.normal","(","size=","(","nobs,1",")",")",">",">",">","c2","=","np.random.normal","(","2",",","1",",","size=","(","nobs,1",")",")","Estimate","a","bivariate","distribution","and","display","the","bandwidth","found",":",">",">",">","dens_u","=","sm.nonparametric.KDEMultivariate","(","data=","[","c1",",","c2","]",",","...","var_type='cc","'",",","bw='normal_reference","'",")",">",">",">","dens_u.bw","array","(","[","0.39967419",",","0.38423292","]",")"]
docstr: Returns the leave-one-out likelihood function.
  
  The leave-one-out likelihood function for the unconditional KDE.
  
  Parameters
  ----------
  bw : array_like
      The value for the bandwidth parameter(s).
  func : callable, optional
      Function to transform the likelihood values (before summing); for
      the log likelihood, use ``func=np.log``.  Default is ``f(x) = x``.
  
  Notes
  -----
  The leave-one-out kernel estimator of :math:`f_{-i}` is:
  
  .. math:: f_{-i}(X_{i})=\frac{1}{(n-1)h}
              \sum_{j=1,j\neq i}K_{h}(X_{i},X_{j})
  
  where :math:`K_{h}` represents the generalized product kernel
  estimator:
  
  .. math:: K_{h}(X_{i},X_{j}) =
      \prod_{s=1}^{q}h_{s}^{-1}k\left(\frac{X_{is}-X_{js}}{h_{s}}\right)
docstr_tok: ["Returns","the","leave-one-out","likelihood","function",".","The","leave-one-out","likelihood","function","for","the","unconditional","KDE",".","Parameters","--","--","--","--","--","bw",":","array_like","The","value","for","the","bandwidth","parameter","(","s",")",".","func",":","callable",",","optional","Function","to","transform","the","likelihood","values","(","before","summing",")",";","for","the","log","likelihood",",","use","``","func=np.log","``",".","Default","is","``","f","(","x",")","=","x","``",".","Notes","--","--","-","The","leave-one-out","kernel","estimator","of",":","math",":","`","f_","{","-i","}","`","is",":","..","math",":",":","f_","{","-i","}","(","X_","{","i","}",")","=\\frac","{","1","}","{","(","n-1",")","h","}","\\sum_","{","j=1",",","j\\neq","i","}","K_","{","h","}","(","X_","{","i","}",",","X_","{","j","}",")","where",":","math",":","`","K_","{","h","}","`","represents","the","generalized","product","kernel","estimator",":","..","math",":",":","K_","{","h","}","(","X_","{","i","}",",","X_","{","j","}",")","=","\\prod_","{","s=1","}","^","{","q","}","h_","{","s","}","^","{","-1","}","k\\left","(","\\frac","{","X_","{","is","}","-X_","{","js","}","}","{","h_","{","s","}","}","\\right",")"]
code: def loo_likelihood(self, bw, func=lambda x: x):
      r"""
      Returns the leave-one-out likelihood function.
  
      The leave-one-out likelihood function for the unconditional KDE.
  
      Parameters
      ----------
      bw : array_like
          The value for the bandwidth parameter(s).
      func : callable, optional
          Function to transform the likelihood values (before summing); for
          the log likelihood, use ``func=np.log``.  Default is ``f(x) = x``.
  
      Notes
      -----
      The leave-one-out kernel estimator of :math:`f_{-i}` is:
  
      .. math:: f_{-i}(X_{i})=\frac{1}{(n-1)h}
                  \sum_{j=1,j\neq i}K_{h}(X_{i},X_{j})
  
      where :math:`K_{h}` represents the generalized product kernel
      estimator:
  
      .. math:: K_{h}(X_{i},X_{j}) =
          \prod_{s=1}^{q}h_{s}^{-1}k\left(\frac{X_{is}-X_{js}}{h_{s}}\right)
      """
      LOO = LeaveOneOut(self.data)
      L = 0
      for i, X_not_i in enumerate(LOO):
          f_i = gpke(
              bw,
              data=-X_not_i,
              data_predict=-self.data[i, :],
              var_type=self.var_type,
          )
          L += func(f_i)
  
      return -L
  
imports: import numpy
  from .None import kernels
  from ._kernel_base import GenericKDE, EstimatorSettings, gpke, LeaveOneOut, _adjust_shape
label_desc: Use image node_id 3 for calling the KDEMultivariate obj's underlying member method code with example usage: obj.loo_likelihood(bw, func) and returns: unknown