Справочная информация: В настоящее время я занимаюсь сравнением различных байесовских иерархических моделей. Данные являются числовыми показателями благосостояния для участника и времени . У меня около 1000 участников и от 5 до 10 наблюдений на каждого участника.
Как и в случае большинства продольных наборов данных, я ожидаю увидеть некоторую форму автокорреляции, при которой наблюдения, которые ближе по времени, имеют большую корреляцию, чем наблюдения, которые находятся дальше друг от друга. Упрощение нескольких вещей, основная модель выглядит следующим образом:
где я сравниваю модель без лагов:
с моделью отставания:
где - среднее значение на уровне человека, а β 1 - параметр запаздывания (т.е. эффект запаздывания добавляет кратное отклонение наблюдения от предыдущего момента времени от прогнозируемого значения этого момента времени). Я также должен был сделать несколько вещей, чтобы оценить y i 0 (то есть наблюдение до первого наблюдения).
Результаты, которые я получаю, показывают, что:
- Параметр задержки составляет около .18, 95% ДИ [.14, .21]. Т.е. это ненулевое
- Среднее отклонение и DIC увеличиваются на несколько сотен, если в модель включена задержка
- Последующие прогностические проверки показывают, что благодаря включению эффекта запаздывания модель лучше восстанавливает автокорреляцию в данных
Таким образом, в целом, ненулевой параметр лага и последующие прогностические проверки предполагают, что модель лага лучше; все же среднее отклонение и DIC предполагают, что модель без задержки лучше. Это озадачивает меня.
Мой общий опыт заключается в том, что если вы добавите полезный параметр, он должен как минимум уменьшить среднее отклонение (даже если после потери сложности DIC не улучшится). Кроме того, нулевое значение параметра запаздывания приведет к тому же отклонению, что и модель без запаздывания.
Вопрос
Почему добавление эффекта запаздывания может увеличить среднее отклонение в байесовской иерархической модели, даже если параметр запаздывания не равен нулю, и это улучшает апостериорные прогностические проверки?
Начальные мысли
- Я сделал много проверок сходимости (например, просматривал трассировки; изучал различия в результатах отклонения по цепочкам и по трассам), и обе модели, похоже, сходились на заднем плане.
- Я сделал проверку кода, где заставил эффект запаздывания быть равным нулю, и это восстановило отклонения модели без запаздывания.
- Я также посмотрел на среднее отклонение минус штраф, который должен привести к отклонению от ожидаемых значений, и это также сделало модель отставания хуже.
- Возможно, есть некоторая проблема с тем, как я оценил предполагаемый момент времени до первого наблюдения.
- Возможно, эффект запаздывания в этих данных слабый
- Я попытался оценить модель , используя максимальную liklihood , используя
lme
сcorrelation=corAR1()
. Оценка параметра отставания была очень похожа. В этом случае модель отставания имела большую логарифмическую вероятность и меньшую AIC (примерно на 100), чем модель без задержки (то есть предполагалось, что модель задержки была лучше). Таким образом, это укрепило идею о том, что добавление лага должно также уменьшить отклонение в байесовской модели. - Возможно, в байесовских остатках есть что-то особенное. Если в модели запаздывания используется разница между прогнозируемым и фактическим y в предыдущий момент времени, то эта величина будет неопределенной. Таким образом, эффект запаздывания будет действовать в течение вероятного интервала таких остаточных значений.
источник
Ответы:
Вот мои мысли:
Давайте сделаем еще один шаг: возьмем модель, которая не учитывает эффект запаздывания (c), и вычислим его предельную вероятность . Затем возьмите класс вашей модели (d), который включает в себя эффект запаздывания и имеет приоритет перед параметром запаздывания; вычислить предельную вероятность (г). Вы ожидаете, что (d) имеет большую предельную вероятность . Ну и что, если нет?
(1) Предельное правдоподобие учитывает класс модели в целом. Это включает в себя эффект запаздывания, количество параметров, вероятность, априор.
(2) Сравнение моделей, которые имеют различное количество параметров, всегда деликатно, если существует значительная неопределенность в априорных параметрах.
(3) Если вы укажете неопределенность в предшествующем значении параметра запаздывания, который неоправданно велик, вы штрафуете весь класс модели.
(4) Какая информация поддерживает равные вероятности для отрицательных и положительных лагов? Я считаю, что очень маловероятно, чтобы наблюдалось отрицательное отставание, и это должно быть включено в предыдущее.
(5) Приоритет, который вы выбрали для своего параметра задержки, является равномерным. Обычно это никогда не является хорошим выбором: вы абсолютно уверены, что ваши параметры действительно должны лежать в указанных пределах? Имеет ли каждое значение запаздывания внутри границ равную вероятность? Мое предложение: используйте бета-дистрибутив (если вы уверены, что лаг ограничен; или лог-нормальный, если вы можете исключить значения меньше нуля) .
(6) Это частный пример, где использование неинформативных априорных не является хорошим (с учетом предельной вероятности ): вы всегда будете отдавать предпочтение модели, которая имеет меньшее количество неопределенных параметров; не имеет значения, насколько хороша или плоха модель с большим количеством параметров.
Я надеюсь, что мои мысли дают вам новые идеи, подсказки ?!
источник