王先龍,林 昊,丁 輝,黃 健
(電子科技大學 生命科學與技術學院,四川 成都 610054)
統計是數據的科學,在生物、醫學等生命科學領域有著基礎性重要地位[1]。生物醫學統計(或稱生物統計)這門課程是生物技術專業、生物醫學工程、公共衛生等學科的核心專業課程[2]。進入21世紀以來,生命科學發展到后基因組和大數據時代,統計學方法發揮著關鍵作用[3]。因此,學好統計學對于相關專業學生面對來自大數據時代的挑戰至關重要。
從教學實踐來看,生物醫學統計對于生物技術等相關專業的學生難度較大。這在很大程度上是由這門課程的特點所決定的:一方面,生物醫學統計是建立在概率論和統計學基礎上的,對數學基礎要求較高;另一方面,它又是一門應用性實踐性很強的課程,在應用中要使用諸如SPSS(statistical product and service solutions)等大型統計軟件[4],這就要求學生不僅能熟練掌握如何使用統計軟件來解決生命科學中的實際問題,更要了解各種統計檢驗方法背后的理論基礎,包括假設基礎、適用的范圍和統計的意義等[5]。
現有的教學方式一般分為兩部分:課堂講授和上機實踐。課堂講授集中介紹理論和方法,囿于時間和空間的限制,所舉示例一般較為簡單,可以手動計算;在實踐環節中,介紹統計軟件的使用,學生掌握操作步驟。學生存在普遍的問題是對軟件的操作掌握很快,但對各種統計方法的選擇、假設和應用條件,以及結果的統計學意義掌握不夠深入,往往對結果有錯誤的解讀;在實踐中,面對實際問題中大量、復雜的數據無從下手。產生這樣問題的緣由可能在于一方面課堂教學過于強調理論公式和數學計算,而對概念的理解與統計方法強調不足;另一方面軟件是個“黑盒子”,雖然應用很簡單,但是其過程是不透明的,對結果數據本身不提供直接的結論。而且,SPSS等大型統計軟件是針對專業人士設計的,包含了統計學豐富、全面的方法,但對初學者易造成困惑,不太適用于學習。
針對上述問題,要提高教學質量,需要教師在課堂上教給學生如何做統計,要通過大量實際數據來說明概念和講解方法,弱化公式和推導過程,把抽象的數學概念形象化、可視化。而Mathematica[6]這個軟件的諸多特性可以幫助我們在課堂上處理大量數據,展示統計檢驗過程,以動態的交互式演示案例來改善教學效果[7]。下面分別從如何使用Mathematica制作一般性的課件、其獨特優勢和在生物醫學統計教學中的實際案例來介紹我們在教學實踐中的應用經驗。
Mathematica是Wolfram Research公司開發的一套基于λ代數的大型數學軟件,具有強大的符號運算和數值計算功能。除計算功能外,該軟件具有方便的幻燈片和交互式動畫制作功能,非常適合數理背景較強的課程教學。此外,該軟件入門快,代碼模式簡單,只需學習極少量的代碼編程知識,即可制作高質量的互動式教學課件。
在Mathematica中有3種方式可以開啟幻燈片模式:一是在軟件啟動的時候,選擇歡迎屏上的Create New...下的Slide Show;二是在選單(菜單)欄中選擇File > New > Slide Show;第3種方式將在下面提及。在幻燈片模式啟動后,軟件自動生成一個由3張幻燈片組成的模板文檔(見圖1),用戶可在此基礎上修改或刪除已有幻燈片、添加新的幻燈片。3張模板幻燈片分別展示了題頭、多層次文字編排和圖文混編版式。

