Наука о данных, Машинное обучение

Введение в цепь Маркова, процесс и скрытую марковскую модель

Концепция и применение цепи Маркова и скрытой модели Маркова в количественных финансах

Вступление

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

Среда обучения с подкреплением обычно описывается в форме марковского процесса принятия решений (MDP). Следовательно, для нас было бы хорошей идеей понять различные марковские концепции; Цепь Маркова, марковский процесс и скрытая марковская модель (HMM).

Марковский процесс и марковская цепь

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

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

Знание предыдущего состояния - это все, что необходимо для определения распределения вероятностей текущего состояния.

Цепь Маркова - это дискретный процесс, для которого будущее поведение зависит только от настоящего, а не от прошлого состояния. В то время как марковский процесс - это непрерывная версия цепи Маркова.

Марковская цепь

Марковская цепь характеризуется набором состояний S и вероятностями перехода P ij между каждым состоянием. Матрица P с элементами Pij называется матрицей переходной вероятности цепи Маркова.

Обратите внимание, что строчные суммы P равны 1. При условии, что;

  • Все состояния цепи Маркова взаимодействуют друг с другом (из каждого состояния можно перейти более чем за один шаг в любое другое состояние)
  • Цепь Маркова не является периодической (периодическая цепь Маркова похожа на то, что вы можете вернуться в состояние только за четное количество шагов)
  • Цепь Маркова не уходит в бесконечность

Марковский процесс

Основное отличие заключается в том, как ведет себя переход. В каждом состоянии существует ряд возможных событий, которые могут вызвать переход. Событие, вызывающее переход из состояния I в состояние J, может произойти через экспоненциальный промежуток времени, Q ij.

Система может перейти из состояния i в состояние j с вероятностью;

Матрица Q с элементами из Q ij называется генератором марковского процесса. Суммы строк Q равны 0. При условиях;

  • Все состояния марковского процесса взаимодействуют друг с другом.
  • Марковский процесс не уходит в бесконечность

заявка

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

Давайте посмотрим, как мы можем реализовать это в Python для невыполнения обязательств по кредиту и погашения кредита в банковской сфере. Мы можем наблюдать и агрегировать показатели портфеля (в этом случае предположим, что у нас есть данные за год). Мы можем вычислить вероятностный путь P (хорошие ссуды - ›плохие ссуды) = 3% и построить матрицу перехода.

Как только у нас будет этот переход, мы можем использовать его, чтобы предсказать, каким станет ссудный портфель в конце года 1. Предположим, у нас есть два портфеля, один с 90% хорошей ссуды и 10% рискованной, а другой с 50: 50.

В конце первого года порт А будет иметь 13,7% выплаченных и 7,1% безнадежных ссуд, в то время как 11,2% станут рискованными ссудами. Порт B станет 40%, 32%, 8,5% и 19,5% хороших ссуд, рискованных ссуд, выплаченных и безнадежных ссуд соответственно.

Предположения и ограничения модели Маркова

Цепь Маркова может быть мощным инструментом при моделировании случайных процессов (то есть событий упорядочивания и CRM). Однако есть несколько предположений, которые следует соблюдать при использовании этого метода.

Допущение 1: вероятности применимы ко всем участникам системы.

Допущение 2: вероятности перехода постоянны во времени.

Допущение 3: состояния независимы во времени.

Скрытая марковская модель (HMM)

Скрытые марковские модели (HMM) - это вероятностные модели, они подразумевают, что марковская модель, лежащая в основе данных, является скрытой или неизвестной. В частности, мы знаем только данные наблюдений, а не информацию о состояниях.

HMM определяется тремя параметрами модели;

  • Вероятность старта; вектор, содержащий вероятность того, что состояние будет первым состоянием последовательности.
  • Вероятности перехода между состояниями; матрица, состоящая из вероятностей перехода из состояния Si в состояние Sj.
  • Вероятность наблюдения; вероятность определенного наблюдения y, если модель находится в состоянии Si.

HMM можно использовать для решения четырех фундаментальных проблем;

  1. Учитывая параметры модели и последовательность наблюдений, оцените наиболее вероятную (скрытую) последовательность состояний. Это называется проблемой декодирования.
  2. Учитывая параметры модели и последовательность наблюдений, найдите вероятность последовательности наблюдений для данной модели. Этот процесс включает оценку максимального правдоподобия атрибутов, иногда называемую проблемой оценки.
  3. Учитывая последовательности наблюдений, оцените параметры модели. Это называется проблемой обучения.
  4. Оцените последовательности наблюдений, y1, y2,… и параметры модели, что максимизирует вероятность y. Это называется проблемой обучения или оптимизации.

Пример использования HMM в количественных финансах

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

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

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

В этом примере я буду использовать наблюдаемые переменные: Ted Spread, 10-летний - 2-летний постоянный спред по срокам погашения, 10-летний - 3-месячный постоянный спред по срокам погашения и Индекс общей доходности ICE BofA US High Yield Index, найти скрытые состояния

В этом примере наблюдаемые переменные, которые я использую, - это доходность базовых активов, индекс общей доходности ICE BofA US High Yield Index, спред Ted, постоянный спрэд по срокам погашения от 10 до 2 лет и постоянный от 10 до 3 месяцев. спред по срокам погашения.

Теперь мы пытаемся смоделировать скрытые состояния акций GE, используя два метода; sklearn's GaussianMixture и HMMLearn's GaussianHMM. Обе модели требуют, чтобы мы указали количество компонентов, чтобы соответствовать временному ряду, мы можем рассматривать эти компоненты как режимы. Для этого конкретного примера я назначу три компонента и предположу, что это высокая, нейронная и низкая волатильность.

Метод гауссовой смеси

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

Красным цветом выделены средние значения и значения дисперсии доходности акций GE. Мы можем интерпретировать, что последнее скрытое состояние представляет режим высокой волатильности, основанный на самой высокой дисперсии, с отрицательной доходностью. В то время как 0-е ​​и 1-е скрытые состояния представляют низкую и нейтральную волатильность. Эта нейтральная волатильность также показывает наибольшую ожидаемую доходность. Давайте сопоставим этот цветовой код и построим график с фактической ценой акций GE.

HMMLearn’s GaussianHMM

HMMLearn реализует простые алгоритмы и модели для изучения скрытых марковских моделей. Есть несколько моделей, таких как Гаусса, Гауссова смесь и полиномиальная, в этом примере я буду использовать GaussianHMM. Для более подробной информации обратитесь к этой документации.

Результат GaussianHMM почти такой же, как и в модели Gaussian Mixture.

Сноска

В этом посте мы обсудили концепцию цепи Маркова, марковского процесса и скрытых марковских моделей, а также их реализации. Мы использовали GaussianMixture sklearn и GaussianHMM HMMLearn, чтобы оценить исторические режимы на основе других переменных наблюдения.

Для полной реализации кода вы можете обратиться здесь или посетить мой GitHub по ссылке ниже. Удачного обучения !!!

Справочник и репозиторий Github

Ресурс Джона Хопкинса