Построение недиагонального значения ковариационной матрицы - PullRequest
0 голосов
/ 01 октября 2019

Этот блок кода выводит все 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?

...