Образец Метрополиса-Гастингса
smpl = mhsample(start,nsamples,'pdf',pdf,'proppdf',proppdf, 'proprnd',proprnd)
smpl = mhsample(...,'symmetric',sym)
smpl = mhsample(...,'burnin',K)
smpl = mhsample(...,'thin',m)
smpl = mhsample(...,'nchain',n)
[smpl,accept] = mhsample(...)
smpl = mhsample(start,nsamples,'pdf',pdf,'proppdf',proppdf, 'proprnd',proprnd) тянет nsamples случайные выборки из целевого стационарного распределения pdf используя алгоритм Метрополиса-Гастингса.
start - вектор строки, содержащий начальное значение цепи Маркова, nsamples - целое число, указывающее количество генерируемых выборок, и pdf, proppdf, и proprnd являются дескрипторами функций, созданными с помощью @. proppdf определяет плотность распределения предложения, и proprnd определяет генератор случайных чисел для распределения предложений. pdf и proprnd взять один аргумент в качестве входных данных с тем же типом и размером, что и start. proppdf принимает два аргумента в качестве входных данных с тем же типом и размером, что и start.
smpl - вектор столбца или матрица, содержащая образцы. Если предпочтительна функция логарифмической плотности, 'pdf' и 'proppdf' может быть заменен на 'logpdf' и 'logproppdf'. Функции плотности, используемые в алгоритме Метрополиса-Гастингса, не обязательно нормализуются.
Предлагаемое распределение q (x, y) дает плотность вероятности для выбора x в качестве следующей точки, когда y является текущей точкой. Иногда записывается как q (x 'y).
Если proppdf или logproppdf удовлетворяет q (x, y) = q (y, x), то есть предложенное распределение симметрично,mhsample реализует выборку Random Walk Metropolis-Hastings. Если proppdf или logproppdf удовлетворяет q (x, y) = q (x), то есть распределение предложения не зависит от текущих значений,mhsample реализует независимую выборку Metropolis-Hastings.
smpl = mhsample(...,'symmetric',sym) тянет nsamples случайные выборки из целевого стационарного распределения pdf используя алгоритм Метрополиса-Гастингса. sym - логическое значение, указывающее, является ли распределение предложений симметричным. Значением по умолчанию является false, что соответствует асимметричному распределению предложений. Если sym верно, например, распределение предложений симметрично, proppdf и logproppdf являются необязательными.
smpl = mhsample(...,'burnin',K) создает цепочку Маркова со значениями между начальной точкой и kВ сформированной последовательности пропущена третья точка. Значения за пределами kСохраняют десятую точку. k - неотрицательное целое число со значением по умолчанию 0.
smpl = mhsample(...,'thin',m) генерирует цепочку Маркова с m-1 вне m значения опущены в сгенерированной последовательности. m является положительным целым числом со значением по умолчанию 1.
smpl = mhsample(...,'nchain',n) производит n цепи Маркова с использованием алгоритма Метрополиса-Гастингса. n является положительным целым числом со значением по умолчанию 1. smpl - матрица, содержащая образцы. Последнее измерение содержит индексы для отдельных цепей.
[smpl,accept] = mhsample(...) также возвращает accept, коэффициент принятия предлагаемого распределения. accept является скаляром, если генерируется одна цепь, и вектором, если генерируется несколько цепей.