Этот блок кода выводит все 10 моих ковариационных матриц и строит графики для каждой точки матрицы 2x2.
for i in range(10):
columns = datawithoutmean[:, i*2:i*2 + 2]
cov = numpy.cov(columns.T)
print(cov)
matplotlib.pyplot.scatter(cov[:,0], cov[:,1], c = 'r', marker = '.')
matplotlib.pyplot.show()
Как конкретно вывести недиагональное значение для каждой матрицы ковариации и построить ееиспользование pyplot?
Для справки первая матрица ковариантности выглядит следующим образом:
[[10.34020531 -0.01203439]
[-0.01203439 2.06085007]]
Я хочу построить недиагональ (ко-дисперсию между двумя столбцами), поэтому в этомесли это будет -0.01203439.
Редактировать: Я обнаружил, что могу получить недиагональность следующим образом: Хорошо, так что если я сделаю это, он выведет значение совместной дисперсии между двумя столбцами:
for i in range(10):
columns = datawithoutmean[:, i*2:i*2 + 2]
cov = numpy.cov(columns.T)
off_diagonal = cov[0][1] # covariance value
Но как я могу построить эти значения на диаграмме рассеяния, используя pyplot?