Вопрос или проблема
У меня есть набор данных, в котором каждая зависимая переменная — это число успехов в N испытаниях Бернулли, причем N и p (вероятность успеха) отличаются для каждого наблюдения. Цель состоит в том, чтобы обучить модель предсказывать p, учитывая предикторы. Однако наблюдения с малым N будут иметь более высокую дисперсию, чем те, у которых N больше.
Рассмотрим следующий сценарий для лучшей иллюстрации: предположим, что монеты с разными изображениями имеют разные искажения, и это искажение зависит от изображения на монете. У меня есть множество монет, каждая из которых имеет разное изображение и различное искажение p. Я хочу создать модель, которая может предсказывать искажение монеты, учитывая только изображение на монете. Я бросаю каждую монету разное количество раз и записываю число успехов и общее количество бросков. Таким образом, мой набор данных состоит из каждого изображения и его оценки p=успехи/броски.
Поэтому мой вопрос: как мне поступить при обучении моей модели. Кажется, что больший вес следует придавать наблюдениям с большим размером выборки (числом бросков). Я не думаю, что имеет смысл включать число бросков в качестве предиктора, потому что суть заключается в том, чтобы построить модель, которая предсказывает p, используя только изображение на монете, поэтому эту разницу в дисперсии для ответа для каждого наблюдения следует учитывать при обучении модели.
Я использую несколько типов моделей, но в основном работаю с keras и xgboost.
Возможно, теперь я понимаю вопрос. Все еще используя пример с монетами, как я уже говорил, количество испытаний для данной монеты влияет только на уровень доверия к оцененной вероятности/искажению для этой одной монеты. Поэтому, похоже, вы спрашиваете, как учесть эту “уверенность” в зависимой переменной, если вообще стоит. Другими словами, вы спрашиваете, должна ли ваша модель отражать неопределенность относительно истинного значения $p$ для каждой монеты с учетом числа бросков монеты.
Я не думаю, что назначать разные веса наблюдениям уместно в этой ситуации, потому что, ещё раз, число бросков одной монеты не имеет ничего общего с другими монетами.
Я не уверен, удовлетворит ли это ваши потребности, но существует метод под названием интервальная регрессия, который используется для моделирования зависимой переменной, определяемой как интервал между нижней и верхней границами. Это вид регрессии для цензурированных данных (проблема, когда истинное значение ответа не известно) и обычно используется для моделирования таких переменных, как диапазоны доходов или время выживания. В вашем случае вы могли бы вычислить доверительный интервал для истинного значения $p$ для каждой монеты, используя $p$, вычисленное по вашим испытаниям, и конкретное количество испытаний для каждой монеты. Затем вы бы использовали эту регрессию с двумя зависимыми переменными: нижней границей и верхней границей доверительного интервала.
Основываясь на моем быстром поиске, я не нашел много поддержки Python для этого типа модели, кроме:
Деревья интервалов максимального зазора – решающие деревья для интервальной регрессии
Drouin, A., Hocking, T.D. & Laviolette, F. (2017). Деревья интервалов максимального зазора. Материалы 31-й конференции по нейронным информационным системам (NIPS 2017), Лонг-Бич, Калифорния, США.
Ответ или решение
Обучение модели с учетом различной дисперсии откликов в наблюдательных данных
Введение
Ваша задача заключается в построении модели, способной предсказывать вероятность успеха ( p ) для различных монет, которые имеют различный балл (дисперсию) успехов за определенное количество проб (подбросков). Поскольку количество подбрасываний различается для каждой монеты, это создает вызов при обучении модели. Давайте рассмотрим более подробно, как правильно подойти к этой проблеме.
Проблема с различной дисперсией
Как вы правильно заметили, количество подбрасываний ( N ) естественным образом связано с дисперсией оценок вероятности ( p ). Монеты, которые были подброшены только несколько раз, будут иметь более широкие доверительные интервалы для оценки ( p ), чем монеты с большим количеством подбрасываний. Если ваша модель должна предсказывать ( p ) исключительно на основе изображения монеты, важно учитывать уровень достоверности каждой оценки ( p ).
Варианты подхода
-
Весовые решения: При обучении модели вполне разумно использовать взвешивание наблюдений, основываясь на количестве подбрасываний. Одним из подходов может стать использование обратной дисперсии в качестве веса. То есть вы можете задать более высокую «ценность» для наблюдений, где ( N ) велико, поскольку такие наблюдения будут более надежными. В библиотеке XGBoost вы можете указывать веса для обучения, что позволяет учитывать различия в достоверности ваших данных.
-
Интервальная регрессия: Как вы упомянули, использование интервальной регрессии может быть жизнеспособным подходом. Вы можете построить доверительный интервал для каждой оценки ( p ), учитывая количество подбрасываний. Это позволит вам регрессировать не только на верхнюю и нижнюю границы интервалов, но и улучшить прогнозирование и учитывать неопределенность. Несмотря на ограниченное количество библиотек Python, вы можете использовать подходы, такие как Maximum Margin Interval Trees, о которых вы упомянули.
-
Байесовские методы: Также можно рассмотреть многопараметрическое байесовское моделирование, которое позволяет учитывать неопределенность в ответах. В данном случае вы можете использовать подход, основанный на априорном распределении для ( p ), учитывающем, например, Beta-распределение, чтобы отразить предшествующую информацию о вероятностях успеха.
-
Объединение моделей: Можно рассмотреть обучение нескольких моделей параллельно и комбинирование их результатов. Например, одной моделью может быть XGBoost, а другой – нейросеть Keras. Итоги двух подходов можно объединить с помощью стекинга или блендинга, чтобы улучшить предсказания, учитывая неопределенности.
Заключение
Таким образом, задача предсказания вероятности успеха для монет с различной статистической достоверностью действительно представляет собой интересный вызов. Методология, которую вы выберете, будет зависеть от особенностей ваших данных и целей анализа. Важно учитывать разные уровни доверия и число наблюдений, чтобы значительно повысить качество прогноза. Ключевым моментом является использование корректных методов обработки данных, которые реализуют математическую природу ваших наблюдений, обеспечивая тем самым надежные и обоснованные результаты.
Данная сфера активно развивается, и постоянное изучение новых методов и подходов, таких как упомянутые интервальные модели и байесовские методы, может значительно обогатить ваш набор инструментов для разработки эффективных предсказательных моделей.