Учитывая эти два массива:Реализовать эту ситуацию в NumPy
E = [[16.461, 17.015, 14.676],
[15.775, 18.188, 14.459],
[14.489, 18.449, 14.756],
[14.171, 19.699, 14.406],
[14.933, 20.644, 13.839],
[16.233, 20.352, 13.555],
[16.984, 21.297, 12.994],
[16.683, 19.056, 13.875],
[17.918, 18.439, 13.718],
[17.734, 17.239, 14.207]]
S = [[0.213, 0.660, 1.287],
[0.250, 2.016, 1.509],
[0.016, 2.995, 0.619],
[0.142, 4.189, 1.194],
[0.451, 4.493, 2.459],
[0.681, 3.485, 3.329],
[0.990, 3.787, 4.592],
[0.579, 2.170, 2.844],
[0.747, 0.934, 3.454],
[0.520, 0.074, 2.491]]
Проблема утверждает, что я должен получить матрицу 3х3 ковариации (C) между S и E, используя следующую формулу:
C = (1/(n-1))[S'E - (1/10)S'i i'E]
Здесь n равно 10, а i - вектор столбца nx 1, состоящий только из них. S 'и i' являются транспонированием матрицы S и вектора столбца i соответственно.
До сих пор я не могу получить C, потому что я не понимаю значение i (и i ') и его реализацию в формуле. Использование NumPy, до сих пор я:
import numpy as np
tS = numpy.array(S).T
C = (1.0/9.0)*(np.dot(tS, E)-((1.0/10.0)*np.dot(tS, E))) #Here is where I lack the i and i' implementation.
Я очень ценю вашу помощь, чтобы понять и осуществить я и»в формуле. Вывод должен быть:
C= [[0.2782, 0.2139, -0.1601],
[-1.4028, 1.9619, -0.2744],
[1.0443, 0.9712, -0.6610]]
Эй! Благодарю. знак равно –