class_docstr: Generic 1D Kernel object.
  Can be constructed by selecting a standard named Kernel,
  or providing a lambda expression and domain.
  The domain allows some algorithms to run faster for finite domain kernels.
class_docstr_tok: ["Generic","1D","Kernel","object",".","Can","be","constructed","by","selecting","a","standard","named","Kernel",",","or","providing","a","lambda","expression","and","domain",".","The","domain","allows","some","algorithms","to","run","faster","for","finite","domain","kernels","."]
docstr: Returns the kernel smoothing estimate for point x based on x-values
  xs and y-values ys.
  Not expected to be called by the user.
code: def smooth(self, xs, ys, x):
      """Returns the kernel smoothing estimate for point x based on x-values
      xs and y-values ys.
      Not expected to be called by the user.
      """
      xs, ys = self.in_domain(xs, ys, x)
  
      if len(xs) > 0:
          w = np.sum(self((xs - x) / self.h))
          # TODO: change the below to broadcasting when shape is sorted
          v = np.sum(
              [yy * self((xx - x) / self.h) for xx, yy in zip(xs, ys)]
          )
          return v / w
      else:
          return np.nan
  
imports: from statsmodels.compat.python import lzip, lfilter
  import numpy
  import scipy.integrate
  from scipy.special import factorial
  from numpy import exp, multiply, square, divide, subtract, inf
label_desc: Use image node_id 8 for calling the CustomKernel obj's underlying member method code with example usage: obj.smooth(xs, ys, x) and returns: unknown, np