code: def add_tn_num_conf_bounds(data: pd.DataFrame, tss_args):
      """
      Deprecated. Instead we now opt for the much better solution of having scores for each timestep (see all TS classes in analysis/nc)
  
      Add confidence (and bounds if applicable) to t+n predictions, for n>1
      TODO: active research question: how to guarantee 1-e coverage for t+n, n>1
      For now, (conservatively) increases width by the confidence times the log of the time step (and a scaling factor).
      """  # noqa
      for col in ["confidence", "lower", "upper"]:
          data[col] = data[col].astype(object)
  
      for idx, row in data.iterrows():
          error_increase = [row["confidence"][0]] + [
              row["confidence"][0]
              * np.log(
                  np.e + t / 2
              )  # offset by e so that y intercept is 1
              for t in range(1, tss_args.horizon)
          ]
          data["confidence"].iloc[idx] = [
              row["confidence"][0] for _ in range(tss_args.horizon)
          ]
  
          preds = row["prediction"]
          width = row["upper"][0] - row["lower"][0]
          data["lower"].iloc[idx] = [
              pred - (width / 2) * modifier
              for pred, modifier in zip(preds, error_increase)
          ]
          data["upper"].iloc[idx] = [
              pred + (width / 2) * modifier
              for pred, modifier in zip(preds, error_increase)
          ]
  
      return data
  
file_path: lightwood/lightwood/helpers/ts.py
imports: from typing import Tuple, Dict
  from datetime import datetime
  import numpy
  import pandas
label_desc: Use image node_id 4 for calling a global function with example usage: add_tn_num_conf_bounds(data, tss_args) and returns: data