基礎:演算法、近似與誤差

模型誤差

模型誤差是現實與你選來描述它的數學模型之間的落差——這是在任何計算開始之前就犯下的誤差,僅僅因為你寫下了簡化世界的方程。地圖不是疆域:每個模型都遺漏了某些東西,而模型誤差正是這簡化的代價。

它透過刻意的理想化悄悄潛入:假設空氣沒有摩擦、把行星當作質點、忽略溫度相依性、丟掉一個「很小」的項、用直線取代彎曲的真實關係、或把無窮的物理交互作用在某個截止處切斷。這些都不是算術錯誤——方程可能被完美地解出——但答案仍與真實系統的行為不同,因為方程本身就是現實的近似。例如,預測一個無空氣阻力的拋體會得到漂亮的拋物線,但真球落得更近;那段差距是模型誤差,不是數值誤差。

模型誤差重要,是因為它為精度設下一個任何數值精度都無法突破的天花板。若模型本身只準到兩位數,把這粗糙模型的解算到十六位數毫無意義——你只是在打磨一個錯誤答案。這正是為什麼確認(模型是否符合現實,靠實驗檢驗)與驗證(程式是否正確地解出方程)是不同的事,也是為什麼誠實的做法會把模型誤差與管線後段的截斷誤差、捨入誤差一併追蹤。

對高壓下的真實氣體使用理想氣體定律 P V = n R T:即使你把它精確解到機器精度,仍會錯估壓力,因為真實分子有體積且彼此吸引——這差異是模型誤差,只能靠更好的模型(如凡得瓦方程)修正,而非靠更多位數。

烙進方程本身的誤差,在任何一次計算執行之前就已存在。

模型誤差靠確認(對照真實世界)檢查,而非靠驗證(對照方程)。把粗糙的模型算到高精度是浪費——讓你的數值精度與模型的保真度相稱。

又稱
model errormodelling error建模誤差