class_docstr: Prophet forecaster.
  
  Parameters
  ----------
  growth: String 'linear', 'logistic' or 'flat' to specify a linear, logistic or
      flat trend.
  changepoints: List of dates at which to include potential changepoints. If
      not specified, potential changepoints are selected automatically.
  n_changepoints: Number of potential changepoints to include. Not used
      if input `changepoints` is supplied. If `changepoints` is not supplied,
      then n_changepoints potential changepoints are selected uniformly from
      the first `changepoint_range` proportion of the history.
  changepoint_range: Proportion of history in which trend changepoints will
      be estimated. Defaults to 0.8 for the first 80%. Not used if
      `changepoints` is specified.
  yearly_seasonality: Fit yearly seasonality.
      Can be 'auto', True, False, or a number of Fourier terms to generate.
  weekly_seasonality: Fit weekly seasonality.
      Can be 'auto', True, False, or a number of Fourier terms to generate.
  daily_seasonality: Fit daily seasonality.
      Can be 'auto', True, False, or a number of Fourier terms to generate.
  holidays: pd.DataFrame with columns holiday (string) and ds (date type)
      and optionally columns lower_window and upper_window which specify a
      range of days around the date to be included as holidays.
      lower_window=-2 will include 2 days prior to the date as holidays. Also
      optionally can have a column prior_scale specifying the prior scale for
      that holiday.
  seasonality_mode: 'additive' (default) or 'multiplicative'.
  seasonality_prior_scale: Parameter modulating the strength of the
      seasonality model. Larger values allow the model to fit larger seasonal
      fluctuations, smaller values dampen the seasonality. Can be specified
      for individual seasonalities using add_seasonality.
  holidays_prior_scale: Parameter modulating the strength of the holiday
      components model, unless overridden in the holidays input.
  changepoint_prior_scale: Parameter modulating the flexibility of the
      automatic changepoint selection. Large values will allow many
      changepoints, small values will allow few changepoints.
  mcmc_samples: Integer, if greater than 0, will do full Bayesian inference
      with the specified number of MCMC samples. If 0, will do MAP
      estimation.
  interval_width: Float, width of the uncertainty intervals provided
      for the forecast. If mcmc_samples=0, this will be only the uncertainty
      in the trend using the MAP estimate of the extrapolated generative
      model. If mcmc.samples>0, this will be integrated over all model
      parameters, which will include uncertainty in seasonality.
  uncertainty_samples: Number of simulated draws used to estimate
      uncertainty intervals. Settings this value to 0 or False will disable
      uncertainty estimation and speed up the calculation.
  stan_backend: str as defined in StanBackendEnum default: None - will try to
      iterate over all available backends and find the working one
  holidays_mode: 'additive' or 'multiplicative'. Defaults to seasonality_mode.
