gluonts.mx.linalg_util 模块#

gluonts.mx.linalg_util.batch_diagonal(F, matrix: typing.Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], num_data_points: typing.Optional[int] = None, float_type=<class 'numpy.float32'>) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

此函数提取批量矩阵的对角线元素。

参数
  • F – 可指向 MXNet 中的 Symbol API 或 NDArray API 的模块。

  • matrix – 形状为 (batch_size, num_data_points, num_data_points) 的矩阵。

  • num_data_points – kernel_matrix 的行数。

返回

形状为 (batch_size, num_data_points, 1) 的 kernel_matrix 对角线元素。

返回类型

张量

gluonts.mx.linalg_util.jitter_cholesky(F, matrix: typing.Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], num_data_points: typing.Optional[int] = None, float_type: typing.Type = <class 'numpy.float64'>, max_iter_jitter: int = 10, neg_tol: float = -1e-08, diag_weight: float = 1e-06, increase_jitter: int = 10) Optional[Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]][source]#

此函数应用抖动(jitter)方法。它迭代地尝试计算 Cholesky 分解,并向对角线添加一个正容差,该容差在每次迭代中增加,直到矩阵变为正定或达到最大迭代次数。

参数
  • matrix – 形状为 (batch_size, num_data_points, num_data_points) 的核矩阵。

  • num_data_points – kernel_matrix 的行数。

  • float_type – 确定使用单精度还是双精度。

  • max_iter_jitter – 抖动迭代使矩阵正定的最大迭代次数。

  • neg_tol – 抖动方法中的参数,用于在检查矩阵是否正定时,消除对角线元素小于此值的矩阵。

  • diag_weight – 初始化抖动时对角线元素均值的倍数。

  • increase_jitter – 每次迭代将抖动乘以该值。

返回

如果方法在最大迭代次数内未能使矩阵正定,则输出错误;如果成功,则返回形状为 (batch_size, num_data_points, num_data_points) 的下三角 Cholesky 因子 L

返回类型

Optional[Tensor]

gluonts.mx.linalg_util.jitter_cholesky_eig(F, matrix: typing.Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], num_data_points: typing.Optional[int] = None, float_type: typing.Type = <class 'numpy.float64'>, diag_weight: float = 1e-06) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

此函数使用特征值分解应用抖动方法。特征值通过抖动限制在下方,抖动与对角线元素的均值成比例。

参数
  • F – 可指向 MXNet 中的 Symbol API 或 NDArray API 的模块。

  • matrix – 形状为 (batch_size, num_data_points, num_data_points) 的矩阵。

  • num_data_points – kernel_matrix 的行数。

  • float_type – 确定使用单精度还是双精度。

返回

返回形状为 (batch_size, num_data_points, num_data_points) 的近似下三角 Cholesky 因子 L

返回类型

张量

gluonts.mx.linalg_util.lower_triangular_ones(F, d: int, offset: int = 0) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

构造一个由一组成的下三角矩阵。

参数
  • F

  • d – 输出张量的维度,其形状将是 (d, d)。

  • offset – 指示在下三角部分有多少对角线元素设置为零。默认情况下,offset = 0,输出矩阵包含主对角线。例如,如果 offset = 1,则输出将是严格下三角矩阵(即主对角线为零)。

返回

形状为 (d, d) 的张量,其严格下三角部分由一组成,其他部分为零。

返回类型

张量