2010年3月17日星期三

Held nomogram as a high school maths project

數學是不少科學的語言,所以其學習至關重要,可是對中學生來說,科學上實際應用到的數學若非太深,就是太零碎,因此中學老師往往很難令學生有學習的動機,而學生對數學亦往往有「不知學來幹甚麼」或「數學=計算=背公式」的刻版印象。

美國的中學數學課程,不時會引入一些專題習作,讓學生可以瞭解數學在現實中的應用。然而要尋找一個夠 realistic 但又不過份艱難的習作題目,極為困難。

今日在電鋸那邊,看到一種叫 nomogram 的東西,我覺得可以拿來當示範題目。話說有某條基於 Bayesian statistics 的公式,給出 q=prior probability, p=p-value 及 Q=minimum posterior probability 之間的關係:
Q=1/(1 + (1-q)/(BF×q)),
其中 BF 是 p 的一個函數,其實際公式視乎所假設的統計分佈而定。例如在某個較一般的情形下,有
BF = -e×p×log(p)(這裏 e = exp(1))
這條公式並不複雜,理論上也很有用,但不知何解,以上公式在科學研究之中就是不普及,於是有位叫 Leonhard Held 的仁兄設計了一幅圖表,令以上計算變得非常簡單,從而希望該公式會更容易為人接受。他設計的圖表如下。若知道 q, p, Q 三者之中的兩者,只要在圖中連一直線,即可讀出第三者。下面的紅、綠、藍三條直線,就是三個例子:
當我第一眼看見這個圖表的時候,就不禁想,q, p, Q 之間明明有著非線性關係,怎麼用直線就可以連起三者?當然,只要細心想一想,要得到答案並不困難。實際上也只不過是一些 change of variables 而已。有興趣的讀者不妨先想一下,才看下面的答案。我覺得「如何將上述公式化為 Held nomogram」,是一個很好的專題研習。製圖其實是數學史中重要的一環,所以題目本身有其重要性;這裏涉及的統計學背景又只到中七程度,不算太難解釋;將公式化為圖表所用的數學,更是中三、四程度的普通算術,一般中學生於老師指導之下,應該應付得來。

答案:
從 Q=1/(1 + (1-q)/(BF×q)),不難推導出 Q/(1-Q) = BF×q/(1-q)。因此,若設
x = -log[q/(1-q)],
y = (1/2)×log(BF),
z = log[Q/(1-Q)],
那就有
y=(x+z)/2
也就是說,若 Held nomogram 中三條同等間距的縱軸由左至右為 x, y, z,那麼 x, y, z 將呈直線關係。所以,只要將各縱軸上的標記換算回本來的 q, p 及 Q,即可得出 Held nomogram。舉例說,若真的使用上圖中的數值:
q = 0.01 × (99.5, 99, 98, 95, 90, 80, 70, 60, 50, 40, 30, 20, 10, 5, 2, 1, 0.5);
p = (10-6, 10-5, 10-4, 10-3, 10-2, 0.05, 1/e);
Q = 0.01 × (0.001, 0.002, 0.005, 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 15, 20, 30, 40, 50);
那麼 x, y, z 的範圍就如下圖:
由於 x 的範圍與 z 的範圍差異太大,所以為了美觀,需要托高 z 軸,因此作出修正如下:
z = log[Q/(1-Q)] + z0.
因為 y=(x+z)/2,所以 y 亦要修正為
y = (1/2)×(log(BF) + z0).
z0 是多少,要視乎你想將 z 軸托高幾多,例如最自然的修正,就是將 x 與 z 的數值範圍的中央對齊:
z0 = min{x} - min{z} + [ (max{x} - min{x}) - (max{z} - min{z}) ]/2.
這樣就有與 Held 的圖表差不多的效果:

沒有留言:

發佈留言