torch.cov
-
torch.cov(input, *, correction=1, fweights=None, aweights=None) → Tensor -
Оценивает ковариационную матрицу переменных, заданных матрицей
input, в которой строки соответствуют переменным, а столбцы — наблюдениям.Ковариационная матрица — это квадратная матрица, содержащая ковариации каждой пары переменных. На диагонали находятся дисперсии каждой переменной (ковариация переменной с самой собой). По определению, если
inputпредставляет одну переменную (скаляр или одномерный вектор), возвращается её дисперсия.Выборочная ковариация переменных и задаётся формулой:
где и — простые средние значений и соответственно, а —
correction.Если указаны
fweightsи/илиaweights, вычисляется взвешенная ковариация, которая задаётся формулой:где обозначает
fweightsилиaweights(для краткостиfиa) в зависимости от того, что указано, либо , если указаны оба параметра, а — это взвешенное среднее переменной. Еслиfи/илиaне указаны, их можно считать вектором подходящего размера.- Параметры:
-
input (Tensor) – Двумерная матрица, содержащая несколько переменных и наблюдений, либо скаляр или одномерный вектор, представляющий одну переменную.
- Именованные аргументы:
-
-
correction (int, необязательный) – разность между размером выборки и числом степеней свободы выборки. По умолчанию используется поправка Бесселя,
correction = 1которая возвращает несмещённую оценку, даже если заданы иfweights, иaweights.correction = 0вернёт простое среднее. Значение по умолчанию —1. -
fweights (tensor, необязательный) – скаляр или одномерный тензор частот вектора наблюдений, задающий количество повторений каждого наблюдения. Число элементов должно равняться количеству столбцов
input. Тип данных должен быть целочисленным. Игнорируется, еслиNone. Значение по умолчанию —None. -
aweights (tensor, необязательный) – скаляр или одномерный массив весов вектора наблюдений. Эти относительные веса обычно выше для наблюдений, считающихся «важными», и ниже для наблюдений, считающихся менее «важными». Число элементов должно равняться количеству столбцов
input. Тип данных должен быть с плавающей точкой. Игнорируется, еслиNone. Значение по умолчанию —None.
-
correction (int, необязательный) – разность между размером выборки и числом степеней свободы выборки. По умолчанию используется поправка Бесселя,
- Возвращает:
-
(Tensor) Ковариационная матрица переменных.
См. также
torch.corrcoef()нормированная ковариационная матрица.Пример:
>>> 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]])
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.cov.html