尋找“最好”(7)——誤差與近似


  2006年2月23日晚,在都靈冬奧會自由式滑雪男子空中技巧決賽中,中國選手韓曉鵬以250.77分力挫群雄,以完美的兩個動作獲得了該項目的金牌,這也是中國在冬奧會上的第一枚自由式滑雪項目金牌。

  自由式滑雪空中技巧的分數分為三部分,其中起跳2分,空中動作5分,落地3分,共有5名裁判依次按照這三部分打分。下圖是某個運動員在完成一個動作后的分數表:

  計算裁判分數時,需要將起跳、空中動作、落地三部分中的最高分和最低分去掉(也就是我們經常在比賽中聽到的“去掉一個最高分,去掉一個最低分”),剩下的分數相加再乘以該動作的難度系數(Degree of Difficulty,DD)后得到這名運動員本次空中技巧的總分。

為什么需要5位裁判?為什么要去掉最高分和最低分?這需要用一個長長的故事來回答,故事的開頭就從誤差說起。

誤差

  誤差一詞源於測量,是一個量的觀測值或計算值與其真實值之間的差異。我們在初中物理中就學過,誤差不是錯誤,誤差處處存在。確實如此,比如用直尺測量一本書的厚度,可能得到這樣的結果:

  最終結果在1cm和1.1cm之間,究竟是多少?說不清楚,可能恰巧是1.3,也可能是一個無限不循環小數。似乎是刻度不夠精確導致了誤差,這沒錯,但工具的精確度只是引起誤差的眾多原因之一,誤差的成因還有很多種。

誤差的成因

  在測量書的厚度時,工具的精確性造成了誤差,除此之外,還有人的因素,你是用什么方法讓書的邊緣對准零刻度的?不同的人觀測也會得到不同的結果,即使同一個人,從不同的角度也可能得到不同的數值。環境因素也會產生誤差。同一個物體,在濕度不同的情況下質量會有所差別,也會由於溫度的不同而產生熱證冷縮,從而導致體積的差異。還有很多時候,誤差是人們故意為之,比如常用的“保留小數點后兩位數字”。

誤差限

  誤差無處不在且不可避免,但並非不可接受,只要我們將誤差控制在合理的范圍內即可。怎樣才算合理呢?這個要視具體問題而定,比如測量漁政船的長度,少了1米都不可原諒,但是對於測量北京到上海的距離,少個1公里也沒那么嚴重。怎樣定義誤差限完全取決於自己,只要你覺得范圍合理就好。

  盡管誤差可以接受,但對喜歡追求精確的人們來說仍是個大敵。對於這個消滅不了的敵人,我們的應對策略是盡可能減小誤差。

減小誤差的方法

  如果用ε表示誤差,X表示測量值,L表示真實值,那么誤差可以這樣定義:

  很明顯,ε有正有負,ε也被稱為絕對誤差。

  注:除了絕對誤差外,還有相對誤差、引用誤差、標稱誤差、基值誤差等,這里只討論絕對誤差。

  我們不討論如何通過提升儀器精確性和測量方法去減小誤差,只討論數學方案。來看自由式滑雪空中技巧的比賽,對於打分的項目,僅用1個裁判肯定是不靠譜的,再公正的裁判也會不自覺的對自己國家的選手有所偏向,也可能會帶有一些個人喜好,所以需要由多個來自不同國家的裁判一起打分。如果運動員的真實分數是L,裁判們的測量值是Xn,那么五個裁判將得到五個誤差:

  取絕對值是為了讓所有誤差都是正數,便於接下來的說明。由於誤差有正有負,從統計來看,正負各半,所以5個裁判的總誤差是:

 

  假設所有裁判的誤差限都是μ,那么:

 

  取平均值,每個裁判的誤差限變成:

 

  這可比原來的誤差限μ小多了。誤差限縮小了,誤差的波動范圍自然也就縮小了,看來增加高水平的裁判人數可以有效減小誤差。然而空中技巧的分數表中還去掉了最高分和最低分,按照之前邏輯,裁判的誤差限是2|μ|/3,這個結果大於3|μ|/5,為什么要這么做呢?為了弄清楚原因,我們來看另一個例子。

  經常有人嘲諷用平均值計算人均GDP的方式:“張家有財一千萬,九個鄰居窮光蛋,平均一算,家家都是百萬”,張千萬遠遠富過鄰居們,由於他抬高了平均值,本應該掛上重點扶貧標簽的村子變成了反而先進典型。回到自由滑雪,如果把打分最高的裁判看成張千萬,就不難理解去掉最高分和最低分的意義。類似的“去掉最高分和最低分”的例子還有很多,比如我們計算國內50寸液晶電視的均價,你不能在把雙十一打折時候的價格算進去。

近似

  在誤差限內的誤差是可以接受的,比如北京到上海的航空距離是1213公里,直接省略了小數點后面的數字;國際田聯規定,100米的跑道,誤差需要控制在+1厘米之內,有很高的精確度……這些類數字都指向一個與誤差相關的詞——近似。

  近似並非依靠經驗的估算,計算近似值有一套完整的數學方法,下面就來看看這些神奇的方法。

