当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PyTorch cov用法及代码示例


本文简要介绍python语言中 torch.cov 的用法。

用法:

torch.cov(input, *, correction=1, fweights=None, aweights=None) → Tensor

参数

input(Tensor) -包含多个变量和观察值的 2D 矩阵,或表示单个变量的标量或 1D 向量。

关键字参数

  • correction(int,可选的) -样本量和样本自由度之间的差异。默认为 Bessel 校正 correction = 1,它返回无偏估计,即使指定了 fweightsaweightscorrection = 0 将返回简单平均值。默认为 1

  • fweights(torch.tensor,可选的) -观察向量频率的标量或一维张量,表示每个观察应重复的次数。它的 numel 必须等于 input 的列数。必须具有完整的 dtype。如果 None 则忽略。 Defaults to ``None`

  • aweights(torch.tensor,可选的) -观察向量权重的标量或一维数组。对于考虑为“important” 的观察,这些相对权重通常较大,而对于考虑较少的“important” 的观察,这些相对权重较小。它的 numel 必须等于 input 的列数。必须有浮点数据类型。如果 None 则忽略。 Defaults to ``None`

返回

(张量)变量的协方差矩阵。

估计由input 矩阵给出的变量的协方差矩阵,其中行是变量,列是观察值。

协方差矩阵是给出每对变量的协方差的方阵。对角线包含每个变量的方差(变量与其自身的协方差)。根据定义,如果input 表示单个变量(标量或一维),则返回其方差。

变量 的无偏样本协方差由下式给出:

其中 分别是 的简单方法。

如果提供了fweights 和/或aweights,则计算无偏加权协方差,由下式给出:

其中 表示 fweightsaweights 基于提供的任何一个,或 如果两者都提供,并且 是变量的加权平均值。

例子:

>>> x = torch.tensor([[0, 2], [1, 1], [2, 0]]).T
>>> x
tensor([[0, 1, 2],
        [2, 1, 0]])
>>> torch.cov(x)
tensor([[ 1., -1.],
        [-1.,  1.]])
>>> torch.cov(x, correction=0)
tensor([[ 0.6667, -0.6667],
        [-0.6667,  0.6667]])
>>> fw = torch.randint(1, 10, (3,))
>>> fw
tensor([1, 6, 9])
>>> aw = torch.rand(3)
>>> aw
tensor([0.4282, 0.0255, 0.4144])
>>> torch.cov(x, fweights=fw, aweights=aw)
tensor([[ 0.4169, -0.4169],
        [-0.4169,  0.4169]])

相关用法


注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.cov。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。