一、基本觀念
Bayesian Additive Regression Trees (BART) 的基本觀念BART 是一種非參數的迴歸模型,它結合了貝氏統計 (Bayesian Statistics) 和加性樹模型 (Additive Tree Models) 的優點。
1.1核心概念:
加性樹模型 (Sum-of-Trees Model): BART 的核心思想是將一個複雜的未知函數f(x)近似為許多(通常是數百個)簡單迴歸樹gj(x)的總和,其一般化的公式如下。
1.2貝氏框架 (Bayesian Framework):
BART 將這個加性模型嵌入到貝氏統計框架中,BART對模型中的所有參數(包括樹的結構和葉節點的值)設定先驗分佈 (Prior Distributions)。利用馬可夫鏈蒙地卡羅 (Markov Chain Monte Carlo, MCMC) 演算法(通常是 Gibbs 抽樣器)來從這些參數的後驗分佈 (Posterior Distribution) 中進行抽樣,而不是直接找到一個「最佳」的模型。
1.3強大且正則化的先驗 (Regularizing Priors):
為了避免過度擬合 (Overfitting) 並確保每個樹都是弱學習器,BART 採用了特殊的正則化先驗:它偏好結構較小、較淺的迴歸樹。它將樹的葉節點值 (Terminal Node Parameters) u趨向於零進行收縮 (Shrinkage)。這些先驗確保了單個樹的預測值很小,因此只有當許多樹相加時才能準確擬合應變量 Y。
總和以上, BART 的優勢包含以下四點:
(1)高準確性:由於是加成方法,且具有強大的正則化作用(亦稱為正規化,將Y標準化為-0.5至0.5或-1至1之間),BART 在預測準確性方面通常表現出色。
(2)捕捉非線性關係和交互作用: 樹結構天生能夠捕捉複雜的非線性關係和高階的變量交互作用。
(3)自動化: 對於許多重要的參數(如樹的數量 u),通常只需選擇一個足夠大的值即可,無需進行大量的超參數調優。
(4)不確定性量化 (Uncertainty Quantification): 作為一種貝氏方法,BART 自然地提供完整的後驗分佈,從而可以輕鬆計算預測的不確定性區間 (Credible Intervals),例如95%信賴區間。
二、BART數學操作流程
2.1 數學方程式
BART 模型的基礎是迴歸方程式,其模型可以寫成以下形式。Y是方程式中的依變數(DV),f(X)是自變數組合,epslon是誤差項,BART則是多棵樹的總和。
2.2 參數計算抽樣過程(MCMC/Gibbs 抽樣)
三、BART流程說明
以下我們先將簡易概念流程進行說明,接著再進行一個實際範例上的介紹。
3.1 模型設定
假設我們想預測一個地區的房價Y,並有以下自變量Xi,
X1:房屋面積 (平方英尺)
X2:臥室數量
X3:街區的平均收入(衡量地理位置)
我們接著設定OLS(傳統迴歸模型),並理解BART的設定方式。
3.2運作說明:
3.2.1弱學習器的建立:
每棵樹gj都被強烈正則化,使其非常小且簡單,只能捕捉到房價的一個微小面向。Tree 1 可能捕捉到一個簡單的規則:「如果 X1(面積)< 1500 且X2(臥室)< 3,則房價平均會比基線低 5 萬元。」Tree 2 可能捕捉到一個交互作用:「如果X3(收入)> 10 萬,則X1每增加 100 呎會額外增加0.5萬元。」… 以此類推,直到 Tree 200。
3.2.2 MCMC學習:
模型從一個殘差很大的初始狀態開始。
在每次 MCMC 迭代中,演算法會隨機選擇一棵樹,並試圖以最小化剩餘殘差的方式調整其結構和葉節點值。由於有正則化先驗,調整後的樹總是傾向於小的貢獻,避免單一樹主導預測。
3.2.3 預測及信賴區間
四、實際案例
4.1 房價數據
假設我們只有一個自變量X (房屋面積,單位:百平方呎) 和一個依變量Y (房價,單位:萬元),作為本次簡易操作的資料。
4.2 模型設定與先驗(prior)設定
此處採用2棵樹,主要是為了簡潔的範例說明。誤差平方(變異數)是為了計算信賴區間使用,u的部分標準差的部分有做了正則化[30/sqrt(m)],此處的30僅是本範例隨機設的參數,一般程式中可能會採用Y的全距或是標準化的Y的資料區間(例如-0.5~0.5)。
4.3 抽樣及分析過程 (MCMC 疊代)
我們將進行 1 次 Burn-in (預燒期) 和 2 次抽樣疊代,共 3次疊代。
由於起始時節點參數為0,因此R1殘差(用於估計第一棵樹g1)會等同於原始的Y。
4.3.1 初次疊代 (更新g1、g2、variance)
我們為了降低殘差,接著進行g1決策樹結構的改變,此處的u1,L(36)跟u1,R(64)是MCMC從常態u~N(0, σu2)且後驗分布的樣本中[例如u1,L(36)是採用平均為37.5=(30+45)/2,變異數為120],隨機抽樣後的數據,具有接近平均殘差但不完全一樣的概念。
計算出g1後,我們接著更新g2,首先估計R2殘差。
決定g2的決策樹跟g2參數。
接著我們進行Variance的更新,便完成了第一次疊代。
4.3.2 二次疊代
計算二次的R1殘差,會用到一次疊代的g2預測值,接著去計算二次疊代的g1(2)。
由於我們這次設定的是簡單樹,因此結構不會改變(分析資料量不夠多)。此處二次疊代的g1(2)是根據平均值為36.5且σ2(1)=120的MCMC後驗分配中抽取的。
第三次疊代
這個部分我們省略上述步驟,僅求出最終的結果
4.4 結果分析
我們可以從信賴區間來理解最終評估的結果,用以理解迴歸樹得到的平均範圍。
若您有相關需求再請與我們聯繫,也請給我們一個google好評,謝謝~




















