Диаграммы влияния / Модели принятия решений в Stan и PyMC3
Можно ли писать модели принятия решений в Stan или PyMC3? Под этим я подразумеваю: мы определяем не только распределение случайных величин, но также определение переменных решения и полезности и определяем решения, максимизирующие ожидаемую полезность.
Насколько я понимаю, Stan - это скорее общий оптимизатор, чем PyMC3, поэтому можно предположить, что модели принятия решений будут более непосредственно реализованы в нем, но я хотел бы услышать, что люди скажут.
Изменить: Хотя можно перечислить все решения и вычислить их соответствующую ожидаемую полезность, я задаюсь вопросом о более эффективных методах, так как число решений может быть слишком много (например, сколько предметов можно купить из списка с тысячами товаров)). Алгоритмы диаграмм влияния используют факторизации в модели для определения независимости, которая позволяет вычислять решения только по меньшему набору соответствующих случайных величин. Интересно, могут ли Стэн или PyMC3 делать такие вещи?
1 ответ
Основные этапы байесовской теории принятия решений:
- Перечислите конечный набор решений, которые могут быть приняты
- Укажите функцию полезности решения и, возможно, другие вещи
- Нарисуйте из апостериорного распределения всех неизвестных с учетом известных данных
- Оцените функцию полезности для каждого возможного решения и каждого последующего розыгрыша
- Примите решение с наибольшей ожидаемой полезностью, усредняя по задним тиражам.
Вы можете выполнить эти пять шагов с любым программным обеспечением - включая Stan и PyMC3 - которое производит (действительные) отрисовки из апостериорного распределения. В Stan функция полезности должна оцениваться в generated quantities
блок.