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