code: def check_pred_quantiles_proba(
      obj, return_metadata=False, var_name="obj"
  ):
      metadata = dict()
  
      # check if the input is a dataframe
      if not isinstance(obj, pd.DataFrame):
          msg = f"{var_name} should be a pd.DataFrame"
          return ret(False, msg, None, return_metadata)
  
      # we now know obj is a pd.DataFrame
      index = obj.index
      if _req("is_empty", return_metadata):
          metadata["is_empty"] = len(index) < 1 or len(obj.columns) < 1
  
      # check that column indices are unique
      if not len(set(obj.columns)) == len(obj.columns):
          msg = "column indices must be unique"
          return ret(False, msg, None, return_metadata)
  
      # check that all cols are numeric
      if not np.all([is_numeric_dtype(obj[c]) for c in obj.columns]):
          msg = (
              f"{var_name} should only have numeric dtype columns, "
              f"but found dtypes {obj.dtypes}"
          )
          return ret(False, msg, None, return_metadata)
  
      # Check time index is ordered in time
      if not index.is_monotonic_increasing:
          msg = (
              f"The (time) index of {var_name} must be sorted monotonically increasing, "
              f"but found: {index}"
          )
          return ret(False, msg, None, return_metadata)
  
      # check column multiindex
      colidx = obj.columns
      msg = (
          f"column of {var_name} must be pd.MultiIndex, with two levels."
          "first level is variable name, "
          "second level are (numeric) alpha values between 0 and 1."
      )
  
      if (
          not isinstance(colidx, pd.MultiIndex)
          or not colidx.nlevels == 2
      ):
          return ret(False, msg, None, return_metadata)
      alphas = colidx.get_level_values(1)
      if not is_numeric_dtype(alphas):
          return ret(False, msg, None, return_metadata)
      if not (alphas <= 1).all() or not (alphas >= 0).all():
          return ret(False, msg, None, return_metadata)
  
      # compute more metadata, only if needed
      if _req("has_nans", return_metadata):
          metadata["has_nans"] = obj.isna().values.any()
      if _req("is_univariate", return_metadata):
          metadata["is_univariate"] = (
              len(colidx.get_level_values(0).unique()) == 1
          )
  
      return ret(True, None, metadata, return_metadata)
  
imports: import numpy
  import pandas
  from pandas.api.types import is_numeric_dtype
  from sktime.datatypes._common import _req
  from sktime.datatypes._common import _ret
label_desc: Use image node_id 1 for calling a global function with example usage: check_pred_quantiles_proba(obj, return_metadata, var_name) and returns: ret, ret, ret, ret, ret, ret, ret, ret