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 with confidence 1sigma bounds
          
code: def smoothconf(self, xs, ys, x, alpha=0.05):
      """Returns the kernel smoothing estimate with confidence 1sigma bounds"""
      xs, ys = self.in_domain(xs, ys, x)
  
      if len(xs) > 0:
          fittedvals = np.array([self.smooth(xs, ys, xx) for xx in xs])
          # fittedvals = self.smooth(xs, ys, x) # x or xs in Haerdle
          sqresid = square(subtract(ys, fittedvals))
          w = np.sum(self((xs - x) / self.h))
          # var = sqresid.sum() / (len(sqresid) - 0)  # nonlocal var ? JP just trying
          v = np.sum(
              [
                  rr * self((xx - x) / self.h)
                  for xx, rr in zip(xs, sqresid)
              ]
          )
          var = v / w
          sd = np.sqrt(var)
          K = self.L2Norm
          yhat = self.smooth(xs, ys, x)
          from scipy import stats
  
          crit = stats.norm.isf(alpha / 2)
          err = (
              crit
              * sd
              * np.sqrt(K)
              / np.sqrt(w * self.h * self.norm_const)
          )
          return (yhat - err, yhat, yhat + err)
      else:
          return (np.nan, np.nan, 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 10 for calling the CustomKernel obj's underlying member method code with example usage: obj.smoothconf(xs, ys, x, alpha) and returns: unknown,  yhat,  unknown, np,  np,  np