code: def test_uncertainty_nonstandard_cols(hourly_data_with_reg, params):
      params["uncertainty_dict"] = dict(
          uncertainty_method=UncertaintyMethodEnum.simple_conditional_residuals.name,
          params={},
      )
      model = MultistageForecastEstimator(**params)
      # fit
      model.fit(
          hourly_data_with_reg.rename(
              columns={cst.TIME_COL: "t", cst.VALUE_COL: "z"}
          ),
          time_col="t",
          value_col="z",
      )
      # predict
      pred = model.predict(
          pd.DataFrame(
              {
                  "t": pd.date_range(
                      start=hourly_data_with_reg[cst.TIME_COL].max(),
                      freq="H",
                      periods=13,
                  )[1:],
                  "z": np.nan,
              }
          )
      )
      assert cst.PREDICTED_LOWER_COL in pred
      assert cst.PREDICTED_UPPER_COL in pred
      assert (
          (
              pred[cst.PREDICTED_LOWER_COL]
              + pred[cst.PREDICTED_UPPER_COL]
          )
          .round(2)
          .equals((pred[cst.PREDICTED_COL] * 2).round(2))
      )
  
imports: import datetime
  import numpy
  import pandas
  import pytest
  from testfixtures import LogCapture
  import greykite.common.constants
  from greykite.common.testing_utils import generate_df_for_tests
  from greykite.sklearn.estimator.lag_based_estimator import LagBasedEstimator
  from greykite.sklearn.estimator.multistage_forecast_estimator import MultistageForecastEstimator
  from greykite.sklearn.estimator.multistage_forecast_estimator import MultistageForecastModelConfig
  from greykite.sklearn.estimator.simple_silverkite_estimator import SimpleSilverkiteEstimator
  from greykite.sklearn.uncertainty.uncertainty_methods import UncertaintyMethodEnum
label_desc: Use image node_id 25 for calling a global function with example usage: test_uncertainty_nonstandard_cols(hourly_data_with_reg, params) without return types