Сгенерировать матрицу, которая при умножении на вектор дает его отклонение от среднего значения
Задача заключается в том, чтобы создать матрицу А, которая при умножении на вектор дает результат его отклонения от среднего значения, Ax = x - mean. При этом, матрица А не должна зависеть от значений входящего вектора х, а только от его длины (т.е. для создания матрицы должно быть достаточно только знания сколько в х элементов).
Есть мнение, что можно преобразовать и упростить следующее выражение:
(A-I)x = -x@i/len(x)
Ответы (1 шт):
Задача заключалась в том, чтобы упростить матричное уравнение. В целом, решение может быть рассмотрено следующим образом:
A * X = X - Mean # исходное уравнение
X - Mean = X - i * Mean(X) # отнимаем среднее значение от каждого элемента вектора Х
A * X = X - i * i.T * X/len(X) # находим среднее значение
A * X = (I - (1/len(X)) * i * i.T) * X # выносим Х за скобки и получаем матрицу А
def gen_m(n):
J = np.ones(shape=(n,n))
I = np.eye(n)
return I - J/n