Могут ли ограничения использовать функцию groupby (pivot)?(scipy.optimize.minimize; SLSQP) - PullRequest
0 голосов
/ 28 сентября 2018

Похоже, проблема с кодом - мои ограничения.Я ищу модель занятости на уровне штата и сектора.Поэтому я хочу убедиться, что общая смоделированная занятость для каждого штата равна общей зарегистрированной занятости для каждого штата.

Для моего ограничения я присоединяю смоделированный кадр данных (1D) к исходной таблице (сцепление) и выполняю команду суммирования (группирование по коду состояния).

def Constraint_STBalance(x):
    TableRebuild = ST_2d_total #<-outside table, orginal data.
    TableRebuild['Table_EMP_MOD'] = x
    TableRebuild['EMPNEW'] = TableRebuild['Table_EMP_MOD'] + TableRebuild['EMP_ADJ']
    sumby2d = TableRebuild.groupby(['FIPSTATE'], as_index=False)['EMP_NEW'].sum()
    return sumby2d['EMP_NEW'] - ST_total['EMP'] #<-outside table, reference data.

scipy.optimize.minimize с методом SLSQP возвращает код ошибки 6, который ссылается на проблему с «матрицей LSQ», которая, как я могу определить, связана с матрицами якобиана и гессиана.

Я думаю, что использование sumby меняет размеры якобианской и гессианской матриц, но я, по общему признанию, новичок в оптимизации.Кто-нибудь знает, что «sumby» можно использовать таким образом, или, возможно, есть какой-то обходной путь, который я пропускаю?

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