線性近似

  線性近似也叫線性逼近,是最常用的計算近似值的方法,它大概是這么說的,如果小汽車的行駛距離f(t)是關於時間t的函數,假設我們知道小汽車在t0時刻的行駛距離f(t0),那么可以通過t0近似地計算出小汽車在接近t0的時刻t的行駛距離f(t):

  線性近似的計算公式來源於導數,把上面的t換成x,根據導數的定義:

 

  左右兩邊同時乘以x-x0,並去掉極限符號:

 

   當x≈x0=0時:

 

  這就是線性近似的公式了,由於計算的是x0附近的近似值,所以x0被稱為基點,在討論近似時,只有指定基點才有意義,也就是指明是在誰附近的近似。線性近似的幾何意義是,f(x)在x0的切線近似於原函數的曲線:

 

  血緣越近,長得越像,在x0點附近,曲線近似於直線,x越接近x0,二者的近似度越高。這很容易理解,x越遠離x0,曲線和直線的差距越大;同時,當基點不同時,切線的斜率也不同,所以近似值也不同。下圖是(1+x)2在x0 = 0處的近似:

  下表是一些常用函數及它們的線性近似:

  下面通過一個實際例子看看如何使用線性近似。

  示例  ln(1.1) ≈ ?

  這需要計算器了,現在只需要尋找近似值就可以。

  設f(x) = ln(1 + x),當x = 0.1時,ln(1.1) = ln(1 + x)。當x0 = 0,我們認為x = 0.1接近x0,根據表9.7中的線性近似:

 

  最終求得ln(1.1) ≈ 0.1,通過計算器可算得ln(1.1) ≈ 0.095310179804325,非常接近0.1。至於0.1是否接近於0是個及其主觀的判斷,要視具體問題而定。某些時候,0.1可能距離0很遠,比如在地圖上;另一些時候,10也可能距離0很近,比如度量北京到上海的距離。

二階近似

  二階近似在線性近似的基礎上更進一步,把二階導數也考慮進去,它比一階近似更為精確,當x≈x0時:

xx0=0時:

 

   二階近似的幾何意義是最接近原函數的拋物線。以f(x) = ln(1 + x)為例:

  

  根據公式,在x=x0 = 0處:

  可以用二階近似計算上一節的例子,設x = 0.1,看看 ln(1.1)在二階近似下的值:

 

  這個結果比一階近似的值0.1更接近0.095310179804325。

  二級近似的幾何意義是最接近曲線的拋物線,如果原曲線本身就是拋物線,則二階近似就是原曲線本身,例如原函是f(x) = a + bx + cx2

 

  在x = x0 = 0處:

  這恰好等於原函數,當然,僅當f(x) = a + bx + cx2時才能如此精確。

  下表是一些常用函數及它們的二階近似:

泰勒公式

  泰勒公式是另一種計算近似值的方法,它是一個用函數某點的信息描述在該點附近取值的公式。如果函數足夠平滑的話,在已知函數在某一點的各階導數值的情況之下,泰勒公式可以用這些導數值做系數構建一個多項式來逼近函數在這一點的鄰域中的值,如果你願意,這個多項式可以沒完沒了。

  相比線性近似和二階近似,泰勒公式要復雜得多,應用也更加廣泛。

泰勒級數

  如果f(x)在點x = x0具有任意階導數,那么泰勒公式是這樣的:

 

  上式中的冪級數稱為f(x)在x0點的泰勒級數。當x0 = 0時,f(x)的泰勒級數是對f進行n次求導之后在零點的值,除以n的階乘再乘以xn

  泰勒級數是一種特殊的冪級數,冪級數是這樣定義的:

 

  實際上,在泰勒級數我們重新定義了an

 

  來看看an是怎么得到的。

  先設置一個無窮級數f(x):

 

  再對f(x)反復求導:

  以三階導數為例:

  推廣到n階導數:

  泰勒公式成立的條件是x處於收斂半徑R的內部,即|x| < R。收斂半徑是x的一段連續的取值范圍,在收斂半徑內,冪級數是收斂的;在收斂半徑外,冪級數是發散的;如果|x| = R,冪級數的收斂性不確定。所謂在冪級數中收斂半徑中收斂,就是當x < |R|時,必然有|anxn|→0,其判斷條件是:

 

  將收斂半徑看成一個圓,x的取值點如果在圓內,則冪級數是收斂的,在圓外則是無意義的。當然,圓可以無窮大。

泰勒公式的應用

  來看一個泰勒公式的應用。假設一個小偷偷了一輛汽車,他在高速公路上沿着一個方向行駛,車輛的位移S是關於時間t的函數。警方接到報案后馬上調取監控,得知在零點(t = 0時刻)小偷距車輛丟失地點的位移是S0,現在的時間是0:30,警方想要做前方設卡,在凌晨1點攔住小偷,應該在哪里設卡呢?

  我們知道在時刻位移是S0,現在想要知道凌晨1點時車輛的位置:

 

  可以直接使用泰勒公式:

  泰勒公式可以無限展開,展開的越多,越逼近真實值,並且越到后面的項,對結果的影響越小,所以通常只展開到二階導數。

泰勒展開

  如果一個函數有連續導數,那么這個函數就可以使用泰勒公式展開。

  f(x) = ex是一個可以用泰勒公式展開的例子,下面是ex在x = 0處的泰勒展開:

  當x = 1時,還附帶得到了e的解釋:

 

展開的意義——化質為量

  我們使用一個很難處理的積分解釋泰勒展開的意義,對正態分布進行積分:

 

  常規的方法很難處理。現在,由於被積函數與ex相似,我們又已經知道ex的展開式,所以可以進行下面的變換:

 

  左右兩側同時積分:

 

  很容易計算右側的積分。

  這個例子展示了冪級數展開的意義——把質的困難轉化成量的復雜。展開前求解函數的值很困難,展開后是冪級數,雖然有很多很多項,但是每一項都是冪函數,都很容易求解,於是,只要對展開后的函數求和,就能得到展開前的函數的值。

 

 


   作者:我是8位的

  出處:http://www.cnblogs.com/bigmonkey

  本文以學習、研究和分享為主,如需轉載,請聯系本人,標明作者和出處,非商業用途! 

  掃描二維碼關注公眾號“我是8位的”

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM