假設檢驗是統計學里的重要方法,同時也是一種“在理想與現實之間觀察求索”的測試活動。假設檢驗從概率的角度去考察理想與現實之間的關系,籍此來緩解測試可信性問題。
我們先來看一個例子。民航旅客服務系統,簡稱PSS系統,有一種業務叫換飛機,如果一個航班,原定執飛的飛機出了故障,就需要換飛機。但是可能換不到原來機型的飛機,比如原來是一個空客320,只能換到一個波音737,這就比較麻煩了,系統需要做很多事,要更換航班布局、所有旅客要重新安排座位,等等。用的時間會比較長。
假設PSS系統的一個期望是“換飛機的平均處理時長不超過160秒”。這是一個關于系統性能的期望。測試的時候,我們把換飛機的用例重復執行了6次,發現每次執行的系統處理時長都不一樣,平均值是170秒。
那么我們的測試結論應該是什么?能斷定系統性能不符合預期嗎?顯然不能,因為測試結果是一個隨機變量,我們只測了6次,如果再多測幾次,平均值可能就低于160秒了。
切比雪夫大數定律告訴我們,如果測試的次數足夠多,處理時長的算數平均值就會趨近于數學期望,也就是真正的“平均處理時長”。但是我們的資源是有限的,只夠我們做6次測試,所以結果一定有偏差,這就是抽樣誤差。而且,測試的次數越少,測試結果的方差越大,抽樣誤差也就越大。如果直接拿這樣的結果去下測試結論,一定是有偏頗的。這就是測試的五個基本問題之一——測試可信性問題的典型表現。
怎么辦呢?還是要依靠統計的思想。如果我們能知道,“6次測試的均值是170秒”,這樣一個結果發生的概率是多少,我們就能更準確地判斷,系統性能是不是符合預期,或者說,有多大可能符合預期,測試結論就能更靠譜一些。
那么,怎么才能知道170秒這個結果發生的概率是多少呢?這就是抽樣分布問題。抽樣分布研究的是:從總體中抽取的樣本,應該具有什么樣的統計特征,跟總體的統計特征有什么關系。這是統計學里的一個重要課題。
比方說,桶里面有4個球,重量分別是2/3/3/4公斤。總體的數學期望是3,方差是0.5,標準差是0.707。我們用放回抽樣的方式,從桶里抽2個球當樣本,也就是先抽一個,看看是多重的,放回桶里,再抽下一個。可能的抽樣結果一共有這樣16種:
每種結果出現的可能性是相同的,都是1/16。這樣我們就可以算出每種抽樣結果的樣本均值,以及所有16種樣本均值的數學期望和方差。可以看到,樣本均值的數學期望和總體的數學期望一樣,都是3;樣本均值的方差是0.25,也就是總體方差除以樣本量2。
如果增加樣本量,比如抽4個球,我們會發現結論是相同的,樣本均值的數學期望還是跟總體數學期望一樣;樣本均值的方差還是等于“總體方差除以樣本量”——看起來是有規律的。
接下來我們看樣本均值的概率分布。來算一下各種不同的樣本均值出現的概率,比如16種抽樣結果里,樣本均值是2.0的情況只出現了一次,所以2.0的概率是1/16;2.5出現了4次,所以2.5的概率是1/4。算出各個樣本均值的概率之后,就可以畫出樣本均值的概率分布曲線了:
看得出來,已經有點像正態分布了。如果樣本量是4,樣本均值的概率分布曲線是下面這個樣子,就更加接近正態分布:
從這個例子,我們可以引出抽樣分布的一組基本規律:
-
樣本量越大,樣本均值越趨近于服從正態分布。
-
樣本均值的數學期望與總體的數學期望相同。
-
樣本均值的方差等于總體方差除以樣本量。
到這里,我們就完成了假設檢驗的理論儲備。那假設檢驗具體是怎么做的呢?我們還是用換飛機的例子來說明。
① 首先第一步是建立假設。我們先假設換飛機的平均處理時長是符合預期的,最多就是160秒。也就是說,總體均值是160。這個假設叫零假設。如果零假設成立,為什么實際測試結果均值會是170秒呢?因為這個170秒是“樣本均值”,跟“總體均值”之間有抽樣誤差。但是根據抽樣分布規律,樣本均值服從正態分布,有99.7%的概率會落在160附近6倍標準差的范圍內,所以這個誤差一般不會特別大,如果特別大就說明零假設有問題;
② 那怎么才算特別大呢?我們需要設定一個閾值,也叫顯著水平,意思是“理想和現實的差異是不是足夠顯著”,一般取一個比較小的值,比如0.05。如果一個抽樣誤差出現的概率比這個顯著水平還要低,那這個抽樣誤差就算“特別大”了,我們就可以認為,出現這種程度的誤差是一個小概率事件,在一次測試里面是不可能發生的。這就是小概率事件的實際不可能原理;
③ 第三步,在零假設的基礎上,計算測試結果的發生概率。我們做了6次性能測試,相當于抽取了6個樣本,樣本均值是170秒。按照抽樣分布規律,樣本均值近似服從正態分布,這個正態分布的數學期望跟總體一樣是160。另外假定總體方差已知,是144,那么樣本均值的方差就是144/6=24。因此,樣本均值的概率分布應該是:
在這樣一個概率分布上,實際結果是170,也就是說,比均值160高出了10以上。這個結果的概率算下來是:
④ 最后,把這個概率跟顯著水平0.05作比較,發現比顯著水平要小,說明測試結果是一個小概率事件,但是的的確確發生了。也就是說,從零假設出發推出了矛盾,當然這個矛盾是統計意義上的矛盾。這時候,我們就可以否定零假設,所以最終的測試結論是,在顯著水平0.05的意義上,換飛機的平均處理時長不符合預期,超過了160秒。
把假設檢驗的過程總結成一句話,就是:首先假設理想和現實相符,然后根據抽樣分布規律,計算測試結果出現的概率,如果概率比顯著水平低,就否定零假設,如果概率比顯著水平高,就接受零假設。