code: def setUp(self):
      self.df_ind = pd.DataFrame(
          np.random.randn(10000, 3), columns=["X", "Y", "Z"]
      )
  
      Z = np.random.randn(10000)
      X = 3 * Z + np.random.normal(loc=0, scale=0.1, size=10000)
      Y = 2 * Z + np.random.normal(loc=0, scale=0.1, size=10000)
  
      self.df_cind = pd.DataFrame({"X": X, "Y": Y, "Z": Z})
  
      Z1 = np.random.randn(10000)
      Z2 = np.random.randn(10000)
      X = (
          3 * Z1
          + 2 * Z2
          + np.random.normal(loc=0, scale=0.1, size=10000)
      )
      Y = (
          2 * Z1
          + 3 * Z2
          + np.random.normal(loc=0, scale=0.1, size=10000)
      )
      self.df_cind_mul = pd.DataFrame(
          {"X": X, "Y": Y, "Z1": Z1, "Z2": Z2}
      )
  
      X = np.random.rand(10000)
      Y = np.random.rand(10000)
      Z = 2 * X + 2 * Y + np.random.normal(loc=0, scale=0.1, size=10000)
      self.df_vstruct = pd.DataFrame({"X": X, "Y": Y, "Z": Z})
  
file_path: pgmpy/pgmpy/tests/test_estimators/test_CITests.py
imports: import unittest
  import math
  import numpy
  import pandas
  from numpy import testing
  from pgmpy.estimators.CITests import *
label_desc: Use image node_id 1 for calling the TestPearsonr obj's underlying member method code with example usage: obj.setUp() without return types