Я использую сэмплер Metropolis (C ++) и хочу использовать предыдущие образцы для оценки степени сходимости.
Я обнаружил одну простую в использовании диагностику - диагностику Гьюке , которая вычисляет разницу между двумя значениями выборки, деленную на оцененную стандартную ошибку. Стандартная ошибка оценивается по спектральной плотности на нуле.
где , B - два окна в цепи Маркова. Я сделал некоторые исследования о том , что являются ^ S θ ( 0 ) и ^ S B θ ( 0 ) , но попасть впросак литературы по энергетической спектральной плотности мощности и спектральной плотности , но я не эксперт по этим вопросам; Мне просто нужен быстрый ответ: эти величины совпадают с дисперсией выборки? Если нет, то какова формула их вычисления?
Еще одно сомнение в диагностике Гьюке - как выбрать ? В вышеприведенной литературе сказано, что это некоторый функционал θ ( X ) и должен подразумевать существование спектральной плотности ^ S A θ ( 0 ) , но для удобства я предполагаю, что самый простой способ - это использовать функцию тождества (использовать сами образцы). Это верно?
Пакет R coda содержит описание, но не определяет, как вычислять значения
coda
функции,geweke.diag
чтобы увидеть, что она делает ...Ответы:
Вы можете просмотреть код
geweke.diag
функции вcoda
пакете, чтобы увидеть, как вычисляется дисперсия с помощью вызоваspectrum.ar0
функции.Тогда вычисление будет выглядеть примерно так (с заменой обычных оценщиков на параметры):
источник
источник