class_docstr: Conformal prediction dataclass
  
  Parameters
  ----------
  alpha : float or tuple
      user-specified significance level of the prediction interval, float if coverage error spread arbitrarily over
      left and right tails, tuple of two floats for different coverage error over left and right tails respectively
  method : str
      name of conformal prediction technique used
  
      Options
          * ``naive``: Naive or Absolute Residual
          * ``cqr``: Conformalized Quantile Regression
  n_forecasts : int
      optional, number of steps ahead of prediction time step to forecast
  quantiles : list
      optional, list of quantiles for quantile regression uncertainty estimate
class_docstr_tok: ["Conformal","prediction","dataclass","Parameters","--","--","--","--","--","alpha",":","float","or","tuple","user-specified","significance","level","of","the","prediction","interval",",","float","if","coverage","error","spread","arbitrarily","over","left","and","right","tails",",","tuple","of","two","floats","for","different","coverage","error","over","left","and","right","tails","respectively","method",":","str","name","of","conformal","prediction","technique","used","Options","*","``","naive","``",":","Naive","or","Absolute","Residual","*","``","cqr","``",":","Conformalized","Quantile","Regression","n_forecasts",":","int","optional",",","number","of","steps","ahead","of","prediction","time","step","to","forecast","quantiles",":","list","optional",",","list","of","quantiles","for","quantile","regression","uncertainty","estimate"]
code: def __post_init__(self):
      if isinstance(self.alpha, float):
          self.symmetrical = True
          self.q_hats = pd.DataFrame(columns=["q_hat_sym"])
      elif self.method == "naive":
          raise ValueError(
              "Asymmetrical coverage errors are not available for the naive method. "
              "Please use one alpha or method='cqr'."
          )
      else:
          self.symmetrical = False
          self.alpha_lo, self.alpha_hi = self.alpha
          self.q_hats = pd.DataFrame(columns=["q_hat_lo", "q_hat_hi"])
      self.noncon_scores = dict()
  
file_path: neural_prophet/neuralprophet/uncertainty.py
imports: import re
  from dataclasses import dataclass
  from typing import Any, List, Tuple, Union
  import matplotlib
  import numpy
  import pandas
  from neuralprophet.plot_forecast_matplotlib import plot_interval_width_per_timestep, plot_nonconformity_scores
  from neuralprophet.plot_forecast_plotly import plot_interval_width_per_timestep
  from neuralprophet.plot_forecast_plotly import plot_nonconformity_scores
  from neuralprophet.plot_utils import log_warning_deprecation_plotly, select_plotting_backend
label_desc: Use image node_id 1 for calling the Conformal obj's underlying member method code with example usage: obj.__post_init__() without return types