當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。