code: def test_build_skeleton(self):
      np.random.seed(42)
      data = pd.DataFrame(
          np.random.randint(0, 2, size=(10000, 5)),
          columns=list("ABCDE"),
      )
      data["F"] = data["A"] + data["B"] + data["C"]
      est = PC(data=data)
      for variant in ["orig", "stable", "parallel"]:
          for test in [
              "g_sq",
              "log_likelihood",
              "freeman_tuckey",
              "modified_log_likelihood",
              "neyman",
              "cressie_read",
              "power_divergence",
          ]:
              skel, sep_sets = est.estimate(
                  variant=variant,
                  ci_test=test,
                  return_type="skeleton",
                  significance_level=0.005,
                  n_jobs=2,
                  show_progress=False,
              )
  
imports: import unittest
  import networkx
  import numpy
  import pandas
  from joblib.externals.loky import get_reusable_executor
  from pgmpy.estimators import PC
  from pgmpy.independencies import Independencies
  from pgmpy.models import BayesianNetwork
  from pgmpy.sampling import BayesianModelSampling
  from pgmpy.utils import get_example_model
label_desc: Use image node_id 2 for calling the TestPCEstimatorFromDiscreteData obj's underlying member method code with example usage: obj.test_build_skeleton() without return types