Sample-Size

multivariate Effective Sample Size (multiESS):批量大小的選擇

  • July 19, 2016

對於那些感興趣的人,我的 MATLAB 實現 multiESS 在此處獲得。


我正在重新實現來自Vats 等人的 MCMC 的多變量有效樣本量 (multiESS) 估計器。(2015 年)。用戶@Greenparker 在此答案中對該方法進行了出色的描述;我在這裡複製了相關部分,因為我不能做得更好(查看她的完整答案以獲取更多詳細信息):

多元 ESS 返回一個數字,表示您要估計的數量的有效樣本量;它通過考慮過程中的所有互相關來做到這一點。[…] 假設您對-後驗分佈均值向量。mESS定義如下

這裡

  1. 是後驗的協方差結構(如果您有獨立樣本,也是 CLT 中的漸近協方差)
  2. 是馬爾可夫鏈 CLT 中的漸近協方差矩陣(不同於因為樣本是相關的。
  3. 是估計數量的數量(或者在這種情況下,是後驗的維度。
  4. 是決定因素。
  5. [是樣本數。]

mESS可以通過使用樣本協方差矩陣來估計和批次均值協方差矩陣來估計. 這已multiESS在 R 包mcmcse的函數中編碼。

算法中唯一重要的部分是批量估計,這需要選擇批量大小.

默認選擇為在multiESS是. 但是,選擇的方法論文是否不完全清楚並且有些武斷(例如,作者有時會選擇)。此外,作者表明,選擇應該取決於馬爾可夫鏈的混合時間,慢速混合過程需要更大的.

在實踐中,選擇會影響輸出一個數量級甚至更多。

作為一個實用的、保守的選擇,我正在考慮使用分析下限定義如下:

在哪裡是一個小數(例如,) 和採取這樣的方式,以便有合理數量的批次進行平均(例如,). 這聽起來合理嗎?關於如何選擇的任何其他建議以客觀的方式?

(快速測試表明似乎不像跨維度取單變量 ESS 的最小值那樣保守;所以它可能達到了很好的平衡。)

好問題。僅供參考,這個問題也存在於單變量設置中,而不僅僅是多變量 ESS。

這是我現在能想到的最好的了。選擇最佳批量大小的選擇是一個懸而未決的問題。然而,很明顯,就漸近線而言,應該增加(我認為這在論文中也提到過。一般來說,如果不增加, 然後不會強一致)。

所以與其看看看會更好(或至少理論上更好)在哪裡. 現在,讓我先解釋一下批量均值估算器的工作原理。假設你有一個維馬爾可夫鏈. 估計,這個馬爾可夫鏈被分成批次(批量大小),計算每批的樣本均值 ().

樣本協方差(按比例縮放)是批量均值估計量。

如果,那麼批次均值將恰好是馬爾可夫鏈,並且您的批次均值估計器將估計並不是. 如果那麼這意味著您假設在滯後 1 之前只有一個顯著的相關性,並且之後的所有相關性都太小了。這可能不是真的,因為滯後通常會超過 20-40。

另一方面,如果您只有一個批次,因此沒有批次均值估算器。所以你肯定想要. 但你也想要足夠低,以便您有足夠的批次來計算協方差結構。

在 Vats 等人中,我認為他們選擇因為當它慢慢混合和當它是合理的。一個合理的做法是查看您有多少顯著滯後。如果滯後較大,則選擇較大的批次大小,如果滯後較小,請選擇較小的批次大小。如果您想使用您提到的方法,我會限制超過一個小得多的集合。也許讓, 並取

根據我對該領域的理解,在選擇批量大小方面仍有一些工作要做,並且有幾個小組(包括 Vats 等人)正在研究這個問題。然而,到目前為止,通過從 ACF 圖學習來選擇批量大小的臨時方法似乎已經奏效。

編輯——

這是另一種思考方式。請注意,理想情況下,批次大小應使批次意味著沒有與之相關的滯後。因此,可以選擇批量大小,以使批量均值的 acf 圖沒有顯著滯後。

考慮下面的 AR(1) 示例(這是單變量,但可以擴展到多變量設置)。為了.

越接近為1,則鏈的混合速度越慢。我設置並運行馬爾可夫鏈迭代。這是馬爾可夫鏈的 ACF 圖.

在此處輸入圖像描述

看到只有 5-6 的滯後,我選擇,將鏈分成批次,併計算batchmeans。現在我介紹批處理方式的 ACF。

在此處輸入圖像描述

啊,批處理方式有一個明顯的滯後。所以也許太低了。我選擇相反(您也可以選擇介於兩者之間的東西,但這更容易),然後再次查看批處理方式的 acf。

在此處輸入圖像描述

沒有明顯的滯後!所以現在你知道選擇為您提供足夠大的批次,以便後續批次均值大致不相關。

引用自:https://stats.stackexchange.com/questions/224553

comments powered by Disqus