基礎:演算法、近似與誤差
先驗與後驗誤差估計
/ ah-pree-OR-ee vs ah-pos-tair-ee-OR-ee /
這是說明數值誤差有多大的兩種互補方式。先驗誤差估計是事前、僅憑理論推出的,在執行計算之前(或不執行計算):它用已知量如步長 h、問題的光滑性、或條件數來界定誤差——例如「梯形法則的誤差至多為 (b-a) h^2 max|f''| / 12」。後驗誤差估計是事後、從實際算出的解及其殘差算出的,告訴你這個特定答案最後有多好。
權衡在於理論對上實用。先驗界令人安心並揭示方法的階(它顯示誤差是 O(h^2),故你知道把 h 減半有四倍幫助),但它常很寬鬆,且可能需要你沒有的量,如 max|f''| 或真解。後驗估計很銳利,並使用真實、可得的資料:算出之解的殘差 r = b - A x~、或兩個網格上解的差、或對局部誤差的細網格估計。它是自適應方法的基礎——自適應求積、自適應步長、自適應網格加密——演算法邊走邊量自己的誤差,只在後驗估計大的地方加密。
兩者都重要,好的做法是並用。先驗分析選擇方法並解釋它為何該收斂;後驗估計認證你實際得到的答案,並引導該在何處多花力氣。一個值得記住的告誡:後驗殘差很小,本身並不保證向前誤差很小——在病態問題上,微小的殘差可能藏著解中很大的誤差,因為殘差與誤差透過條件數相連。
自適應求積把一個區段上的積分估計與更細的估計相比;其差距是一個後驗誤差估計。在它超過容忍度之處,該區段被細分——誤差由實際計算量得,而非事前預測。
先驗 = 事前由理論界定;後驗 = 事後由算出的結果及其殘差量得。
後驗殘差小不保證向前誤差小。在病態問題上,殘差可能極小而解的誤差很大,因為兩者透過條件數相連。
又稱
另見