code: def _generate_simple_non_linear_data() -> pd.DataFrame:
      X = np.random.normal(loc=0, scale=1, size=5000)
      Y = X**2 + np.random.normal(loc=0, scale=1, size=5000)
      Z = np.exp(-Y) + np.random.normal(loc=0, scale=1, size=5000)
  
      return pd.DataFrame(data=dict(X=X, Y=Y, Z=Z))
  
file_path: dowhy/tests/gcm/test_validation.py
imports: import networkx
  import numpy
  import pandas
  from flaky import flaky
  from dowhy.gcm import InvertibleStructuralCausalModel, RejectionResult, auto, fit, kernel_based, refute_causal_structure, refute_invertible_model
label_desc: Use image node_id 1 for calling a global function with example usage: _generate_simple_non_linear_data() and returns: pd