潘偉權 李麗潔 羅小青



摘要:本文通過構建Shiny程序,以統計學教學中的重難點知識,假設檢驗和區間估計為案例進行可視化交互式教學,利用交互式的程序,幫助學生更好的理解與掌握這兩個重要概念。這兩個案例表明,將Shiny運用到統計學的課堂教學中,有助于將抽象的知識直觀化,能激發學生學習興趣,加深學生在重難點知識上的理解。
關鍵詞:Shiny;可視化;交互式;假設檢驗
1引言
Shiny[1]是一種基于web的可視化交互式應用程序,是R Studio開發的一種技術。它是R軟件的web應用框架,將現有的R腳本轉換成Shiny的應用程序并不困難,用戶不需要學習R語言語法,也不需要在R源代碼中進行更改就可以使用并繪制圖形[2]。本文將使用Shiny應用程序對統計學中的假設檢驗與區間估計的知識點進行統計教學,所生成的程序允許學生操作方程中的變量,通過圖像直觀展示結果,從而更好地理解這些變量之間的關系,將假設檢驗中的一些概念理解得更為透徹。
2案例一
假設檢驗不僅是一種定量分析的重要方法,也是大學階段統計學課程教學的重點之一[3],現實生活中有大量的實例可以歸結為假設檢驗的問題。在講解之前,同學們需要了解假設檢驗是立足于小概率,給定很小的顯著性水平去檢驗對總體參數的假設是否成立。
當原假設與備擇假設互斥時,肯定原假設,意味著放棄備擇假設;否定原假設,意味著接受備擇假設。
利用Shiny繪制出服從正態分布的假設檢驗的示意圖并設置好相應用于互動的參數范圍,學生可以指定不同的顯著性水平,觀察檢驗圖會有怎樣的變化,熟悉檢驗圖的構造。在這里需要注意的是顯著性水平和置信水平不是同一概念。在圖1中,顯示的是顯著性水平的單側檢驗示意圖,圖中的紅線所在的位置表示的是臨界值,紅線的左側區域我們把它稱作拒絕域,正如圖1所標示的位置。當觀察結果落入拒絕域中表示拒絕了原假設,此時犯了第Ⅰ類錯誤,雖然這類錯誤發生的概率非常小,但是無法避免。圖中紅線的外側面積大小表示著的大小。而紅線的右側區域,我們稱作接受域,即接受提出的原假設。
我們了解了檢驗示意圖的基本構成以后,我們再利用雙側檢驗示意圖來觀察在不同顯著性水平的情況下是怎樣變化的。學生通過操作左側下拉按鈕選擇不同的顯著性水平,其中圖2、3分別選擇的是在、時的雙側檢驗圖,對比觀察到隨著顯著性水平的提高,拒絕域就會越大。
3案例二
由樣本統計量所構造的總體參數的估計區間就稱為置信區間[5]。置信區間是一個估算值,它具有多個組件,包括點估計、樣本量、標準誤差和置信度。這些組件是理解其中的關鍵,改變置信區間的多個組件可以提供更深入的了解。總而言之,關鍵是學生要學會辨識置信區間的細微差別,以及它們在確定置信區間時所扮演的角色。下面通過把一電影票房數據的置信區間及自行生成的多個樣本數據可視化,以便說明Shiny在這一過程中的應用。
很明顯在圖4中求了出31部電影平均首周票房的95%的置信區間為(2096.56,3569.15)。在圖片的左側是學生可以操作的模塊,學生可根據不同置信水平來觀察確定置信區間的變化,其中系數設置有0.01、0.025、0.05、0.1等,分別對應的置信水平為98%、95%、90%、80%。而右側部分的線圖則是Shiny應用程序的結果顯示。學生通過點擊下拉按鈕選擇不同的置信系數,可以得到發生改變的置信區間。圖4中顯示的下限是通過從點估計中減去誤差來計算的,教師需要先進行例題示范教學,然后就可以讓學生自行操作了。
圖5是顯示90%置信水平下的區間,建立圖5是為了與圖4形成對比,比較在不同的置信水平下的置信區間是怎樣改變的。當樣本量給定時,置信區間的寬度隨著置信水平的提高而增大。
在教科書中,學生大多是通過靜態圖像來接觸這些主題,而往往很少使用動態的交互式工具進行探索。在Shiny程序中,學生可以通過自己“動手”操作,發現其中的規律變化,加上教師的講解以及鼓勵可以激起學生的學習興趣,還能引發學生更深層次的思考,將統計概念理解透徹,為后面學習統計分析奠定基礎。
我們知道在實際問題中,進行估計往往只抽取一個樣本,此時構造的是與該樣本相聯系的相應的置信水平下的置信區間。因為這個區間不再是一個隨機區間,所以無法知道這個樣本所產生的區間是否包含了總體參數的真實值[4]。因此我們建立了圖6來說明樣本量對置信區間的影響,我們選擇的是重復構造出的的10個置信區間(數據均為隨機生成)。 圖6中的每一條線段表示的是每一個估計區間,而紅色的線段則表示不包含真實值的區間。圖中可以看出10個區間中的第2個和第10個區間沒有落在中間的黑線上,即表示包含總體均值。圖6展示的是置信度為90%的置信區間,說明了最后有10%的區間沒有包含。
在圖6的左側,有兩個選擇鍵,其中sample size表示的是樣本容量,Number of alpha是置信系數,圖6、圖7構建的意義是為了比較在保持置信水平不變的情況下,增加或減少樣本大小的影響對其影響范圍的置信區間是如何改變。它將提供學生關于什么是直觀的信息,引導學生操作結果展示圖中左側的按鈕,這樣的教學方式可以引發學生自主思考,還有利于培養學生的觀察能力。
不僅如此,還可以通過給定樣本量為30時,將系數選擇為0.01,即置信度為98%時得到圖8,用來說明置信度與真實覆蓋率的關系。圖7與圖8的對比結果相當明顯,可得到結論:當置信度越高時,區間包含真實值的概率也就越大。學生使用Shiny程序進行學習,不僅改變了被動接受知識的狀態,還充分調動了學生學習的積極性,教師可以發現教學效果得到顯著的提高。
4結語
通過Shiny構建了一個交互式的、動態的、用戶友好的、可視化的教學案例。 教師或者學生可根據自己的需要,去修改代碼完成自己想要展示的圖形。而且Shiny應用程序有一個重要優勢是,它可以部署在服務器上,接著就可以通過web瀏覽器在線訪問它[5]。不僅如此,學生們可以在不需要了解任何編程的情況下,自己嘗試使用該應用程序。他們只需要知道如何啟動web瀏覽器。因此,Shiny能為統計教學帶來極大的提升。
參考文獻:
[1]Winston Chang,Joe Cheng,JJ Allaire.Shiny:Web Application Framework for R[M].SpellPress,2017.
[2]鄧強庭,欒嘉,張維,等.基于R-Shiny的Cox回歸模型列線圖繪制工具的開發實現[J].現代預防醫學,2018(24):4417-4422+4434.
[3]施國強.淺析如何在假設檢驗中建立原假設與備擇假設——基于本科生統計學教學實踐[J].科教文匯(中旬刊),2018(05):53-54.
[4]賈俊平,何曉群,金勇進.統計學(第六版)[M].北京:中國人民大學出版社,2015.
[5]Williams I J,Williams K K .Using an R Shiny to enhance the learning experience of confidence intervals[J].Teaching Statistics,2017.