class_docstr: An implementation of the Multi-Component Spatial-Temporal Graph
  Convolution block from this paper: `"Attention Based Spatial-Temporal
  Graph Convolutional Networks for Traffic Flow Forecasting."
  <https://ojs.aaai.org/index.php/AAAI/article/view/3881>`_
  
  Args:
      in_channels (int): Number of input features.
      K (int): Order of Chebyshev polynomials. Degree is K-1.
      nb_chev_filters (int): Number of Chebyshev filters.
      nb_time_filters (int): Number of time filters.
      time_strides (int): Time strides during temporal convolution.
code: def __init__(
      self,
      in_channels: int,
      K: int,
      nb_chev_filter: int,
      nb_time_filter: int,
      time_strides: int,
  ):
      super(MSTGCNBlock, self).__init__()
  
      self._cheb_conv = ChebConv(
          in_channels, nb_chev_filter, K, normalization=None
      )
  
      self._time_conv = nn.Conv2d(
          nb_chev_filter,
          nb_time_filter,
          kernel_size=(1, 3),
          stride=(1, time_strides),
          padding=(0, 1),
      )
  
      self._residual_conv = nn.Conv2d(
          in_channels,
          nb_time_filter,
          kernel_size=(1, 1),
          stride=(1, time_strides),
      )
  
      self._layer_norm = nn.LayerNorm(nb_time_filter)
      self.nb_time_filter = nb_time_filter
  
      self._reset_parameters()
  
file_path: pytorch_geometric_temporal/torch_geometric_temporal/nn/attention/mstgcn.py
imports: import torch
  import torch.nn
  import torch.nn.functional
  from torch_geometric.data import Data
  from torch_geometric.nn import ChebConv
  from torch_geometric.transforms import LaplacianLambdaMax
label_desc: Use image node_id 1 to create a new MSTGCNBlock object from inherited base classes: nn with example: obj = MSTGCNBlock(in_channels, K, nb_chev_filter, nb_time_filter, time_strides)