code: def generation_process(self):
      X = np.random.randn(
          RandomNeuralNetwork.TRAINING_SAMPLE_SIZE, len(self.confounder)
      )
      y = np.random.randn(
          RandomNeuralNetwork.TRAINING_SAMPLE_SIZE, len(self.treatment)
      )
      self.nn["confounder=>treatment"].fit(X, y)
  
      X = np.random.randn(
          RandomNeuralNetwork.TRAINING_SAMPLE_SIZE,
          len(self.confounder) + len(self.effect_modifier),
      )
      y = np.random.randn(
          RandomNeuralNetwork.TRAINING_SAMPLE_SIZE, len(self.outcome)
      )
      self.nn["confounder=>outcome"].fit(X, y)
  
      X = np.random.randn(
          RandomNeuralNetwork.TRAINING_SAMPLE_SIZE,
          len(self.effect_modifier),
      )
      y = np.random.randn(
          RandomNeuralNetwork.TRAINING_SAMPLE_SIZE, len(self.outcome)
      )
      self.nn["effect_modifier=>outcome"].fit(X, y)
  
      X = np.random.randn(
          RandomNeuralNetwork.TRAINING_SAMPLE_SIZE,
          len(self.confounder)
          + len(self.effect_modifier)
          + len(self.treatment),
      )
      y = np.random.randn(
          RandomNeuralNetwork.TRAINING_SAMPLE_SIZE, len(self.outcome)
      )
      self.nn["treatment=>outcome"].fit(X, y)
  
file_path: dowhy/dowhy/utils/dgps/random_neural_network.py
imports: import numpy
  import pandas
  from sklearn.neural_network import MLPRegressor
  from dowhy.utils.dgp import DataGeneratingProcess
label_desc: Use image node_id 3 for calling the RandomNeuralNetwork obj's underlying member method code with example usage: obj.generation_process() without return types