算術平均數(上)

統計學工具,可以協助我們把多餘的資訊刪減,令人們可以更清楚方便地看到他們需要的資訊。以大家一定懂得的「算術平均數」(Arithmetic Mean)為例,如果你編寫了一個改圖程式,為了測試它的速度。你在不同的環境,不同的時間,重複運行某功能1000次,然後把所需時間記下來。這個時候,如果有人問及你一些有關你的程式的運行速度的資料,你可以把你的測試告訴他。在報告測試結果的時候,你可以選擇說︰

1. 第1次︰38秒,第2次︰36秒,第3次︰37秒,第4次︰38秒….(把所有記下來的時間讀出來)………..

2. 平均運行時間是37秒。

這兩個答案沒有誰對誰錯,要回答哪一個就取決於對方想要什麼?想要仔細的資訊?還是想要一個簡潔,但又具代表性的數字?但可以肯定的是,2.的資訊比1. 的要少。因為如果我得到1. 中的資訊,我可以把2.所提及的平均數計出來,但我只知道2.的話,卻不可以把1.的資料計出來。換句話說,為了換取簡潔,我們使用「平均數」這個工具,把一些我們認為是多餘的資訊刪去了。

讀者可能會說,這只是小朋友都懂的算術題,有必要說得這樣複雜嗎?如果這些說話只是在一般朋友間的對話中,可能問題不大,反正大家在很多時候都只是想看個大概,細節上有什麼誤解也無傷大雅。但當這些平均數被廣泛用在廣告、公共資訊(如天氣預告)和資訊紀綠(如成績單)中,我們就得費點工夫去了解,這些平均數是在說些什麼了,或者他們刪除了什麼了。

回到上述的故事,誠實的你把「平均運行時間是37秒。」和其他資料如測試環境,你測試時所用的圖像之類寫在你的網頁上。不久,你突然發現了另一個網站,某人編寫了另一個同類的程式,在相同的環境下進行測試,還寫著「平均運行時間是26秒。」你的臉色一黑,立刻下載他的程式和圖片來試試看,怎料這個程式慢得很,等了兩分鐘…………你不禁在想,「他的統計數字一定是編造出來的!他是騙子!」

於是你用盡辦法把那人找出來,追問他為什麼要欺騙大眾。那人不慌不忙的說︰「那是真的啊。我運行了它三次,用了20秒,第二次42秒,第三次16秒。(20+42+16)/3=26 ,我沒有算錯吧。」

你很氣憤地說︰「你只試了三次,那個統計數字怎可以作準?!」

這就是為什麼很多統計數字都要寫明樣本量(sample size)的原因。因為如果我們只是試很少次,便計出一個統計數字,這個數字可能只是偶然得出來的,不能作準。從另一個角度看,「平均數」是把測試結果中的一些資訊用一個數字表達出來,樣本量較多,得出來的平均數也更具代表性。

除了樣本量之外,測試結果的方差(Variance)也很重要,比較以下兩個情況
1. 試了100次,結果全都是35秒,36秒或37杪,平均36秒
2. 試了100次,結果從10秒到60秒都有,平均36秒
不管是1. 還是2.,平均數都是36秒。但兩個情況所表達的事情卻不大相同,從1. 的資料中,我們有理由相信如果我們真的把那個程序運行一次,用36 秒便可以完成,但2. 則告訴我們,平均來說是36秒,但真正運行一次的話,得到和36秒差很遠的時間的機會仍是頗大的。

很多有關電腦的測試都附有類似測試環境之類的資料,好像是「測試平台︰Windows XP,Mac OS X,測試次數2000 次」之類。但在2000 次的測試中,到底有多少次是用Windows XP ,有多少次是用Mac OS X 呢?還有如果某程式在Windows XP 中的測試平均需要30 秒完成,但在Mac OS X 中則平均需要10秒,即使2000次的測試中,Windows XP 真的佔了一半,如果讀者看到的只是「平均20 秒」這一個數字,對Windows XP 的用家來說這個數字仍是有一定的誤導性的。

由於每一個統計學工具都不是完美的,很多時候為求簡潔,我們總要犧牲一些資訊。所以我們要做的不是動不動就說人家用的工具不夠好,資料不夠齊全,而是要弄清各種工具的含意,知道它們的限制,並正確地閱讀它們。

修改︰加上專有名詞的英文名。

喜歡這篇文章嗎? 分享出去給作者一點鼓勵吧!