Bootstrap

使用引導程序計算 p 值

  • August 2, 2012

我有一個相對複雜的模型擬合程序,其輸出是一組係數(一個用於訓練集中的每個特徵)和一組超參數(控制正則化的量)。

我想計算每個特徵的 p 值。目前,我的程序是這樣的:

  1. 確定超參數的良好值使用交叉驗證。
  2. 用這些超參數在整個數據集上擬合模型,得到
  3. 對於每個功能
  • 為了到
    • 打亂特徵的值產生一個新的數據集
    • 使模型適合與超參數獲得
  • 計算次數的比例並將其稱為特徵的 p 值

這符合我對 p 值是什麼的直觀理解(即每次改組都會產生一個數據集,其中零假設成立,因為我已經隨機化了所有的依賴)但我想知道它是多麼“規範”。我可以想到其他幾種方法來做到這一點,例如:

  1. 重新擬合超參數以及每個內部循環上的係數。
  2. 使用帶替換的採樣來生成新的數據集,而不是改組。

哪一個更好?

而且,更重要的是,我生成的數字能否被解釋為具有任何可靠性的 p 值?

用於引發討論的大量替代方案!

1)您的主要建議實際上是一種排列測試而不是引導程序,並且確實會生成 p 值。p 值在可交換性假設下是準確的,我無法用特定於您的模型的術語來描述它,因為我不知道您的模型,並且如果您可以進行所有可能的排列。在線性回歸中,假設殘差是獨立同分佈的,足以保持可交換性。但是,在循環內重新調整超參數是合適的。

請注意,在缺少單元的不平衡 ANOVA 問題中,由於可交換性要求,可能無法設計置換檢驗(例如, Good,第 138 頁。)

  1. 使用帶放回抽樣將置換檢驗轉變為基於非參數自舉的檢驗。再一次,在循環內重新調整超參數是合適的,但不需要可交換性。

通常,非參數引導測試既不精確也不保守,並且不如置換測試強大,所以我更喜歡置換測試(如果我有選擇的話。)還有參數引導測試可以在分佈時使用原假設下的檢驗統計量是已知的。這些比它們的非參數表親更強大。在你的情況下,如果你有一個線性回歸併且你願意假設 iid 正態殘差,那麼分佈在零假設下是已知的,您可以使用該事實來構建參數引導。不過,您不會通過排列測試。

一個很好的參考是Permutation, Parametric, and Bootstrap Tests of Hypotheses (Good)

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

comments powered by Disqus