code: def _generate_data():
      X0 = np.random.normal(0, 0.1, 100)
      X1 = 2 * X0
      X2 = 0.5 * X0
      X3 = 0.5 * X2
      observations = pd.DataFrame(
          {"X0": X0, "X1": X1, "X2": X2, "X3": X3}
      )
      return observations
  
file_path: dowhy/tests/gcm/test_equation_parser.py
imports: import networkx
  import numpy
  import pandas
  from flaky import flaky
  from dowhy.gcm import AdditiveNoiseModel, EmpiricalDistribution, ProbabilisticCausalModel, create_causal_model_from_equations, fit
  from dowhy.gcm.causal_mechanisms import ConditionalStochasticModel
  from dowhy.gcm.ml import create_linear_regressor_with_given_parameters
label_desc: Use image node_id 5 for calling a global function with example usage: _generate_data() and returns: observations