code: def test_pdfs(self):
      for bw in np.logspace(-0.5, -0.1, 5):
          self.sm_kde.bw = np.array([bw] * len(self.var_types))
          self.hp_kde_full.set_bandwidths(
              np.array([bw] * len(self.var_types))
          )
          self.hp_kde_factor.set_bandwidths(
              np.array([bw] * len(self.var_types))
          )
  
          p1 = self.sm_kde.pdf(self.sm_x_test)
          p2 = self.hp_kde_full.pdf(self.x_test)
          p3 = self.hp_kde_factor.pdf(self.x_test)
  
          p4_tmp = []
          for i, kde in enumerate(self.sm_1d_kdes):
              kde.bw = np.array([bw])
              p4_tmp.append(kde.pdf(self.sm_x_test[:, i]))
  
          p4_tmp = np.array(p4_tmp)
          p4 = np.array(p4_tmp).prod(axis=0)
  
          self.assertTrue(np.allclose(p1, p2))
          self.assertTrue(np.allclose(p3, p4))
  
imports: import os
  import unittest
  import numpy
  import statsmodels.api
  import ConfigSpace
  from hpbandster.optimizers.kde.mvkde import MultivariateKDE
  from pdb import set_trace
label_desc: Use image node_id 5 for calling the BaseNdTest obj's underlying member method code with example usage: obj.test_pdfs() without return types