貝葉斯對過擬合的思考
我花了很多時間來開髮用於驗證傳統頻率統計領域中的預測模型的方法和軟件。在將更多的貝葉斯思想付諸實踐和教學時,我看到了一些需要接受的關鍵差異。首先,貝葉斯預測建模要求分析師認真考慮可能針對候選特徵定制的先驗分佈,這些先驗將模型拉向它們(即,針對不同的預測特徵,通過不同的懲罰量實現收縮/懲罰/正則化)。其次,“真正的”貝葉斯方法不會產生單個模型,而是會獲得整個後驗分佈來進行預測。
考慮到這些貝葉斯特徵,過擬合是什麼意思?我們應該評估它嗎?如果是這樣,怎麼做?我們如何知道貝葉斯模型何時可用於現場使用?或者這是一個有爭議的問題,因為當我們使用我們開發的預測模型時,後驗將攜帶所有謹慎的不確定性?
如果我們強迫貝葉斯模型被提煉成一個單一的數字,例如後驗均值/眾數/中值風險,思維會發生怎樣的變化?
後續問題: : 如果我們完全是貝葉斯,並且在查看數據之前花一些時間考慮先驗,並且我們擬合了一個適當指定數據似然性的模型,那麼我們是否不得不對我們的模型在過度擬合方面感到滿意? 或者我們是否需要做我們在常客世界中所做的那樣,隨機選擇的主題可以平均預測得很好,但是如果我們選擇一個預測非常低或預測值非常高的主題,就會出現回歸是什麼意思?
首先我可能會說,貝葉斯模型不能係統地過擬合(或欠擬合)從先前預測分佈中提取的數據,這是在將貝葉斯軟件應用於收集的數據之前驗證貝葉斯軟件是否正常工作的程序的基礎世界。
但它可以過擬合從先前預測分佈中提取的單個數據集或從世界收集的單個數據集,因為應用於您所依賴的數據的各種預測措施看起來比應用於未來數據的相同預測措施更好。由相同的過程生成。Richard McElreath 的貝葉斯著作的第 6 章專門討論過擬合。
良好的先驗可以減輕過度擬合的嚴重性和頻率,尤其是那些能夠提供有關效果規模信息的先驗。通過將消失的先驗概率放在難以置信的大值上,您可以阻止後驗分佈因您所依賴的數據的某些特殊方面而過度興奮,這可能暗示著難以置信的大效應。
檢測過擬合的最佳方法涉及留一法交叉驗證,它可以從實際上不會將任何觀察結果排除在條件集之外的後驗分佈來近似。有一個假設,即您所依據的單個“觀察”[*] 對後驗分佈沒有過大的影響,但可以通過評估廣義帕累托分佈中形狀參數的估計大小來檢查該假設,即擬合重要性採樣權重(源自對後驗分佈的每次抽取評估的觀察的對數似然)。如果滿足此假設,則您可以獲得每個觀察值的預測測量值,就好像該觀察值已被省略,後驗是從剩余觀察的條件中提取的,並且已經為省略的觀察構建了後驗預測分佈。如果您對遺漏觀察的預測受到影響,那麼您的模型一開始就過度擬合。這些想法在R 的loo 包,其中包括諸如here和there之類的引用。
就提煉到一個數字而言,我喜歡計算落在 50% 預測區間內的觀察值的比例。如果該比例大於二分之一,則模型過度擬合,儘管您需要多個觀察值才能消除包含指標函數中的噪聲。為了比較不同的模型(可能過擬合),預期的對數預測密度(由loo
loo
中的函數計算)package) 是一個很好的度量(由 IJ Good 提出),因為它考慮到了一個更靈活的模型可能比一個不太靈活的模型更好地擬合可用數據但預計未來數據預測更差的可能性。但是這些想法可以應用於任何預測度量的期望(這對從業者來說可能更直觀);查看loo包E_loo
中的函數。[*] 您必須選擇在分層模型中構成觀察的內容。例如,您是否對預測新患者或現有患者的新時間點感興趣?您可以採用任何一種方式,但前者要求您(重新)編寫似然函數以整合患者特定參數。