Создание RiskScore на числовых данных

Вопрос или проблема

Я работаю над созданием оценки риска на основе данных, где у меня есть переменные – сумма инвестиций, прибыль, возраст аккаунта в днях, общее количество торговых транзакций, прибыль на транзакцию и инвестиции на транзакцию. В основном, я хочу разработать метод для расчета оценки риска, где прибыль человека больше (в большинстве случаев он выигрывает). Здесь оценка должна быть выше, чтобы я мог классифицировать клиентов как клиенты с Высоким риском (в основном выигрыши и получение большой прибыли), Средним риском и Низким риском (всегда несет убытки).

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

Ниже представлены переменные, которые я в данный момент использую…

|Переменная|               Определение|
|username|               UserId для идентификации записей|
|Total_Freq_transaction| Общее количество сделанных сделок|
|Total_Freq_win|         Общее количество выигранных сделок|
|Account_age_days|       Дата активации аккаунта - Дата последней сделки |
|Invest_Amount|          Общая сумма, инвестированная в сделку|
|total_profit|           Прибыль, полученная от сделки (сумма выплаты - сумма инвестиции)|
|Trade_per_day|          Общее количество сделок за день / возраст аккаунта|
|Win_prob%|              Вероятность выигрыша от общего количества сделок|

Буду признателен за любую помощь.

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

Вы также можете рассмотреть это как задачу классификации на три класса, если у вас есть разметка данных для этого. Или посмотрите на это как на задачу бинарной классификации и создайте три группы на основе вероятностей классов, которые предоставляет классификатор.

Поскольку ваша вероятность выигрыша (Win_prob%) является непрерывной числовой переменной результата, это задача регрессии с контролем. Для этого существует множество методов, как линейных, так и нелинейных (особенно смотрите scikit-learn: http://scikit-learn.org/stable/supervised_learning.html). Какой из этих алгоритмов будет для вас лучшим, зависит от ваших данных. Вероятно, вам нужно будет попробовать несколько алгоритмов и посмотреть, какой из них дает наилучшие результаты. Перекрестная проверка ( http://scikit-learn.org/stable/modules/cross_validation.html ), вероятно, будет лучшим способом определить это.

Вы также можете попробовать нейронные сети, используя другие библиотеки, например, https://www.tensorflow.org/tutorials/keras/basic_regression или https://www.kaggle.com/xgdbigdata/keras-regression-tutorial#.

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

Надеюсь, это поможет.

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

Просто кластеризуйте пользователей на три группы и проанализируйте вывод, чтобы увидеть, является ли он интуитивно понятным. Чистите его немного, маркируйте и используйте это для построения будущих моделей классификации с контролем.

Ответ или решение

Создание Рискового Оценочного В Score На Основании Числовых Данных

В современных условиях риск-менеджмента важность правильного оценивания рисков клиентов возрастает. Этот процесс предполагает детальное изучение числовых показателей, которые могут служить основой для количественной оценки различных уровней риска. В данном случае мы говорим о создании рискового оценочного счёта (Risk Score), используя следующие переменные: сумма инвестиций, прибыль, возраст аккаунта, количество торговых сделок, прибыль на сделку и инвестиции на сделку.

1. Понимание переменных

Перед тем как перейти к алгоритму оценки рисков, давайте встретимся краткий анализ переменных:

  • Инвестированная сумма (Invested_amount): Общая сумма, вложенная пользователем в торги.
  • Сумма прибыли (Profit Amount): Общая прибыль, полученная от сделок.
  • Возраст аккаунта в днях (Age of Account in days): Время с момента открытия аккаунта до текущей даты.
  • Общее количество сделок (Total Trading Transactions): Общее количество торговых операций, проведенных пользователем.
  • Прибыль на сделку (Profit per Transaction): Средняя прибыль от одной сделки.
  • Инвестиции на сделку (Investment per transaction): Средняя сумма, вложенная в каждую сделку.

2. Оценка и анализ рисков

Рисковый оценочный счёт можно построить на основе нескольких методов. Прежде всего, необходимо учитывать, что ваш целевой признак – выигрышная вероятность (Win_prob%), то есть вероятность выигрыша пользователя. Она может варьироваться от 0 до 1 и подсчитывается как отношение числа выигранных сделок к общему числу сделок.

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

3. Методы создания рискового счёта

Линейная регрессия

Одним из традиционных подходов к созданию рискового оценочного счёта является использование линейной регрессии. В данном случае целевая переменная может представлять собой прибыль или выигрышную вероятность. Ключевые шаги включают:

  • Сбор и предобработка данных: Удаление аномалий и работа с пропущенными значениями.
  • Создание модели: С помощью библиотек, таких как Scikit-Learn, можно построить модель линейной регрессии, которая позволит оценить вес каждого из факторов для предсказания конечного результата.

Классификация

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

Параллельно вы можете использовать методы вроде кросс-валидации для оценки эффективности моделей.

Нейронные сети

Влияние нейронных сетей на процессы оценки рисков также становится всё более актуальным. Вы можете воспользоваться платформами, такими как TensorFlow, для разработки более сложных моделей, которые могут учитывать нелинейные зависимости в данных.

4. Кластеризация как альтернативный метод

Если у вас нет конкретных метрик для классификации, можно рассмотреть кластеризацию как подход к оценке рисков. Этот метод позволяет вам группировать клиентов на основе их характеристик и выявлять паттерны в их поведении.

Процесс включает:

  • Выбор алгоритма кластеризации (например, K-средних).
  • Применение к данным для создания сегментов риска.
  • Анализ полученных групп для их интерпретации и названия.

5. Заключение

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

Надеюсь, данный анализ будет полезен для вашего проекта.

Оцените материал
Добавить комментарий

Капча загружается...