背景:我目前正在做一些比较各种贝叶斯层次模型的工作。数据是参与者幸福感的数字度量和时间. 我有大约 1000 名参与者,每个参与者有 5 到 10 次观察。
与大多数纵向数据集一样,我期待看到某种形式的自相关,即时间上更接近的观察比相距更远的观察具有更大的相关性。简化一些事情,基本模型如下:
我在比较无滞后模型的地方:
使用滞后模型:
在哪里是个人水平的平均值,并且是滞后参数(即滞后效应将观测值与前一个时间点的偏差与该时间点的预测值相加的倍数)。我还不得不做一些事情来估计(即,第一次观察之前的观察)。
我得到的结果表明:
- 滞后参数约为 0.18, 95% CI [ .14, .21]。即,它不为零
- 当模型中包含滞后时,平均偏差和 DIC 都增加了数百
- 后验预测检查表明,通过包含滞后效应,模型能够更好地恢复数据中的自相关
所以总而言之,非零滞后参数和后验预测检查表明滞后模型更好;然而,平均偏差和 DIC 表明无滞后模型更好。这让我很困惑。
我的一般经验是,如果您添加一个有用的参数,它至少应该减少平均偏差(即使在复杂性惩罚之后 DIC 没有得到改善)。此外,滞后参数的值为零将实现与无滞后模型相同的偏差。
问题
为什么即使在滞后参数不为零并且改进后验预测检查的情况下,添加滞后效应也会增加贝叶斯分层模型中的平均偏差?
最初的想法
- 我已经做了很多收敛检查(例如,查看跟踪图;检查跨链和跨运行的偏差结果的变化)并且两个模型似乎都收敛到后验。
- 我已经进行了代码检查,我将滞后效应强制为零,这确实恢复了无滞后模型偏差。
- 我还查看了平均偏差减去应在预期值处产生偏差的惩罚,这些也使滞后模型看起来更糟。
- 也许滞后效应减少了每个人的有效观察次数,从而降低了估计个人水平均值的确定性() 这会增加偏差。
- 也许我在第一次观察之前如何估计隐含时间点存在一些问题。
- 也许这个数据的滞后效应很弱
- 我尝试使用
lme
with使用最大似然估计模型correlation=corAR1()
。滞后参数的估计值非常相似。在这种情况下,滞后模型比没有滞后的模型具有更大的对数似然和更小的 AIC(约 100)(即,它表明滞后模型更好)。因此,这强化了这样一种观点,即添加滞后也应该降低贝叶斯模型中的偏差。 - 也许贝叶斯残差有什么特别之处。如果滞后模型使用前一个时间点的预测和实际 y 之间的差异,那么这个量将是不确定的。因此,滞后效应将在此类剩余价值的可信区间内运行。