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.
  
  Special implementation optimized for Biweight.
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.
  
      Special implementation optimized for Biweight.
      """
      xs, ys = self.in_domain(xs, ys, x)
  
      if len(xs) > 0:
          w = np.sum(
              square(
                  subtract(1, square(divide(subtract(xs, x), self.h)))
              )
          )
          v = np.sum(
              multiply(
                  ys,
                  square(
                      subtract(
                          1, square(divide(subtract(xs, x), self.h))
                      )
                  ),
              )
          )
          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 2 for calling the Biweight obj's underlying member method code with example usage: obj.smooth(xs, ys, x) and returns: unknown, np