В своей книге «Анализ байесовских данных» Джон Крушке утверждает, что при использовании JAGS из R
... оценка режима из выборки MCMC может быть довольно нестабильной, поскольку оценка основана на алгоритме сглаживания, который может быть чувствителен к случайным ударам и пульсациям в выборке MCMC. ( Выполнение байесовского анализа данных , стр. 205, раздел 8.2.5.1)
Хотя у меня есть представление об алгоритме Метрополиса и точных формах, таких как выборка Гиббса, я не знаком с алгоритмом сглаживания, который также упоминается, и почему он будет означать, что оценка режима из выборки MCMC является нестабильной. Может ли кто-нибудь дать интуитивное представление о том, что делает алгоритм сглаживания и почему он делает оценку режима нестабильной?
Ответы:
У меня нет книги под рукой, поэтому я не уверен, какой метод сглаживания использует Крушке, но для интуиции рассмотрим этот график из 100 выборок из стандартной нормали вместе с оценками плотности ядра по Гауссу с использованием различных полос пропускания от 0,1 до 1,0. (Вкратце, гауссовы KDE - это своего рода сглаженная гистограмма: они оценивают плотность, добавляя гауссиан для каждой точки данных со средним значением при наблюдаемом значении.)
Вы можете видеть, что даже когда сглаживание создает унимодальное распределение, режим обычно ниже известного значения 0.
Далее приведен график предполагаемой моды (ось Y) по ширине полосы ядра, используемой для оценки плотности с использованием той же выборки. Надеемся, что это дает некоторую интуицию к тому, как оценка изменяется с параметрами сглаживания.
источник
Шон Пасхальный дал хороший ответ; вот как это на самом деле делается с помощью сценариев R, которые поставляются вместе с книгой Крушке.
plotPost()
Функция определена в R сценария с именемDBDA2E-utilities.R
. Отображает приблизительный режим. Внутри определения функции есть две строки:density()
Функция поставляется с базовой STATs пакетом R, и реализует фильтровального ядро плотности рода Шон Easter описал. Он имеет необязательные аргументы для пропускной способности сглаживающего ядра и типа используемого ядра. По умолчанию используется ядро Гаусса, и есть некоторая внутренняя магия для нахождения хорошей пропускной способности.density()
Функция возвращает объект с компонентом с именем ,y
который имеет сглаженные плотности при различных значенияхx
. Вторая строка кода, приведенная выше, просто находитx
значение, гдеy
это максимум.источник