Spec-Zone.ru › PyTorch 1

torch.cov

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

Оценивает ковариационную матрицу переменных, заданных матрицей input, где строки представляют переменные, а столбцы — наблюдения.

Ковариационная матрица — это квадратная матрица, задающая ковариацию каждой пары переменных. Диагональ содержит дисперсию каждой переменной (ковариация переменной с самой собой). По определению, если input представляет собой одну переменную (скаляр или одномерный вектор), то возвращается её дисперсия.

Несмещённая выборочная ковариация переменных xx и yy задаётся следующим образом:

covw(x,y)=∑i=1N(xi−xˉ)(yi−yˉ)N−1\text{cov}_w(x,y) = \frac{\sum^{N}_{i = 1}(x_{i} - \bar{x})(y_{i} - \bar{y})}{N~-~1}

где xˉ\bar{x} и yˉ\bar{y} — простые средние значения xx и yy соответственно.

Если fweights и/или aweights указаны, рассчитывается несмещённая взвешенная ковариация, которая задаётся следующим образом:

covw(x,y)=∑i=1Nwi(xi−μx∗)(yi−μy∗)∑i=1Nwi−1\text{cov}_w(x,y) = \frac{\sum^{N}_{i = 1}w_i(x_{i} - \mu_x^*)(y_{i} - \mu_y^*)}{\sum^{N}_{i = 1}w_i~-~1}

где ww обозначает fweights или aweights в зависимости от того, что указано, или w=fweights×aweightsw = fweights \times aweights, если оба значения указаны, а μx∗=∑i=1Nwixi∑i=1Nwi\mu_x^* = \frac{\sum^{N}_{i = 1}w_ix_{i} }{\sum^{N}_{i = 1}w_i} — взвешенное среднее значение переменной.

Parameters:

input (Tensor) — Матрица 2D, содержащая несколько переменных и наблюдений, или скаляр или одномерный вектор, представляющий одну переменную.

Keyword Arguments:
  • correction (int, optional) — разность между объёмом выборки и степенями свободы выборки. По умолчанию используется поправка Бесселя, correction = 1 которая возвращает несмещённую оценку, даже если указаны fweights и aweights. correction = 0 вернёт простое среднее. По умолчанию 1.
  • fweights (tensor, optional) — Скаляр или одномерный тензор частот наблюдений, представляющий количество раз, которое каждое наблюдение должно повторяться. Его numel должен равняться числу столбцов input. Должен иметь целочисленный тип данных. Игнорируется, если None. Defaults to ``None`.
  • aweights (tensor, optional) — Скаляр или одномерный массив весов наблюдений. Эти относительные веса, как правило, большие для наблюдений, считающихся «важными», и меньшие для наблюдений, считающихся менее «важными». Его numel должен равняться числу столбцов input. Должен иметь тип данных с плавающей точкой. Игнорируется, если None. Defaults to ``None`.
Returns:

(Tensor) Ковариационная матрица переменных.

См. также

torch.corrcoef() нормированная ковариационная матрица.

Example::
>>> 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]])

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.cov.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API