Моделирование доходности кредитной карты с помощью процесса принятия решений Маркова.

Это со ссылкой на документ, опубликованный по моделированию доходности кредитных карт обработанным Марковым решением. Я пытаюсь реализовать то же самое в python, используя Mdptoolbox, но не получаю вывод в ожидаемом формате.

Мои штаты - это сочетание текущей оценки риска и текущего кредитного лимита клиента. Мои действия - увеличить лимит клиента.

Я подготовил свои переходные вероятности для каждого состояния.

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

import mdptoolbox
import numpy as np
transitions = np.array([
#Limit1
    [
            [0.2, 0.798, 0.001, 0.001], #s1
            [0.001, 0.1, 0.2, 0.699], #s2
            [0.099, 0.001, 0.8, 0.1], #s3
            [0.001, 0.001, 0.898, 0.1] #s4
    ],
#Limit2
    [
            [0.2, 0.001, 0.001, 0.798], #s1
            [0.001, 0.2, 0.798, 0.001], #s2
            [0.001, 0.4, 0.1, 0.499], #s3
            [0.1, 0.2, 0.001, 0.699] #s4
    ],
#Limit3
    [
            [0.001, 0.1, 0.001, 0.898], #s1
            [0.798, 0.2, 0.001, 0.001], #s2
            [0.001, 0.001, 0.001, 0.997], #s3
            [0.001, 0.2, 0.5, 0.299] #s4
    ],
#Limit4
        [
                [0.2, 0.001, 0.001, 0.798], #s1
                [0.1, 0.001, 0.299, 0.6], #s2
                [0.001, 0.1, 0.001, 0.898], #s3
                [0.001, 0.001, 0.1, 0.898] #s4
        ]
])
rewards = np.array([
        [0, 0, 0.9, 0.1],
        [0, 0.8, 0, 0.2],
        [0.1, 0, 0.7, 0.2],
        [0, 0, 0, 1.0]
        ])
vi = mdptoolbox.mdp.ValueIteration(transitions, rewards,0.995)
vi.run();
vi.policy
vi.V

Окончательная политика, которую я получаю:

vi.policy
Out[86]: (2, 1, 2, 3)

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

0 ответов

Другие вопросы по тегам