code: def test_inverse_link_functions(self, dist_type, X, X_hat):
      dist_types = [dist_type(idx=idx) for idx in np.arange(X.shape[1])]
      for dt in dist_types:
          X = dt.preprocess_X(X)
      X = torch.from_numpy(X).float()
      X_hat = torch.from_numpy(X_hat)
  
      with torch.no_grad():
          for dt in dist_types:
              pred = dt.inverse_link_function(X_hat)
              assert isinstance(pred, torch.Tensor)
  
imports: import copy
  import numpy
  import pandas
  import pytest
  import torch
  from causalnex.structure.pytorch.dist_type import DistTypeBinary, DistTypeCategorical, DistTypeContinuous, DistTypeOrdinal, DistTypePoisson
  from causalnex.structure.pytorch.notears import from_numpy, from_pandas
label_desc: Use image node_id 4 for calling the TestDistTypeClasses obj's underlying member method code with example usage: obj.test_inverse_link_functions(dist_type, X, X_hat) without return types