class_docstr: Base class for density estimation and regression KDE classes.
class_docstr_tok: ["Base","class","for","density","estimation","and","regression","KDE","classes","."]
docstr: Returns Scott's normal reference rule of thumb bandwidth parameter.
  
  Notes
  -----
  See p.13 in [2] for an example and discussion.  The formula for the
  bandwidth is
  
  .. math:: h = 1.06n^{-1/(4+q)}
  
  where ``n`` is the number of observations and ``q`` is the number of
  variables.
docstr_tok: ["Returns","Scott","'s","normal","reference","rule","of","thumb","bandwidth","parameter",".","Notes","--","--","-","See","p.13","in","[","2","]","for","an","example","and","discussion",".","The","formula","for","the","bandwidth","is","..","math",":",":","h","=","1.06n^","{","-1\/","(","4+q",")","}","where","``","n","``","is","the","number","of","observations","and","``","q","``","is","the","number","of","variables","."]
code: def _normal_reference(self):
      """
      Returns Scott's normal reference rule of thumb bandwidth parameter.
  
      Notes
      -----
      See p.13 in [2] for an example and discussion.  The formula for the
      bandwidth is
  
      .. math:: h = 1.06n^{-1/(4+q)}
  
      where ``n`` is the number of observations and ``q`` is the number of
      variables.
      """
      X = np.std(self.data, axis=0)
      return 1.06 * X * self.nobs ** (-1.0 / (4 + self.data.shape[1]))
  
imports: import copy
  import numpy
  from scipy import optimize
  from scipy.stats.mstats import mquantiles
  from .None import kernels
label_desc: Use image node_id 6 for calling the GenericKDE obj's underlying member method code with example usage: obj._normal_reference() and returns: unknown