code: def _create_pcm_and_outlier_observation():
      X0 = np.random.uniform(-1, 1, 1000)
      X1 = 2 * X0 + np.random.normal(0, 0.1, 1000)
      X2 = 0.5 * X0 + np.random.normal(0, 0.1, 1000)
      X3 = 0.5 * X2 + np.random.normal(0, 0.1, 1000)
  
      original_observations = pd.DataFrame(
          {"X0": X0, "X1": X1, "X2": X2, "X3": X3}
      )
      outlier_observation = pd.DataFrame(
          {
              "X0": X0[:1],
              "X1": X1[:1] + np.std(X1.data) * 3,
              "X2": X2[:1],
              "X3": X3[:1],
          }  # Creating an anomaly here
      )
  
      pcm = ProbabilisticCausalModel(
          nx.DiGraph([("X0", "X1"), ("X0", "X2"), ("X2", "X3")])
      )
      auto.assign_causal_mechanisms(pcm, original_observations)
      fit(pcm, original_observations)
  
      return pcm, outlier_observation
  
imports: import operator
  import networkx
  import numpy
  import pandas
  from flaky import flaky
  from pytest import approx
  from dowhy.gcm import AdditiveNoiseModel, EmpiricalDistribution, InverseDensityScorer, ITAnomalyScorer, MeanDeviationScorer, MedianCDFQuantileScorer, MedianDeviationScorer, ProbabilisticCausalModel, RescaledMedianCDFQuantileScorer, anomaly_scores, auto, fit
  from dowhy.gcm.anomaly import conditional_anomaly_scores
  from dowhy.gcm.constant import EPS
  from dowhy.gcm.distribution_change import estimate_distribution_change_scores
  from dowhy.gcm.ml import create_linear_regressor
label_desc: Use image node_id 14 for calling a global function with example usage: _create_pcm_and_outlier_observation() and returns: pcm,  outlier_observation