Найти матрицу с оптимизацией Python Scipi - PullRequest
0 голосов
/ 01 июля 2019

Я пытаюсь вычислить решение для следующего уравнения: 0 = WB-S для B, устанавливая верхнюю и нижнюю границы для результатов. Матрицы имеют следующую форму:

W is mxn
B is zxn
S is mxz

Я пытался использовать функцию scipy.optimize.lsq_linear scipy. Однако я сталкиваюсь со следующей ошибкой:

b должен иметь не более 1 размерности.

В этом случае b равно S в моем уравнении.

df_ret.shape
(2414, 97)
df_matrix.shape
(2414, 336)
df_bd.shape
(97,)
lb = 2,5*df_bd
up = -2.5*df_bd
res = lsq_linear(df_matrix, df_ret, bounds = (lb,up))

----------------------------------------------- ---------------------------- ValueError Traceback (последний вызов последний) в ----> 1 res = lsq_linear (df_matrix, df_ret, bounds = (lb, up))

~ \ AppData \ Local \ Continuum \ anaconda3 \ Lib \ сайт-пакеты \ SciPy \ optimize_lsq \ lsq_linear.py в lsq_linear (A, b, границы, метод, tol, lsq_solver, lsmr_tol, max_iter, многословный) 261 b = np.atleast_1d (b) 262 если b.ndim! = 1: -> 263 повысить ValueError («b должно иметь не более 1 измерения.») 264 265 если b.size! = M:

ValueError: b должно иметь не более 1 измерения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...