docstr: Normalizes the ``changepoint_values`` in
  `~greykite.algo.forecast.silverkite.SilverkiteForecast.forecast`
  with the same normalize method specified in the model.
  
  Parameters
  ----------
  changepoint_values : `numpy.array` or `None`
      The trend change point values as returned by
      `~greykite.common.features.timeseries_features.get_changepoint_features_and_values_from_config`
  pred_cols : `list`
      List of names of predictors.
  continuous_time_col : `str`
      The name of continuous time column in ``pred_cols``.
  normalize_df_func : `function` or `None`
      The normalization function as returned by
      `~greykite.common.features.normalize.normalize_df`
      It should be compatible with ``pred_cols`` (generated on the same design matrix).
  
  Returns
  -------
  normalized_changepoint_values : `numpy.array`
      The normalized change points, on the same scale as the normalized continuous time column.
code: def __normalize_changepoint_values(
      self,
      changepoint_values,
      pred_cols,
      continuous_time_col,
      normalize_df_func,
  ):
      """Normalizes the ``changepoint_values`` in
      `~greykite.algo.forecast.silverkite.SilverkiteForecast.forecast`
      with the same normalize method specified in the model.
  
      Parameters
      ----------
      changepoint_values : `numpy.array` or `None`
          The trend change point values as returned by
          `~greykite.common.features.timeseries_features.get_changepoint_features_and_values_from_config`
      pred_cols : `list`
          List of names of predictors.
      continuous_time_col : `str`
          The name of continuous time column in ``pred_cols``.
      normalize_df_func : `function` or `None`
          The normalization function as returned by
          `~greykite.common.features.normalize.normalize_df`
          It should be compatible with ``pred_cols`` (generated on the same design matrix).
  
      Returns
      -------
      normalized_changepoint_values : `numpy.array`
          The normalized change points, on the same scale as the normalized continuous time column.
      """
      if changepoint_values is None:
          return None
      if normalize_df_func is None:
          return changepoint_values
      if continuous_time_col is None:
          continuous_time_col = TimeFeaturesEnum.ct1.value
      new_df = pd.DataFrame(
          np.zeros([len(changepoint_values), len(pred_cols)])
      )
      new_df.columns = pred_cols
      new_df[continuous_time_col] = changepoint_values
      normalized_df = normalize_df_func(new_df)
      return normalized_df[continuous_time_col].values.ravel()
  
imports: import re
  import warnings
  from typing import Type
  import numpy
  import pandas
  from pandas.plotting import register_matplotlib_converters
  from pandas.tseries.frequencies import to_offset
  from greykite.algo.changepoint.adalasso.changepoint_detector import get_changepoints_dict
  from greykite.algo.changepoint.adalasso.changepoint_detector import get_seasonality_changepoints
  from greykite.algo.changepoint.adalasso.changepoints_utils import build_seasonality_feature_df_from_detection_result
  from greykite.algo.changepoint.adalasso.changepoints_utils import get_seasonality_changepoint_df_cols
  from greykite.algo.common.ml_models import fit_ml_model_with_evaluation
  from greykite.algo.common.ml_models import predict_ml
  from greykite.algo.common.ml_models import predict_ml_with_uncertainty
  from greykite.algo.forecast.silverkite.constants.silverkite_constant import default_silverkite_constant
  from greykite.algo.forecast.silverkite.constants.silverkite_seasonality import SilverkiteSeasonalityEnum
  from greykite.algo.forecast.silverkite.constants.silverkite_seasonality import SilverkiteSeasonalityEnumMixin
  from greykite.algo.forecast.silverkite.forecast_silverkite_helper import get_fourier_feature_col_names
  from greykite.algo.forecast.silverkite.forecast_silverkite_helper import get_similar_lag
  from greykite.common.constants import CHANGEPOINT_COL_PREFIX
  from greykite.common.constants import ERR_STD_COL
  from greykite.common.constants import QUANTILE_SUMMARY_COL
  from greykite.common.constants import SEASONALITY_REGEX
  from greykite.common.constants import TimeFeaturesEnum
  from greykite.common.enums import TimeEnum
  from greykite.common.features.timeseries_features import add_daily_events
  from greykite.common.features.timeseries_features import add_time_features_df
  from greykite.common.features.timeseries_features import fourier_series_multi_fcn
  from greykite.common.features.timeseries_features import get_changepoint_dates_from_changepoints_dict
  from greykite.common.features.timeseries_features import get_changepoint_features
  from greykite.common.features.timeseries_features import get_changepoint_features_and_values_from_config
  from greykite.common.features.timeseries_features import get_default_origin_for_time_vars
  from greykite.common.features.timeseries_lags import build_autoreg_df
  from greykite.common.features.timeseries_lags import build_autoreg_df_multi
  from greykite.common.logging import LoggingLevelEnum
  from greykite.common.logging import log_message
  from greykite.common.python_utils import get_pattern_cols
  from greykite.common.python_utils import unique_elements_in_list
  from greykite.common.time_properties import describe_timeseries
  from greykite.common.time_properties import fill_missing_dates
  from greykite.common.time_properties import min_gap_in_seconds
  from greykite.common.time_properties_forecast import get_default_horizon_from_period
label_desc: Use image node_id 18 for calling the SilverkiteForecast obj's underlying member method code with example usage: obj.__normalize_changepoint_values(changepoint_values, pred_cols, continuous_time_col, normalize_df_func) and returns: normalized_df, None, changepoint_values