class_docstr: Module implementing a feed-forward model form the paper
  https://arxiv.org/pdf/2205.13504.pdf extended for probabilistic forecasting.
  
  Parameters
  ----------
  prediction_length
      Number of time points to predict.
  context_length
      Number of time steps prior to prediction time that the model.
  hidden_dimension
      Size of last hidden layers in the feed-forward network.
  distr_output
      Distribution to use to evaluate observations and sample predictions.
code: def __init__(
      self,
      prediction_length: int,
      context_length: int,
      hidden_dimension: int,
      distr_output=StudentTOutput(),
      kernel_size: int = 25,
      scaling: str = "mean",
  ) -> None:
      super().__init__()
  
      assert prediction_length > 0
      assert context_length > 0
  
      self.prediction_length = prediction_length
      self.context_length = context_length
      self.hidden_dimension = hidden_dimension
      self.decomposition = SeriesDecomp(kernel_size)
  
      self.distr_output = distr_output
      if scaling == "mean":
          self.scaler = MeanScaler(keepdim=True)
      elif scaling == "std":
          self.scaler = StdScaler(keepdim=True)
      else:
          self.scaler = NOPScaler(keepdim=True)
  
      self.kernel_size = kernel_size
  
      self.linear_seasonal = make_linear_layer(
          context_length, prediction_length * hidden_dimension
      )
      self.linear_trend = make_linear_layer(
          context_length, prediction_length * hidden_dimension
      )
  
      self.args_proj = self.distr_output.get_args_proj(hidden_dimension)
  
imports: from typing import Tuple
  import torch
  from torch import nn
  from gluonts.core.component import validated
  from gluonts.model import Input, InputSpec
  from gluonts.torch.distributions import StudentTOutput
  from gluonts.torch.scaler import StdScaler, MeanScaler, NOPScaler
  from gluonts.torch.model.simple_feedforward import make_linear_layer
  from gluonts.torch.util import weighted_average
label_desc: Use image node_id 1 to create a new DLinearModel object from inherited base classes: nn with example: obj = DLinearModel(prediction_length, context_length, hidden_dimension, distr_output, kernel_size, scaling)