docstr: This function returns the scales for the GP Periodic Kernel hyper-
  parameters by using the standard deviations of the past_target and
  past_time_features.
  
  Parameters
  ----------
  F : ModuleType
      A module that can either refer to the Symbol API or the NDArray
      API in MXNet.
  past_target : Tensor
      Training time series values of shape (batch_size, context_length).
  past_time_feat : Tensor
      Training features of shape (batch_size, context_length,
      num_features).
  
  Returns
  -------
  Tuple
      Three scaled GP hyper-parameters for the Periodic Kernel and scaled
      model noise hyper-parameter. Each is a Tensor of shape
      (batch_size, 1, 1).
docstr_tok: ["This","function","returns","the","scales","for","the","GP","Periodic","Kernel","hyper-","parameters","by","using","the","standard","deviations","of","the","past_target","and","past_time_features",".","Parameters","--","--","--","--","--","F",":","ModuleType","A","module","that","can","either","refer","to","the","Symbol","API","or","the","NDArray","API","in","MXNet",".","past_target",":","Tensor","Training","time","series","values","of","shape","(","batch_size",",","context_length",")",".","past_time_feat",":","Tensor","Training","features","of","shape","(","batch_size",",","context_length",",","num_features",")",".","Returns","--","--","--","-","Tuple","Three","scaled","GP","hyper-parameters","for","the","Periodic","Kernel","and","scaled","model","noise","hyper-parameter",".","Each","is","a","Tensor","of","shape","(","batch_size",",","1",",","1",")","."]
code: def gp_params_scaling(
      self, F, past_target: Tensor, past_time_feat: Tensor
  ) -> Tuple[Tensor, Tensor, Tensor, Tensor]:
      """
      This function returns the scales for the GP Periodic Kernel hyper-
      parameters by using the standard deviations of the past_target and
      past_time_features.
  
      Parameters
      ----------
      F : ModuleType
          A module that can either refer to the Symbol API or the NDArray
          API in MXNet.
      past_target : Tensor
          Training time series values of shape (batch_size, context_length).
      past_time_feat : Tensor
          Training features of shape (batch_size, context_length,
          num_features).
  
      Returns
      -------
      Tuple
          Three scaled GP hyper-parameters for the Periodic Kernel and scaled
          model noise hyper-parameter. Each is a Tensor of shape
          (batch_size, 1, 1).
      """
      axis = 1
      sigma_scaling = (
          self.compute_std(F, past_target, axis=axis) / math.sqrt(2)
      ).expand_dims(axis=axis)
      amplitude_scaling = sigma_scaling**2
      length_scale_scaling = F.broadcast_mul(
          F.mean(self.compute_std(F, past_time_feat, axis=axis)),
          F.ones_like(amplitude_scaling),
      )
      # TODO: Define scaling for the frequency
      frequency_scaling = F.ones_like(amplitude_scaling)
      return (
          amplitude_scaling,
          length_scale_scaling,
          frequency_scaling,
          sigma_scaling,
      )
  
file_path: gluonts/src/gluonts/mx/kernels/_periodic_kernel.py
imports: import math
  from typing import Dict, Tuple
  from gluonts.mx import Tensor
  from gluonts.mx.distribution.distribution import getF, softplus
  from .None import Kernel, KernelOutputDict
label_desc: Use image node_id 1 for calling the PeriodicKernelOutput obj's underlying member method code with example usage: obj.gp_params_scaling(F, past_target, past_time_feat) and returns: amplitude_scaling,  length_scale_scaling,  frequency_scaling,  sigma_scaling