torch.cov
-
torch.cov(input, *, correction=1, fweights=None, aweights=None) → Tensor -
Оценивает ковариационную матрицу переменных, заданных матрицей
input, где строки представляют переменные, а столбцы — наблюдения.Ковариационная матрица — это квадратная матрица, задающая ковариацию каждой пары переменных. Диагональ содержит дисперсию каждой переменной (ковариация переменной с самой собой). По определению, если
inputпредставляет собой одну переменную (скаляр или одномерный вектор), то возвращается её дисперсия.Несмещённая выборочная ковариация переменных и задаётся следующим образом:
где и — простые средние значения и соответственно.
Если
fweightsи/илиaweightsуказаны, рассчитывается несмещённая взвешенная ковариация, которая задаётся следующим образом:где обозначает
fweightsилиaweightsв зависимости от того, что указано, или , если оба значения указаны, а — взвешенное среднее значение переменной.- 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`.
-
correction (int, optional) — разность между объёмом выборки и степенями свободы выборки. По умолчанию используется поправка Бесселя,
- 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