Статистические модели Python — взвешенный GLM

В настоящее время я работаю со значительно несбалансированными данными, используя пакет statsmodel GLM (или отдельную функцию логита, если это необходимо). До сих пор я не нашел способа реализовать взвешивание экземпляров в этих методах, однако я слышал, что текущая версия 0.7 для разработчиков может иметь эту функцию.

1) Есть ли способ реализовать взвешивание выборки в текущей стабильной версии 2) Если нет, реализована ли эта функция в текущей версии 0.7-dev?

Хотя я знаю, что могу вручную увеличить или уменьшить выборку данных, мне нравится возможность взвешивания классов, поскольку недостаточная выборка создает ситуацию, когда вы намеренно теряете обучающие данные, а избыточная выборка может не быть действительно репрезентативной для населения.

Даже если это не позволяет внутренне сбалансировать классы, функцию балансировки классов SK-learn можно использовать в сочетании с взвешиванием экземпляров для достижения той же функциональности (http://jaquesgrobler.github.io/online-sklearn-build/modules/generated/sklearn.preprocessing.balance_weights.html< /а>)

Спасибо


person user1874538    schedule 27.07.2015    source источник
comment
К сожалению, ответ заключается в том, что он все еще недоступен и не ожидается до версии 0.8. Одним из основных концептуальных вопросов является интерпретация весов для логического вывода. Я думаю, что в текущей и, скорее всего, в более ранней версии statsmodel есть способ схитрить, настроив функцию дисперсии. Кроме того, семейство GLM Binomial имеет биномиальные веса воздействия/населения, но я не уверен, что ими можно манипулировать для этой цели.   -  person Josef    schedule 28.07.2015
comment
Generalized Estimating Equations, GEE, позволяет использовать веса в основном виде и имеет простой GLM в качестве особого случая. Однако я еще не рассматривал пример взвешенной GLM с использованием GEE.   -  person Josef    schedule 28.07.2015