Использование MCMC для оценки ожидаемого значения многомерной функции

10

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

Наша проблема сводится к оценке ожидаемого значения функции стоимости где является мерной случайной величиной с плотностью ,c(ω)ω=(ω1,ω2,...ωh)hf(ω)

В нашем случае закрытая версия не существует. Это означает, что мы должны использовать методы Монте-Карло, чтобы приблизить ожидаемое значение. К сожалению, оказывается, что оценки , которые генерируются с использованием методов MC или QMC, имеют слишком большое отклонение, чтобы быть полезными в практических условиях.c(ω)E[c(ω)]

Одна идея, что нам нужно было использовать распределение выборки по важности для генерации точек выборки, которые приведут к низкой оценке дисперсии . В нашем случае распределение выборки с идеальной важностью, , должно быть приблизительно пропорционально . Видя, как известен с точностью до константы, мне интересно, могу ли я использовать MCMC вместе с распределением предложений чтобы в конечном итоге генерировать выборки из .E[c(ω)]g(ω)c(ω)f(ω)g(ω)c(ω)f(ω)g(ω)

Мои вопросы здесь:

  • Можно ли использовать MCMC в этой настройке? Если да, какой метод MCMC будет уместным? Я работаю в MATLAB, поэтому я предпочитаю все, что уже имеет реализацию MATLAB.

  • Существуют ли какие-либо методы, которые я могу использовать для ускорения периода выгорания MCMC. И как я могу сказать, что стационарное распределение было достигнуто? В этом случае фактически требуется немало времени для вычисления для данного .ωc(ω)ω

Берк У.
источник
опечатка в последнем абзаце? вместо ? C ( W )C(w)c(w)
mpiktas
Вам не нужно использовать методы Монте-Карло для многомерных интегралов только потому, что замкнутая форма не существует. Вы можете использовать методы, основанные на разреженных сетках . Я сам не знаю плюсов и минусов.
остановка
@onestop - вы правы, разреженные сетки работают немного лучше в моем случае, хотя я также хотел бы проверить эту идею.
Берк У.
Это звучит как финансы.
Вок
1
Это может быть применено к финансам. Мы используем его для оптимального управления энергосистемами, хотя :)
Berk U.

Ответы:

4

Я бы всегда помнил, что MCMC - это просто инструмент числовой интеграции (причем довольно неэффективный). Это не какая-то волшебная / мистическая вещь. Это очень полезно, потому что его достаточно легко наносить. Это не требует много размышлений по сравнению с некоторыми другими методами численного интегрирования. Например, вам не нужно делать какие-либо производные. Вам нужно только генерировать «случайные числа».

Однако, как и любой метод численного интегрирования, он не является универсальным инструментом для охвата всего. Есть условия, когда это полезно, и условия, когда это не так.

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

Кроме того, если ваши оценки достаточно точны, то будет резко пиковым и будет напоминать дельта-функцию, поэтому интеграл эффективно подставляет .фωш ш т хf(ω)ωωmax

Другой метод численного интегрирования использует ряд Тейлора под интегралом. f(ω)f(ωmax)+(ωωmax)f(ωmax)+12(ωωmax)2f(ωmax)+

Это полезная стратегия, когда моменты легко получить.ω

У Эдвина Джейнса есть хорошая цитата:

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

Один из способов «более размышления» - использовать «многослойный MCMC» для создания интеграла. Таким образом, вместо того, чтобы «случайно» выбрать место на всем пространстве параметров: разделите его на «страты». Эти «страты» должны быть выбраны так, чтобы вы получили хороший диапазон верхней части интеграла. Затем случайная выборка внутри каждой страты. Но это потребует от вас написания собственного кода, который я себе представляю (т. Е. Больше размышлений).

probabilityislogic
источник
Большое спасибо за Ваш пост. Мне очень нравится твоя многослойная идея MC. Мне было интересно, если бы вы знали о каких-либо ресурсах на нем, чтобы я мог прочитать об этом? Все с примером в действии будет высоко ценится.
Берк У.
Это идея, которая у меня была, поэтому я не знаю ни о каких ресурсах. Это можно было бы поместить в структуру MCMC, добавив еще один слой, который определяет страты. И одна из моих главных слабостей - делать вещи - я в глубине души мыслитель! Я знаю, что это вам не очень помогает, и я прошу прощения за это. Но, конечно, я не единственный человек, который думал об этом. Любой, кто делал статистику «на основе дизайна» и «байесовскую статистику», наверняка подумал бы об этом.
вероятностная
2

Нет никаких признаков того, что ваши переменные здесь коррелируют, поэтому я не знаю, почему вы бы использовали MCMC, а не обычный Монте-Карло. Существует много различных методов выборки, включая упомянутую стратифицированную выборку (латинский гиперкуб) и QMC. Методы разреженной квадратуры очень хороши, если размер задачи не слишком велик (не более 10), поскольку разреженные квадратурные сетки растут геометрически (проклятие размерности).

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

Я хотел бы добавить, что это открытая исследовательская проблема, поэтому, если вы сможете придумать что-то хорошее, это будет очень интересно для сообщества!

Gary
источник
Спасибо за это! Не могли бы вы подробнее рассказать о взаимосвязи между эффективностью MCMC и корреляцией между переменными? Я всегда думал, что MCMC обеспечит преимущество по сравнению с существующими методами численного интегрирования, когда переменные коррелируют - хотя я не могу предоставить вескую причину для этого.
Берк У.
0

Поскольку никто, казалось, на самом деле не ответил прямо на вопрос: да, вы можете использовать MCMC для выборки из . MCMC может быть использован для выборки из любого распределения, где распределение известно только до постоянной пропорциональности.g(ω)

Кроме того, вы можете посмотреть методы уменьшения дисперсии в области интеграции MC. Большой автономный набор ресурсов - бесплатные главы книг, доступные от Art Owen в Stanford. В частности, главы 8, 9 и 10.

Там вы найдете подробное описание адаптивной выборки, рекурсии и других методов.

JKnight
источник