Вопрос или проблема
У меня есть большая популяция ($P$) записей, и мне дана распределение определенной переменной ($x_0$) для конкретного подмножества ($S$) этой популяции. Подмножество $S$ не является случайной выборкой, и, следовательно, распределение $x_0$ для $S$ не обязательно совпадает с распределением $x_0$ для $P$.
Я хочу использовать все другие доступные переменные ($x_1…x_n$), чтобы выбрать другое подмножество $S’$ из набора ($P-S$), так что распределение $x_0$ для $S’$ совпадает с (или достаточно близко к) распределению для $S$. То есть $S’$ имитирует $S$ в отношении переменной $x_0$.
Я новичок в формальной науке о данных и не уверена, является ли машинное обучение лучшим способом решения этой проблемы. На данный момент моё запланированное решение заключается в обучении бинарного классификатора на ($P-S$), который минимизирует потерь, cuantifying разницу в JS-дивергенции целевого и полученного распределений, причем “полученное” определяется как записи с предсказанным баллом $y_0 > 0.5$, или каким-то другим числом, например. Затем тестирование этой модели на отдельных тестовых записях в ($P-S$) и применение отсечки $y_0 > 0.5$ должно дать мне $S’$.
Сработает ли эта стратегия? Есть ли более стандартный и элегантный способ сделать это?
Может быть, я не совсем понимаю ваш метод, но подозреваю, что в нем есть серьезная ошибка: если модель классифицирует экземпляры на основе того, удовлетворяют ли они условию распределения, это означает, что экземпляры (для классификатора) представляют собой собственные распределения (т.е. подмножества элементов), а не отдельные элементы популяции.
В этом варианте настоящая проблема заключается в том, как сгенерировать эти подмножества. Это возможно, но не тривиально. Я бы предложил генетический алгоритм (не бинарный классификатор), который оптимизирует JS-дивергенцию (например) от популяции подмножеств на каждом поколении, начиная с популяции случайных подмножеств.
Другой вариант – рассчитать эмпирическое распределение вероятностей и повторно провести выборку $P-S$, применив его:
- Определите некоторый параметр точности $\epsilon$ для размеров интервалов.
- Оцените эмпирическое распределение вероятностей $p(x_0 \in I)$ для каждого интервала $I$ длиной $\epsilon$.
- Подсчитайте начальную частоту $f(x_0 \in I)$ для каждого интервала $I$ (тех же интервалов) на $P-S$. Обратите внимание, что если есть какой-либо $I$, для которого $f(x_0 \in I)=0$ и $p(x_0 \in I)>0$, это означает, что $\epsilon$ должно быть увеличено.
- Мы хотим достичь распределения $p(x_0 \in I)$ на $P-S$, поэтому мы должны рассчитать новую частоту $f'(x_0 \in I)$ так, чтобы:
- $f'(x_0 \in I) \leq f(x_0 \in I)$ для каждого $I$, иначе экземпляров недостаточно в $P-S$.
- $f'(x_0 \in I) \approx n \times p(x_0 \in I)$ для какого-то $n>0$, чтобы удовлетворить распределению ($n$ должно быть как можно выше).
Таким образом, у нас есть:
$$n \leq \frac{f(x_0 \in I)}{p(x_0 \in I)}$$ для каждого $I$.
Мы получаем наивысший коэффициент $n$, который удовлетворяет этому условию:
$$n=min_I\left( \frac{f(x_0 \in I)}{p(x_0 \in I)}\right)$$
Как только $n$ найден, мы случайным образом выбираем $f'(x_0 \in I) \approx n \times p(x_0 \in I)$ экземпляров в $P-S$ для каждого интервала $I$.
Ответ или решение
Для решения задачи, заключающейся в отборе подмножества ( S’ ) такой, чтобы распределение переменной ( x_0 ) в нём соответствовало (или приближалось) распределению этой переменной в заданном подмножестве ( S ) из общей популяции ( P ), можно использовать несколько подходов. Рассмотрим их подробнее.
Анализ проблемы
Мы имеем большую популяцию ( P ) и её подмножество ( S ), для которого нам известна распределение переменной ( x_0 ). Подмножество ( S ) выбрано не случайным образом, что вызывает вопросы о его репрезентативности. Теперь нам нужно создать подмножество ( S’ ) из ( P – S ), чтобы распределение ( x_0 ) совпадало с распределением в ( S ).
Подходы к решению
1. Генетические алгоритмы
Согласно вашему предложению, использование генетических алгоритмов может быть очень эффективно. Этот метод позволяет оптимизировать ту степень соответствия, которую вы хотите достичь, путем итеративного улучшения популяции подмножеств. Генетические алгоритмы работают следующим образом:
- Создайте начальную популяцию случайных подмножеств из ( P – S ).
- На каждой итерации применяйте операторы селекции, кроссовера и мутации для создания нового поколения подмножеств.
- Используйте метрику (например, JS-дивергенцию) для оценки схожести распределений и выбора лучших подмножеств для передачи на следующую итерацию.
2. Вычислительная оптимизация
Ваше предложение о том, чтобы использовать бинарный классификатор для отборки подмножества ( S’ ), требует некоторого уточнения. Ваша модель должна уметь предсказывать не только принадлежность к классу, но и выделение признаков, которые близки к характеристикам подмножества ( S ).
Альтернативным подходом является использование методики, основанной на эмпирическом распределении:
- Эмпирическая оценка: Предварительно оцените распределение переменной ( x_0 ) в подмножестве ( S ) с использованием дискретизации.
- Расчет вероятностей: Рассчитайте частоты для интервалов, соответствующих распределениям переменной ( x_0 ) в подмножестве ( P – S ).
- Оптимизация подмножества: На основе соотношения, определящего частоты выборки, выберите количество элементов таким образом, чтобы обеспечить максимальное соответствие вероятностному распределению.
Заключение
Оба предложенных подхода имеют свои преимущества и недостатки, и выбор между ними может зависеть от специфики вашей задачи и доступных ресурсов. Генетические алгоритмы могут обеспечить хорошую гибкость и эффективность, тогда как эмпирическая оценка предложит простоту и понятность. Рассмотрите, какой из подходов лучше всего подошел бы к вашей области исследования.
Также важно помнить о том, что любые методы, используемые для подбора ( S’ ), должны быть обоснованы и проверены на качестве получаемых результатов. Интеграция различных подходов может стать наилучшим решением в вашей ситуации.