蒙地卡羅法與隨機化方法

控制變數(control variate)

想像你要量一位船長的體重,做法是把他和他的狗一起秤,而你已經知道狗的確切體重。合秤的讀數有雜訊,但減去狗「已知」的體重,就移除了一大塊變動,留下對船長更銳利的估計。控制變數對蒙地卡羅估計做的是同一件事:它借用一個你剛好知道其真平均的相關量,並用你在「那個已知量」上犯的誤差,來校正你對未知量的估計。

機制如下。你想用平均樣本得到 E[f],即 f 的平均。挑一個與 f 相關、且你知道其確切平均 E[g] 的第二個量 g。對每個樣本,構造調整後的估計量 f(x_i) - c * (g(x_i) - E[g]),再取平均。因為 g - E[g] 平均為零,減去它的任意倍數 c 都使估計量「無偏」——其平均仍是 E[f]。但它改變變異數:把 c 選好,就抵消 f 波動中可被 g 預測的部分。最佳係數為 c* = Cov(f, g) / Var(g),用它變異數會下降一個因子 (1 - rho^2),其中 rho 是 f 與 g 的相關係數。所以一個與 f 有 90% 相關(rho = 0.9)的控制變數能移除約 81% 的變異數——形同無償把樣本數變五倍。

控制變數是計算金融的最愛(用一個有已知閉式價格的相似選擇權當控制,來為難算的選擇權定價),也用於任何旁邊就有一個簡化、可解析求解版本的模擬。誠實的幾點:你必須真的「精確知道」E[g](用近似值會重新引入偏差),效益只與相關 rho 同等大小,而且實務上 c* 是從同一批樣本估出的,這會引入小偏差,除非謹慎處理(例如把資料切分)。與 f 不相關的控制 g 毫無作用;強相關的則是黃金。

估計 U 在 [0,1] 上均勻時的 E[e^U](真值 e - 1 = 1.7183)。用 g = U 當控制,因為 E[U] = 0.5 精確已知,而 e^U 與 U 強相關。調整後的估計量 e^(U_i) - c*(U_i - 0.5) 配上最佳 c,移除了大部分變異數,在相同 N 下得到緊得多的估計。

減去一個平均已知的相關量以抵消雜訊——無償且無偏。

整個方法繫於「精確」知道 E[g];用近似平均會把變異數縮減變成偏差。變異數只下降 1 - rho^2,所以弱相關的控制幾乎沒幫助,而從同一批資料估係數 c 會加入小偏差,除非你把樣本切分。

又称
control variableCV method控制變量對照變數