code: def test_column_ecdf(self):
      def ecdf(X):
          """Calculated the empirical CDF of a given dataset using the statsmodels function.
          Parameters
          ----------
          X : numpy array of shape (n_samples, n_features)
              The training dataset.
          Returns
          -------
          ecdf(X) : float
              Empirical CDF of X
          """
          ecdf = statsmodels.distributions.ECDF(X)
          return ecdf(X)
  
      # run a test case that has equal elements per feature column to show also
      # this highly unlikely case works
      mat = np.array([[1, 1, 1], [1, 1, 1], [1, 1, 1], [2, 2, 2]])
      assert_equal(column_ecdf(mat), np.apply_along_axis(ecdf, 0, mat))
  
      # run the models multiple times for random matrices
      new = []
      old = []
      for _ in range(50):
          # create random matrix for testing
          mat = np.random.rand(1000, 100)
  
          # execute and measure the time of our own function
          t = time.time()
          result = column_ecdf(mat)
          new.append(time.time() - t)
  
          # execute the statsmodels function and measure execution time
          t = time.time()
          expected = np.apply_along_axis(ecdf, 0, mat)
          old.append(time.time() - t)
  
          # check that the results are equal
          assert_equal(result, expected)
  
imports: from __future__ import division
  from __future__ import print_function
  import os
  import sys
  import unittest
  import numpy
  from numpy.testing import assert_allclose
  from numpy.testing import assert_equal
  from numpy.testing import assert_raises
  from pyod.utils.stat_models import pairwise_distances_no_broadcast
  from pyod.utils.stat_models import wpearsonr
  from pyod.utils.stat_models import pearsonr_mat
  from pyod.utils.stat_models import column_ecdf
  import statsmodels.distributions
  import time
label_desc: Use image node_id 6 for calling the TestStatModels obj's underlying member method code with example usage: obj.test_column_ecdf() and returns: ecdf