PyTorchで共分散行列と相関係数行列を算出するには、torch.cov、torch.corrcoefを使う。
torch.covの使い方
torch.covの引数に2次元配列を指定すると、列を一つの変数として共分散行列が算出される。
import torch
x = torch.tensor([-2.1, -1, 4.3, 5])
y = torch.tensor([3, 1.1, 0.12, -3])
X = torch.stack((x, y), axis=0)
print(torch.cov(X))
# tensor([[13.0967, -7.9250],
# [-7.9250, 6.2841]])
torch.corrcoefの使い方
torch.covと同様で、torch.corrcoefの引数に2次元配列を指定すると、相関係数行列が算出される。
print(torch.corrcoef(X))
# tensor([[ 1.0000, -0.8736],
# [-0.8736, 1.0000]])
コメント