class_docstr_tok: ["Prophet","forecaster",".","Parameters","--","--","--","--","--","growth",":","String","'linear","'",",","'logistic","'","or","'flat","'","to","specify","a","linear",",","logistic","or","flat","trend",".","changepoints",":","List","of","dates","at","which","to","include","potential","changepoints",".","If","not","specified",",","potential","changepoints","are","selected","automatically",".","n_changepoints",":","Number","of","potential","changepoints","to","include",".","Not","used","if","input","`","changepoints","`","is","supplied",".","If","`","changepoints","`","is","not","supplied",",","then","n_changepoints","potential","changepoints","are","selected","uniformly","from","the","first","`","changepoint_range","`","proportion","of","the","history",".","changepoint_range",":","Proportion","of","history","in","which","trend","changepoints","will","be","estimated",".","Defaults","to","0.8","for","the","first","80","%",".","Not","used","if","`","changepoints","`","is","specified",".","yearly_seasonality",":","Fit","yearly","seasonality",".","Can","be","'auto","'",",","True",",","False",",","or","a","number","of","Fourier","terms","to","generate",".","weekly_seasonality",":","Fit","weekly","seasonality",".","Can","be","'auto","'",",","True",",","False",",","or","a","number","of","Fourier","terms","to","generate",".","daily_seasonality",":","Fit","daily","seasonality",".","Can","be","'auto","'",",","True",",","False",",","or","a","number","of","Fourier","terms","to","generate",".","holidays",":","pd.DataFrame","with","columns","holiday","(","string",")","and","ds","(","date","type",")","and","optionally","columns","lower_window","and","upper_window","which","specify","a","range","of","days","around","the","date","to","be","included","as","holidays",".","lower_window=-2","will","include","2","days","prior","to","the","date","as","holidays",".","Also","optionally","can","have","a","column","prior_scale","specifying","the","prior","scale","for","that","holiday",".","seasonality_mode",":","'additive","'","(","default",")","or","'multiplicative","'",".","seasonality_prior_scale",":","Parameter","modulating","the","strength","of","the","seasonality","model",".","Larger","values","allow","the","model","to","fit","larger","seasonal","fluctuations",",","smaller","values","dampen","the","seasonality",".","Can","be","specified","for","individual","seasonalities","using","add_seasonality",".","holidays_prior_scale",":","Parameter","modulating","the","strength","of","the","holiday","components","model",",","unless","overridden","in","the","holidays","input",".","changepoint_prior_scale",":","Parameter","modulating","the","flexibility","of","the","automatic","changepoint","selection",".","Large","values","will","allow","many","changepoints",",","small","values","will","allow","few","changepoints",".","mcmc_samples",":","Integer",",","if","greater","than","0",",","will","do","full","Bayesian","inference","with","the","specified","number","of","MCMC","samples",".","If","0",",","will","do","MAP","estimation",".","interval_width",":","Float",",","width","of","the","uncertainty","intervals","provided","for","the","forecast",".","If","mcmc_samples=0",",","this","will","be","only","the","uncertainty","in","the","trend","using","the","MAP","estimate","of","the","extrapolated","generative","model",".","If","mcmc.samples",">","0",",","this","will","be","integrated","over","all","model","parameters",",","which","will","include","uncertainty","in","seasonality",".","uncertainty_samples",":","Number","of","simulated","draws","used","to","estimate","uncertainty","intervals",".","Settings","this","value","to","0","or","False","will","disable","uncertainty","estimation","and","speed","up","the","calculation",".","stan_backend",":","str","as","defined","in","StanBackendEnum","default",":","None","-","will","try","to","iterate","over","all","available","backends","and","find","the","working","one","holidays_mode",":","'additive","'","or","'multiplicative","'",".","Defaults","to","seasonality_mode","."]
docstr: Validates the name of a seasonality, holiday, or regressor.
  
  Parameters
  ----------
  name: string
  check_holidays: bool check if name already used for holiday
  check_seasonalities: bool check if name already used for seasonality
  check_regressors: bool check if name already used for regressor
code: def validate_column_name(
      self,
      name,
      check_holidays=True,
      check_seasonalities=True,
      check_regressors=True,
  ):
      """Validates the name of a seasonality, holiday, or regressor.
  
      Parameters
      ----------
      name: string
      check_holidays: bool check if name already used for holiday
      check_seasonalities: bool check if name already used for seasonality
      check_regressors: bool check if name already used for regressor
      """
      if "_delim_" in name:
          raise ValueError('Name cannot contain "_delim_"')
      reserved_names = [
          "trend",
          "additive_terms",
          "daily",
          "weekly",
          "yearly",
          "holidays",
          "zeros",
          "extra_regressors_additive",
          "yhat",
          "extra_regressors_multiplicative",
          "multiplicative_terms",
      ]
      rn_l = [n + "_lower" for n in reserved_names]
      rn_u = [n + "_upper" for n in reserved_names]
      reserved_names.extend(rn_l)
      reserved_names.extend(rn_u)
      reserved_names.extend(
          ["ds", "y", "cap", "floor", "y_scaled", "cap_scaled"]
      )
      if name in reserved_names:
          raise ValueError(
              "Name {name!r} is reserved.".format(name=name)
          )
      if (
          check_holidays
          and self.holidays is not None
          and name in self.holidays["holiday"].unique()
      ):
          raise ValueError(
              "Name {name!r} already used for a holiday.".format(
                  name=name
              )
          )
      if (
          check_holidays
          and self.country_holidays is not None
          and name in get_holiday_names(self.country_holidays)
      ):
          raise ValueError(
              "Name {name!r} is a holiday name in {country_holidays}.".format(
                  name=name, country_holidays=self.country_holidays
              )
          )
      if check_seasonalities and name in self.seasonalities:
          raise ValueError(
              "Name {name!r} already used for a seasonality.".format(
                  name=name
              )
          )
      if check_regressors and name in self.extra_regressors:
          raise ValueError(
              "Name {name!r} already used for an added regressor.".format(
                  name=name
              )
          )
  
imports: from __future__ import absolute_import, division, print_function
  import dataclasses
  import logging
  from collections import OrderedDict, defaultdict
  from copy import deepcopy
  from datetime import timedelta
  from typing import Dict, List, Union
  import numpy
  import pandas
  from numpy.typing import NDArray
  from prophet.make_holidays import get_holiday_names, make_holidays_df
  from prophet.models import StanBackendEnum, ModelInputData, ModelParams, TrendIndicator
  from prophet.plot import plot, plot_components
label_desc: Use image node_id 4 for calling the Prophet obj's underlying member method code with example usage: obj.validate_column_name(name, check_holidays, check_seasonalities, check_regressors) without return types