class_docstr: A proposal using a KDE of the complementary ensemble
  
  This is a simplified version of the method used in `kombine
  <https://github.com/bfarr/kombine>`_. If you use this proposal, you should
  use *a lot* of walkers in your ensemble.
  
  Args:
      bw_method: The bandwidth estimation method. See `the scipy docs
          <https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.gaussian_kde.html>`_
          for allowed values.
class_docstr_tok: ["A","proposal","using","a","KDE","of","the","complementary","ensemble","This","is","a","simplified","version","of","the","method","used","in","`","kombine","<","https",":","\/\/github.com\/bfarr\/kombine",">","`","_",".","If","you","use","this","proposal",",","you","should","use","*","a","lot","*","of","walkers","in","your","ensemble",".","Args",":","bw_method",":","The","bandwidth","estimation","method",".","See","`","the","scipy","docs","<","https",":","\/\/docs.scipy.org\/doc\/scipy\/reference\/generated\/scipy.stats.gaussian_kde.html",">","`","_","for","allowed","values","."]
code: def get_proposal(self, s, c, random):
      c = np.concatenate(c, axis=0)
      kde = gaussian_kde(c.T, bw_method=self.bw_method)
      q = kde.resample(len(s), random)
      factor = kde.logpdf(s.T) - kde.logpdf(q)
      return q.T, factor
  
imports: import numpy
  from .red_blue import RedBlueMove
label_desc: Use image node_id 2 for calling the KDEMove obj's underlying member method code with example usage: obj.get_proposal(s, c, random) and returns: q,  factor