圖1 Mathematica中幻燈片制作缺省模版
為了更方便地制作幻燈片,Mathematica還提供了一個Slide Show的控制小面板(Palette),可通過選單欄中的“Palettes > Slide Show”來打開(見圖2)。該面板工具分為5組,從上至下分別為:演示控制、創建幻燈片文檔、插入幻燈片、文檔設置和窗口元素設置。演示控制在幻燈片制作和播放兩種模式間切換。創建幻燈片文檔提供了3個工具按鈕,分別是制作新的幻燈片文檔、把當前文檔轉換為幻燈片、制作目錄頁;插入幻燈片欄提供了2個按鈕,分別是插入新模板頁和空白頁; 文檔設置欄提供了修改當前文檔總體選項,如幻燈片頁與頁之間的切換模式、投影的分辨率等;窗口元素設置可選擇是否顯示諸如滾動條、狀態欄等窗口元素。

圖2 幻燈片制作控制面板
對Mathematica使用不太熟悉的用戶可以通過插入新的模板頁,然后修改模板頁上的文字、圖片和圖形等來實現幻燈片的快速制作。對于高級用戶來說,可以使用Mathematica命令、編輯方式來制作幻燈片內容,或是利用從已有的筆記本文檔(notebook)內容來創建幻燈片,畢竟幻燈片只是一種特殊形式的筆記本。Mathematica的筆記本由若干個元胞(cell)組成,每個元胞在最左側由藍色的中括號標記。幻燈片模式的特殊性在于每張幻燈片之前有個分頁符,它在演示時使得文檔按一張一張的先后順序來展示,而普通筆記本只在一頁中展示。
在文檔的空白處,輸入任意內容,Mathematica就為用戶創建一個新元胞,其格式默認為輸入(input)。用戶可通過Format >Style來選取其他格式,如在幻燈片制作中常用的文本格式,也可通過Window > Show Toolbar來開啟工具欄,可以更便捷地修改元胞的格式。比如,可以使用Section、Subsection、Subsubsection等將內容組織得更有層次;再如,在幻燈片制作中常用到無序或有序列表的方式來枚舉內容,這可使用Item及ItemNumbered等格式來實現。
圖片可通過拷貝、插入等方式嵌入到元胞中。而Mathematica強大的繪圖功能使用戶不借助其他工具就可方便地制作各種二維和三維圖形以及動畫。輸出圖形還可以通過雙擊圖形進行的手動編輯。通過代碼方式,用戶還可從本地或互聯網上獲取圖片、聲音、數據等,以及使用Table、Grid等函數來制作表格。為了避免對學生造成注意力的干擾和簡潔性的考慮,我們一般不希望展示輸入代碼,而Mathematica自動隱藏功能很好地實現這一點:雙擊輸出元胞右側的藍色中括號后,相應的輸入代碼就被隱藏起來,藍色的中括號上方變成實心的箭頭,見圖1,這樣,原始代碼既不需要刪除,也不影響展示。此外,如果是想隱藏輸出而展示輸入也很方便,只需要雙擊輸入/輸出這一組外側的藍色的中括號即可。演示模式效果見圖3。

