高斯過程預測區間
如何評估高斯過程的預測區間?我不知道如何估計這個區間,儘管我可以找到平均線的 95% 置信區間。
我將在貝葉斯框架內回答您的問題。如果您特別需要一個常客解決方案,您可以通過稍微修改我的答案來獲得一個,但我認為它會低估實際的不確定性:您需要一種完全常客的方法,但我不知道在這種特定情況下如何做到這一點.
為了簡要回顧貝葉斯 GPR(高斯過程回歸)框架,您假設模型
$$ y=f(x|\boldsymbol{\theta})+\epsilon $$
在哪裡 $ f(x|\boldsymbol{\theta})\sim \mathcal{GP}(\mu(x|\boldsymbol{\theta}),k(x,x'|\boldsymbol{\theta})) $ ,即潛在變量或函數值作為高斯過程分佈,有條件地取決於超參數 $ \boldsymbol{\theta} $ , 和 $ \epsilon\sim\mathcal{N}(0,\sigma^2) $ 是通常的 iid 高斯噪聲。
實際上, $ \sigma^2 $ 也是一個超參數,所以它確實屬於 $ \boldsymbol{\theta} $ ,但我想強調 GPR 通常假設噪聲的協方差結構是微不足道的。
的後驗預測分佈 $ y_* $ 在一個新的點 $ x_* $ , 以數據為條件 $ {(x_1,y_1,)\dots,(x_d,y_d)}=(\mathbf{x},\mathbf{y}) $ 和超參數 $ \boldsymbol{\theta} $ , 是 $ p(y_*|\boldsymbol{\theta},\mathbf{y}) $ . 現在,假設高斯過程的均值函數為零:一般情況也可以處理,但讓我們盡量保持簡單。然後,使用通常的 GPR 機器,我們得到
$$ p(f_|\boldsymbol{\theta},\mathbf{y}) = \mathcal{N}(\mathbf{k}_^T(K+\sigma^2I)^{-1}\mathbf{y},k(x_,x_)-\mathbf{k}*^T(K+\sigma^2I)^{-1}\mathbf{k}*) $$
在哪裡
$$ K=\pmatrix{k(x_{1},x_{1};\boldsymbol{\theta})& & k(x_{1},x_{d};\boldsymbol{\theta}) \ & \ddots & \k(x_{1},x_{d};\boldsymbol{\theta})& & k(x_{d},x_{d};\boldsymbol{\theta}) } $$
$$ \mathbf{k}*=\pmatrix{k(x,x_{1};\boldsymbol{\theta}) \ \vdots \k(x_,x_{d};\boldsymbol{\theta})} $$
即,以觀察到的數據和超參數為條件,潛在變量在新點的分佈仍然是高斯分佈,均值和標準差如上所示。
但是,我們對新觀測值的分佈感興趣 $ y_* $ ,而不是一個新的潛變量。這很容易,因為在我們的模型中,噪聲是加性的,獨立於所有其他變量,並且正態分佈,均值和方差為零 $ \sigma^2 $ ,因此我們只需要添加噪聲方差:
$$ p(y_|\boldsymbol{\theta},\mathbf{y}) = \mathcal{N}(\mathbf{k}_^T(K+\sigma^2I)^{-1}\mathbf{y},k(x_,x_)-\mathbf{k}*^T(K+\sigma^2I)^{-1}\mathbf{k}*+\sigma^2) $$
請注意,我正在考慮一個新的觀察 $ y_* $ , 所以分佈 $ p(y_*|\boldsymbol{\theta},\mathbf{y}) $ 只是一個單變量高斯,而方差實際上是一個方差而不是方差-協方差矩陣。
要實際使用此表達式,您需要未知的超參數值。有兩種方法可以解決這個問題:
- (最常見的解決方案)超參數通過 MLE 或 MAP 進行估計,並使用上述表達式。這種方法完全忽略了超參數估計的不確定性,因此看起來不是很安全。
- 在完全貝葉斯方法中,您並不真正感興趣 $ p(y_|\boldsymbol{\theta},\mathbf{y}) $ ,但在預測分佈中 $ y_ $ 給定 $ \mathbf{y} $ ,由下式獲得 $ p(y_*|\boldsymbol{\theta},\mathbf{y}) $ 整合超參數後:
$$ p(y_|\mathbf{y})=\int{p(y_,\boldsymbol{\theta}|\mathbf{y})}d\boldsymbol{\theta}=\int{p(y_*|\boldsymbol{\theta},\mathbf{y})p(\boldsymbol{\theta}|\mathbf{y})}d\boldsymbol{\theta} $$
這裡有兩個問題:給定超參數的先驗分佈 $ p(\boldsymbol{\theta}) $ ,則後驗分佈 $ p(\boldsymbol{\theta}|\mathbf{y}) $ ,出現在積分中,未知,但必須使用貝葉斯定理推導出來,這對於大多數超先驗意味著必須運行 MCMC。因此我們沒有明確的表達方式 $ p(\boldsymbol{\theta}|\mathbf{y}) $ ,但僅來自 MCMC 的樣本。即使我們有一個表達 $ p(\boldsymbol{\theta}|\mathbf{y}) $ ,然後積分給出 $ p(y_|\mathbf{y}) $ 在大多數情況下,仍然不可能以封閉的形式進行評估。解決方案是分層貝葉斯模擬:對於每個樣本 $ \hat{\boldsymbol{\theta}}_i $ 從…獲取 $ p(\boldsymbol{\theta}|\mathbf{y}) $ 使用 MCMC,您可以抽取樣本 $ y^i $ 從 $ p(y|\hat{\boldsymbol{\theta}}_i,\mathbf{y}) $ . 使用這些 $ m $ 樣品 $ y^i $ 估計 HPD 間隔 $ y* $ ,你就在那裡。
從直觀的角度來看,第二種解決方案從超參數“不固定”但允許根據其後驗分佈隨機變化的分佈中抽取樣本 $ p(\boldsymbol{\theta}|\mathbf{y}) $ . 因此,在第二種情況下獲得的預測區間考慮了由於我們對超參數缺乏了解而導致的不確定性。