Этот вопрос довольно общий и многословный, но, пожалуйста, потерпите меня.
В моем приложении у меня есть много наборов данных, каждый из которых состоит из ~ 20 000 точек данных с ~ 50 объектами и одной зависимой двоичной переменной. Я пытаюсь смоделировать наборы данных с помощью регуляризованной логистической регрессии (пакет R glmnet )
Как часть моего анализа, я создал остаточные участки следующим образом. Для каждой функции я сортирую точки данных в соответствии со значением этой функции, делю точки данных на 100 сегментов, а затем вычисляю среднее выходное значение и среднее значение прогнозирования в каждом сегменте. Я строю эти различия.
Вот пример остаточного участка:
На приведенном выше графике характеристика имеет диапазон [0,1] (с высокой концентрацией в 1). Как вы можете видеть, когда значение свойства низкое, модель, кажется, смещена в сторону переоценки вероятности выхода 1. Например, в самом левом ведре модель переоценивает вероятность примерно на 9%.
Вооружившись этой информацией, я хотел бы прямо изменить определение функции, чтобы примерно исправить это смещение. Переделки вроде замены
или
Как я могу это сделать? Я ищу общую методологию, чтобы человек мог быстро прокрутить все ~ 50 графиков и внести изменения, сделать это для всех наборов данных и часто повторять, чтобы поддерживать модели в актуальном состоянии по мере развития данных с течением времени.
Как общий вопрос, это даже правильный подход? Поиски в Google по запросу «Остаточный анализ логистической регрессии» не дают много результатов с хорошим практическим советом. Кажется, они зациклены на ответе на вопрос: «Эта модель хорошо подходит?» и предложить различные тесты, такие как Hosmer-Lemeshow, чтобы ответить. Но мне все равно, хороша ли моя модель, я хочу знать, как сделать ее лучше!