圖3 幻燈片演示模式效果
在生物醫學統計講課中,經常需要輸入各種數學公式,而Basic Math Assistant等面板可幫助用戶快速地輸入各種復雜的數學公式。這些公式不僅在形式上同教科書上的完全一致,而且可用于實際的數學運算或編程中,避免了重復輸入;另一方面,Import函數支持各種化學、生物等學科領域的文件格式,可以直觀地表現分子結構等數據,而無需使用第三方工具。
最新發布的Mathematica 9和以前的版本相比,在啟動Slide Show模式后,提供了8個可選的幻燈片模板。一般情況下,簡潔大方的缺省模板完全能滿足課堂教學的需要。除了系統提供的模板外,用戶還可通過設置文檔的風格表(Format > Stylesheet)來快速改變幻燈片課件的整體風格。高級用戶還可通過修改原有的風格表或是創建全新的風格表來達到個性化的展示目的。
在創建幻燈片時,需進入默認的Slide Show制作模式。在該模式中,所有的幻燈片都在同一頁面中顯示,方便用戶對整體內容的把握。點擊Slide Show控制面板中的Start Presentation按鈕(見圖2),切換到全屏演示模式(見圖3)。在該模式中,占據中間主要區域的是內容顯示部分,與PowerPoint等軟件不同,該區域實際上并不受一屏的限制,而可以是任意的尺寸,超出一屏的部分可通過鼠標方向鍵來控制,在滑動顯示內容的過程中,幻燈片最上面和下面的控制條和狀態欄保持不動。
最上側的工具欄分為3組:中間的4個箭頭是播放按鈕,也可通過翻頁鍵來操作;左側的按鈕下拉框可實現快速跳轉到特定頁;最右側的按鈕實現在全屏和當前大小兩種尺寸間進行切換,方便用戶在不退出演示模式來進行其他工作,如運行其他程序等。全屏切換也可通過功能鍵F12來實現。
下側工具欄左側是狀態欄顯示總的幻燈片頁數和當前頁碼。右側百分比側的箭頭提供放大功能:選擇合適的顯示比例,來顯示過大或過小的文字或圖形,而無需對原有內容做字體大小上的改動。
除了上節提及的在幻燈片制作和演示中的各種優勢外,Mathematica還具有如下4個方面的特點,使其在生物醫學統計課程教學中體現出獨特的優勢。
自6.0版本,Mathematica增加了一組動態演示函數,如Manipulate、Animate、SlideShow等。這一改進,使得用戶可以方便地創建動態內容,進行交互式的動畫演示。這里我們以最為常用的Manipulate函數為例,演示如何創建動態內容(見圖4(a))。該例子演示了在自由度(ν)增大的過程中,Studentt分布的概率密度分布函數趨近于標準正態分布。其中自由度作為Manipulate函數的變量,其范圍設置為0~20,步長為1;Plot函數用來繪制兩種分布的密度函數曲線;為了更明顯地顯示兩者之間的差異,我們將兩條曲線間的區域用顏色標記出來。該段輸入代碼只需運行(evaluate)一次,獲得的動態輸出結果即可反復用于展示。在結果圖形上面有一個滑動條,演示時可以拖動該滑動條,自由度跟隨變動,展示的圖形變化為相應自由度下的結果。除了手動拖動模式外,還存在著自動播放模式,該模式通過點擊滑動條邊的“+”號圖標即可打開(見圖4(b))。在這一模式下,除了6個常見播放按鈕外,還有2個動畫速度調節按鈕。此外,還可直接輸入參數以達到精確控制的目的。為了避免不必要的困擾,我們可以雙擊輸出結果元胞右側藍色中括號來隱藏輸入代碼。

