潘 逵,譚 瑩
(華南農業大學經濟管理學院 廣東 廣州 510642)
統計學是經濟管理類各專業的必修課程,隨著大數據時代的來臨,統計學作為理論基礎模塊地位越來越重要。對于高校而言,如何跟緊時代步伐,把握技術的脈搏,調整統計學的課程設計和教學方法,提升統計學課程的教學質量,值得深入討論。
我院經管類專業教師一般會根據個人特長選擇excel、spss、Eviews、stata等軟件之一進行教學。這樣在同一個學院選用不同的統計軟件進行教學不利于統計學和計量經濟學課程教研活動的開展。而且傳統的軟件或者傳統的教學方式可能并不適合大數據環境下的統計學教學。統一使用一種流行且實用的統計軟件勢在必行。
相對于Eviews、Stata等購置成本較高的商業軟件,R軟件可以免費獲取。R是一個面向統計計算和圖形可視化的自由GNU軟件[1]。它提供了各種各樣的統計(線性和非線性模型,經典統計測試,時間序列分析,分類,聚類等)和可視化方法,且高度可擴展,擁有大量可在線安裝使用的功能包,統計方法相對于商業軟件更新速度更快,還可以編寫實現自己的統計方法,有商業軟件不具備的靈活性[2]。
國外大學和科研機構有相當一部分選擇R語言進行數據的分析處理。在2022年5月編程語言排行榜TIOBE中,R語言排第13位,高于MATLAB,SAS等統計學語言[3]。
基于以上因素,R語言適合融入統計學的教學中。我院也在綜合考察國內外同類院校的教學方式和方法后,明確從2022年開始,統計學和計量經濟學課程使用R語言進行教學。
Shiny是R中的一個開源web開發框架,集成了bootstrap,ajax等特性。它將R的數據分析處理能力、可視化工作和web技術有機結合,用戶不需要精通前端知識,只需要了解基本的網頁知識即可以使用Shiny包快速搭建交互式的web應用[4],進行數據可視化工作,展現自己的想法。
相對于其他統計軟件運行代碼,展示分析結果,Shiny應用程序會自動刷新計算結果,這與電子鐘表的實時刷新類似。當用戶通過Shiny包提供的滑動條、單選框、文本輸入框等輸入控件修改輸入時,即可以改變函數或模型的輸入參數,實時動態地刷新網頁,觀察不同輸入情況下的代碼運行結果;甚至可以動態模擬輸入輸出,展示動畫效果。
統計學課程涉及較多概率論和數理統計的知識,對于經濟管理類專業的文科背景學生而言,學習相關知識比較吃力[5]。這里基于Shiny的交互性特點,使用R的Shiny包搭建交互式教學平臺,實現統計學各個知識點,展示統計學的抽象理論和分析流程,更利于加深學生對知識的理解。
統計學課程主要分為描述性統計和推斷性統計兩大部分。描述性統計是對總體特征的概括,包括平均值、中位數、分位數、眾數、極差和方差等,學生理解起來相對容易。推斷性統計是現代統計學的主要研究組成,是通過分析樣本的特征來推斷總體特征情況的方法,特別是基本的理論和定理比較晦澀,難以理解需要轉變傳統思維方式來處理問題。我們對統計學各個知識點進行梳理,把難以理解的推斷統計的部分內容進行了交互式實現,讓學生可以直觀感受,加深理解。
交互式平臺的具體內容包括抽樣分布理論、參數估計、假設檢驗、簡單線性回歸四個組成部分。抽樣分布理論是推斷統計的基礎,而抽樣分布理論的基石是大數定律和中心極限定理。本文以這兩個知識點為例,介紹如何開展統計學課程的交互式教學。
大數定律是研究隨機現象統計性規律的一類定理。描述在隨機事件的大量重復試驗中,呈現出的幾乎必然的統計規律。當我們大量重復相同的實驗時,其最后的結果穩定在某一數值附近。以伯努利大數定律為例,設k為n重伯努利實驗中事件A發生的次數,p為事件A在每次實驗中發生的概率,則對任意給定的實數>0,有 成立。即n趨向于無窮大時,事件A在n重伯努利事件中發生的頻率k/n無限接近于事件A在一次實驗中發生的概率p[6]。通俗地說,這個定律是指在試驗前提不變的條件下,隨著試驗次數的增加,隨機事件的頻率慢慢趨于穩定,最后穩定在它的概率附近。因為隨機事件的概率往往無法準確測量,但我們可以通過大量試驗計算得到的頻率來估計概率。為了讓學生對大數定律有直觀印象,在講解定義和理論的同時通過交互式平臺模擬投擲硬幣和投擲骰子兩個隨機試驗。投擲硬幣試驗中,1代表硬幣正面,2代表硬幣反面。根據古典概型知道正反面出現的概率各為50%,系統對投擲硬幣進行概率為50%的隨機抽樣,通過調節滑動條選擇試驗次數n,模擬多次投擲硬幣并計算不同投擲次數下 “1” 出現的頻率,關鍵代碼為:
在交互式仿真平臺中我們通過滑動條選擇不同的投擲次數,觀察試驗結果。從圖1中(p119)可以看到,曲線為頻率的連接線,直線為頻率的線性回歸擬合線,當選擇試驗次數為200次時,由于試驗次數較少,出現正面的頻率波動較大,頻率并沒有收斂到概率;實驗次數少于30次時,出現為正面的頻率甚至超過65%,與出現正面概率的差異較大。從圖2中可以看到,當選擇進行10000次投擲硬幣試驗時,圖形顯示投擲次數大于2500次后,出現正面的頻率波動就變得較小,在0.5附近波動,投擲次數超過5000次后,頻率在0.5上下小幅度波動,可以認為頻率開始慢慢收斂,當超過7500次時基本穩定在50%,可以認為出現正面的頻率約等于出現正面的概率。此外,點擊滑動條右側的播放按鈕可以生成動畫,展示隨著試驗次數增加頻率變動的情況。通過上述交互式過程,學生可以直觀體驗到大數定律的含義;也可以自行操作,選擇不同的輸入參數,觀察大量試驗下的必然事件,頻率會慢慢收斂到概率。
中心極限定理是討論相互獨立的n個隨機變量組合成的統計量正態或近視正態分布的性質[7]。它指出不論隨機變量x是連續型還是離散型,也不論x服從何種分布,一般只要樣本容量大于30,當抽樣次數趨于無窮時,就可認為x均值的抽樣分布服從正態分布或近似服從正態分布。與大數定律描述隨機變量均值和頻率的期望不同,中心極限定理描述的是隨機變量均值的抽樣分布。本文根據總體分布的不同,進行k次樣本容量為n的隨機抽樣,繪制樣本均值的分布直方圖和擬合密度曲線,計算抽樣分布的均值和方差,檢驗樣本均值的正態性。隨機抽樣和樣本均值計算函數如下:
利用R的ggplot2包繪制直方圖和擬合密度曲線:
ggplot(data=df,mapping=aes(x=xbar,y=..density..))+geom_histogram(bins=50,alpha=0.5)+geom_density(color="red")
通過三個輸入控件,我們選擇不同的參數進行模擬。從圖3中可以觀察到樣本均值分布的直方圖,黑色線條為擬合的密度曲線;當選擇均值為1的指數分布總體、樣本容量為30,抽樣100次時,產生100個樣本均值數據,對數據分布進行可視化和正態QQ圖驗證,其分布存在兩個波峰并不服從正態分布。當選擇均值為1的指數分布總體、樣本容量為75、抽樣2600次時,詳見圖4(p121),產生2600個樣本均值數據,可以認為數據量較大,這時樣本均值的均值為0.9962247,與總體均值1非常接近;從正態QQ圖中看出樣本均值數據基本服從正態分布;樣本均值的分布曲線近似均值為1正態分布。所以可以得出從指數分布總體中抽樣,在大樣本容量和大量抽樣的前提下,樣本均值的分布是正態分布。
通過交互式平臺可以選擇指數分布、均勻分布、標準正態分布、柯西分布、邏輯分布五類不同的總體分布數據。再通過滑動輸入條指定不同的樣本容量和抽樣次數進行試驗,觀察不同輸入組合條件下樣本均值的抽樣分布是否服從正態分布,得以驗證中心極限定理的特性。
傳統講授統計學知識的方式一般是講定理與舉例子,主角是教師。與傳統講授統計量理論教學方式不同,本文探索了一種新的交互式教學方法,利用R的shiny包實現的教學平臺在教師講解理論知識的同時,可以同步進行知識的演示;同時學生根據各自理解的不同進行不同的操作,觀察結果的變化,加深對知識的理解。該平臺涵蓋了推斷統計的主要內容,實現師生的互動,為相關知識點的教學提供了新的方法和手段。
由于該平臺是用R語言實現的,與統計學課程所采用的教學語言是統一的,教師可以選擇公開底層源代碼供學生學習。這樣學生不但可以獲得學習R語言知識的機會,還可以把統計理論知識和R語言融會貫通。此外,R的Shiny包提供的是一種數據可視化和交互性方法,學生學習掌握后可以在項目實踐和工作中向第三方展示自己的分析成果。