code: def test_get_init_values(self):
      demo_estimator = SEMEstimator(self.demo)
      for method in ["random", "std"]:
          B_init, zeta_init = demo_estimator.get_init_values(
              data=self.demo_data, method=method
          )
  
          demo_lisrel = self.demo.to_lisrel()
          m = len(demo_lisrel.eta)
          self.assertEqual(B_init.shape, (m, m))
          self.assertEqual(zeta_init.shape, (m, m))
  
          union_estimator = SEMEstimator(self.union)
          B_init, zeta_init = union_estimator.get_init_values(
              data=self.union_data, method=method
          )
          union_lisrel = self.union.to_lisrel()
          m = len(union_lisrel.eta)
          self.assertEqual(B_init.shape, (m, m))
          self.assertEqual(zeta_init.shape, (m, m))
  
file_path: pgmpy/pgmpy/tests/test_estimators/test_SEMEstimator.py
imports: import unittest
  import numpy
  import pandas
  import torch
  from pgmpy import config
  from pgmpy.estimators import IVEstimator, SEMEstimator
  from pgmpy.models import SEM, SEMGraph
label_desc: Use image node_id 2 for calling the TestSEMEstimator obj's underlying member method code with example usage: obj.test_get_init_values() without return types