圖4 使用Manipulate函數展示動態內容
這一動態特性是Mathematica在幻燈片演示中最大的優勢,在改善課堂教學演示互動性上有非常大的幫助。在下一節中,我們將通過3個較為復雜的實例來展示其在生物統計教學中的應用。
除了非常豐富的數學函數外,Mathematica還內置了數以千計的概率統計相關函數。可分為四大類:(1)基礎概率函數。如各種概率密度分布函數、隨機數生成和隨機采樣函數。(2)參數和非參數統計檢驗函數。如方差分析、Spearman秩檢驗。(3)數據表現函數。如箱線圖、主干枝葉圖。(4)數據挖掘函數。如聚類分析。其內容覆蓋范圍非常廣,包括了生物統計和數據挖掘中許多最新研究成果。其用法可通過其幫助文檔中心(documentation center)來查詢,或是在筆記本任意處輸入“?”加函數名來快速查詢;另一方面,如果我們想把統計檢驗的運算過程展現給學生看,也可通過一步的賦值運算來實現,或是編寫相應的新統計函數來實現。前者模擬了學生學習過程的手動計算過程,可使學生更直觀地掌握具體的過程,后者效率更高,可提高學生程序設計及抽象概括能力。
Wolfram公司主辦了一個由全世界用戶貢獻的在線示范項目(wolfram demonstrations project)[8]。該項目涵蓋各種學科中不同的主題,提供了豐富的學習資源,每一個示范資源都由至少一個交互式動態演示動畫、問題背景介紹和使用方法,既可以下載用在課堂教學演示中,也可分發給學生,讓其自主探索,用戶完全無需掌握Mathematica的編程基礎即可操作;另一方面,該項目的所有資源的源代碼都可下載,感興趣的教師可以通過這些代碼學習如何制作更多的互動演示課件。
Mathematica制作的課件除了進行投影展示外,還可通過多種形式分發給學生,以便課后學習。比如可以轉化成PDF格式文件,或是打印成文稿在課堂上分發,但最為方便的是Mathematica提供了一種可計算的文檔格式(computable document format,CDF),該類型的文件可由Wolfram公司提供的免費軟件Mathematica Player來播放,學生無需購買Mathematica即可在課下探索教師分發的課件,自主地進行更為詳盡的動態交互學習,而不受時間限制。
本小節通過3組實例來展示Mathematica在進行互動性教學中的優勢。這些案例在Mathematica中可方便地通過Manipulate等函數進行少量的代碼來實現,而在PowerPoint等其他軟件中很難實現。
在統計檢驗中,原始數據經常需要進行變換,如開方或取對數等,獲得對稱的或是近似正態分布的數據,以方便進一步的統計檢驗[9]。在本示例(見圖5)中,采用指數變換(power transformation)來處理隨機產生的數據[10-11],通過箱線圖(box-whisker plot)來展現變換后的數據分布,動態而又直觀地來指導指數λ的選取。樣本容量(n)提供了兩種選擇:50和999。模擬的數據可按照5種分布隨機產生:正態分布、指數分布、對數正態分布、逆高斯分布和Weibull分布。 指數變換如下所示
我們通過箱線圖來考察變換的效果,選取數據近似對稱的、最為簡單的變換。λ范圍設置為-2到2。λ等于-1、0、 0.5、1分別對應倒數、導數、平方根和無變換。

圖5 指數數據變換動態演示效果圖
在箱線圖之上,給出了兩種偏態度(skewness)的統計參數:常見的Pearson偏態度(g3)和Bowley偏態度(B)[12]。
在課堂演示中,我們可以選取特定的分布類型來隨機生成原始數據,然后拖動λ值來查看變換后的數據分布情況。
在教學過程中,我們發現一般來說學生對第1類誤差和置信區間掌握得比較好,但對第2類誤差和檢驗能效(power)掌握較弱。在這個例子中,我們采用動態圖示來講解統計能效(見圖6)。該示例展示了在對稱的雙邊檢驗中,檢驗能效如何與顯著性水平、p值和檢驗統計參數的分布相關聯。

圖6 檢驗能效演示效果圖
在演示的過程中,我們可先將替代假設(Ha)隱藏,先后調整第1類誤差(α)和檢驗統計量的數值,來展示兩者如何影響檢驗結論:是否拋棄空假設(H0)。待學生對第1類誤差有非常直觀的印象后,我們再展示替代假設(即樣本均值和總體均值之間的確存在顯著性差異)的分布曲線。在把差異水平增加的過程中(向右),我們可以觀察到均值差異越大,替代假設的分布曲線越向右側移動,無效假設和替代假設分布曲線的重疊越小,而檢驗能效越大(右側紅色區域);接著我們可以滑動α值,可觀測到第2類誤差(β)和第1類誤差(α)此消彼漲的關系,如果把第1類誤差控制在相對較低水平(即提高顯著性水平),會導致檢驗能效損失。
該交互示例非常清晰地演示了第1類誤差和第2類誤差、顯著性水平和檢驗能效間的互斥關系,要想同時提高顯著性水平和檢驗能效,可以提高差異水平。當然,樣本容量也是重要影響因素之一。我們可以提高樣本容量來改善檢驗能效,見下個示例。這一計算的過程較為復雜,不要求學生掌握,但要求學生掌握定性地影響樣本容量的因素有哪些,如何影響。
假設研究人員需要考察某項治療手段應用在某個總體是否有效,在設計實驗時,為了獲得一定的置信水平和檢驗能效,我們需要確定最小的樣本容量,這往往是唯一可控的因素。在上述示例中,樣本容量的因素沒有討論,實際上它是通過H0和Ha分布的形狀來影響置信水平和檢驗能效。根據中心極限定理(central limit theorem),我們知道當樣本容量增加時,H0和Ha分布的標準偏差降低,即兩者曲線都變窄,導致的結果是置信水平和檢驗能效同時都有所提高。該因素的影響也可包含在示例3.2節中進行互動演示,感興趣的讀者可嘗試實現。但在實際應用中,我們關注的是逆問題:即在特定的置信水平和檢驗能效下如何確定最小樣本容量。本示例(見圖7)動態地展示了各個影響因素的作用效果。

