class_docstr: Abstract base class for forecasting models.
  
  Derived classes must implement the :meth:`model` method.
class_docstr_tok: ["Abstract","base","class","for","forecasting","models",".","Derived","classes","must","implement","the",":","meth",":","`","model","`","method","."]
docstr: Helper to create a ``pyro.plate`` over time.
  
  :returns: A plate named "time" with size ``covariates.size(-2)`` and
      ``dim=-1``. This is available only during model execution.
  :rtype: :class:`~pyro.plate`
docstr_tok: ["Helper","to","create","a","``","pyro.plate","``","over","time",".",":","returns",":","A","plate","named","``","time","''","with","size","``","covariates.size","(","-2",")","``","and","``","dim=-1","``",".","This","is","available","only","during","model","execution",".",":","rtype",":",":","class",":","`","~pyro.plate","`"]
code: def time_plate(self):
      """
      Helper to create a ``pyro.plate`` over time.
  
      :returns: A plate named "time" with size ``covariates.size(-2)`` and
          ``dim=-1``. This is available only during model execution.
      :rtype: :class:`~pyro.plate`
      """
      assert (
          self._time_plate is not None
      ), ".time_plate accessed outside of .model()"
      return self._time_plate
  
imports: import logging
  from abc import ABCMeta, abstractmethod
  from contextlib import ExitStack
  import torch
  import torch.nn
  import pyro
  import pyro.distributions
  import pyro.poutine
  from pyro.infer import MCMC, NUTS, SVI, Trace_ELBO
  from pyro.infer.autoguide import AutoNormal, init_to_sample
  from pyro.infer.predictive import _guess_max_plate_nesting
  from pyro.nn.module import PyroModule
  from pyro.optim import DCTAdam
  from .util import MarkDCTParamMessenger, PrefixConditionMessenger, PrefixReplayMessenger, PrefixWarmStartMessenger, reshape_batch, time_reparam_dct, time_reparam_haar
label_desc: Use image node_id 3 for calling the ForecastingModel obj's underlying member method code with example usage: obj.time_plate() and returns: self