我最近开始使用帕累托平滑重要性抽样留一法交叉验证(PSIS-LOO),这些论文对此进行了介绍:
- Vehtari,A.&Gelman,A.(2015年)。帕累托平滑重要性抽样。arXiv预印本(链接)。
- Vehtari,A.,Gelman,A.,&Gabry,J.(2016年)。使用留一法交叉验证和WAIC的实用贝叶斯模型评估。arXiv预印本(链接)
这代表了一种非常好的样本外模型评估方法,因为它允许通过一次MCMC运行就可以执行LOO-CV,并且据称比现有的信息标准(例如WAIC)更好。
不幸的是,我发现在将该方法应用于问题时,对于大多数感兴趣的模型,我发现的很大一部分。毫不奇怪,一些报告的LOO对数似然显然是毫无意义的(与其他数据集相比)。作为双重检查,我执行了传统的(且费时的)10倍交叉验证,发现确实在上述情况下,PSIS-LOO给出了非常错误的结果(从正面来看,结果与10所有的模型的CV。作为记录,我使用的是Aki Vehtari的PSIS-LOO 的MATLAB实现。
也许我很倒霉,因为我目前应用此方法的第一个问题对PSIS-LOO来说“困难”,但是我怀疑这种情况可能相对普遍。对于像我这样的案例,Vhttary,Gelman&Gabry的论文简单地说:
即使PSIS估计具有有限的方差,当,用户也应考虑针对有问题的直接从进行采样,请使用倍交叉验证,或使用更可靠的模型。
这些是显而易见的但不是真正理想的解决方案,因为它们都很费时或需要额外的摆弄(我很欣赏MCMC 和模型评估都是摆弄,但越少越好)。
我们是否可以预先应用任何常规方法来尝试防止 PSIS-LOO失败?我有一些初步的想法,但我想知道人们是否已经采用了经验方法。