圖7 樣本容量需求動態演示效果圖
在該示例中,我們以分類數據的比率為例。假設某種處理造成的總體缺陷率為p,采樣的精確概率分布應該使用二項式分布,但通常在樣本容量足夠大的情況下(np和n(1-p)都大于5),也可以使用正態分布來近似二項式分布。影響樣本容量的統計因素包括:選取的第1類和第2類誤差(α和β)的水平、總體缺陷的比率(通常根據經驗或估計來獲得,而對于定量數據來說應該是總體分布的標準偏差)及要檢測的變化水平(δ,即近似為上述示例中Ha和H0均值之差)。
在變動p值的過程中,可以觀測到在p=0.5時,所需最低樣本容量最大,因為此時對應的總體標準偏差最大。而δ在增大的過程中,樣本容量需求降低,即要檢測的差異比較大時,只需要較少的樣本即可達到同樣的置信水平和檢測能效。
置信水平和檢驗能效通常設定在α=5%,β=10%。通過拖動滑動條,我們也可看到在α或β下降的過程中,對樣本容量的要求逐漸提高。
通過上述的簡單介紹和示例演示,我們向讀者展現了Mathematica在生物統計課程教學中的獨特優勢,它不僅可以方便、快捷地制作圖文并茂的幻燈片課件在課堂上展示,還能把復雜的統計過程以形象簡單的動畫展現出來,更有操作互動性,能提高學生參與度,更好地掌握生物統計中的基本理論、關鍵概念和重要的統計檢驗方法。
[1] Indrayan A.Medical Biostatistics[M].Boca Raton: CRC Press,2014.
[2] Gordon F,Gordon S.Statistics for the Twenty-First Century[M].Washington,DC: The Mathematical Association of America,1992.
[3] Storey J D,TIBSHIRAN R.Statistical significance for genomewide studies[J].Proc Natl Acad Sci U S A.2003,100(16):9440-9445.
[4] IBM Corp.IBM SPSS Statistics for Windows,Version 21.0 [CP/DK].2012.
[5] Nuzzo R.Scientific method: statistical errors[J].Nature,2014,506,150-152.
[6] WOLFRAM RESEARCH INC.Mathematica 9[CP/DK].2012.
[7] 熊青玲,潘林封,程衍富.Mathematica軟件在示波器實驗中的應用[J].實驗科學與技術,2013,11(2):37-39.
[8] WOLFRAM RESEARCH INC.Wolfram Demonstrations Project[EB/OL].http://demonstrations.wolfram.com.
[9] CLEVELAND W S.Visualizing Data[M].Summit,NJ: Hobart Press,1993.
[10] Box G E P,Cox D R.An analysis of transformations[J].Journal of the Royal Statistical Society B,1964,26(2): 211-252.
[11] Hinkley D V.On power transformations to symmetry [J].Biometrika,1975,62: 101-111.
[12] VON HIPPEL P T.Mean,median,and skew: Correcting a textbook rule[J/OL].Journal of Statistics Education,2005,13(2):www.amstat.org/publications/jse/v13n2/vonhippel.html.