葛文秀 阮麗華
[摘 要]統(tǒng)計計算能力是現(xiàn)代統(tǒng)計學的一項重要培養(yǎng)內(nèi)容。基于多年的教學實踐,提出了以統(tǒng)計計算為改革重點,以其他統(tǒng)計學專業(yè)課程為延伸的“點線”結(jié)合、貫穿始終的培養(yǎng)模式,提高了學生的動手編程能力,取得了較好的成效。
[關(guān)鍵詞]統(tǒng)計計算;計算能力;教學改革
[基金項目]廣東省教育廳2016年度本科高校高等教育教學改革項目“數(shù)據(jù)時代統(tǒng)計學本科生計算能力建設(shè)”(粵教高函[2016]236號);廣東食品藥品職業(yè)學院2019校級精品在線開放課程(2019KC09);廣東食品藥品職業(yè)學院2020校級質(zhì)量工程項目(2020JG08)
[作者簡介]葛文秀(1979—),男,河北唐山人,博士,華南師范大學數(shù)學科學學院講師,主要從事非(半)參數(shù)統(tǒng)計推斷、應用概率統(tǒng)計研究;阮麗華(1980—),女,河北邢臺人,廣東食品藥品職業(yè)學院軟件學院講師,主要從事可靠性分析、應用概率統(tǒng)計研究。
[中圖分類號] C32[文獻標識碼] A[文章編號] 1674-9324(2020)46-0-03[收稿日期] 2020-10-07
一、引言
隨著傳感器技術(shù)、通信網(wǎng)絡(luò)和計算機存儲技術(shù)的飛速發(fā)展,人們無時無刻不在產(chǎn)生、儲存著大量的數(shù)據(jù),而且呈現(xiàn)快速增長的趨勢。《紐約時報》2012年2月在一篇專欄中指出:“大數(shù)據(jù)”時代已經(jīng)來臨,在商業(yè)、經(jīng)濟及其他領(lǐng)域中,決策將日益基于數(shù)據(jù)和分析而做出,而非基于經(jīng)驗和直覺。因此,作為以數(shù)據(jù)為研究對象的統(tǒng)計學有著更加廣闊的用武之地。
盡管豐富、多樣的數(shù)據(jù)為統(tǒng)計學帶來了發(fā)展機遇,但同時也面臨巨大挑戰(zhàn)。挑戰(zhàn)之一就在于不論是數(shù)據(jù)的獲取、清洗、分析都離不開分析工具計算機。不具備計算能力(此處的計算能力既包括計算機的專業(yè)知識也包括編寫程序代碼的實際動手能力)的統(tǒng)計專業(yè)人員很難得出很好的數(shù)據(jù)分析結(jié)果,有時甚至連數(shù)據(jù)都無法獲得,更談不上分析處理;因此,計算能力成為統(tǒng)計專業(yè)人員必備的能力。
統(tǒng)計學專業(yè)本科生作為未來的統(tǒng)計專業(yè)人員,在掌握統(tǒng)計學專業(yè)基礎(chǔ)知識的基礎(chǔ)上,統(tǒng)計計算能力也是培養(yǎng)的一個重要方面。然而,作者在多年的研究和教學實踐中發(fā)現(xiàn),在統(tǒng)計學專業(yè)本科生計算能力培養(yǎng)方面仍存在一些問題。
(一)培養(yǎng)目標要求低,不適合當今大規(guī)模數(shù)據(jù)分析的要求
目前,統(tǒng)計專業(yè)的培養(yǎng)方案通常要求學生掌握一種統(tǒng)計分析軟件,例如 R 或者 SAS;能夠利用統(tǒng)計軟件給出統(tǒng)計分析結(jié)果。這個要求不能滿足當前大數(shù)據(jù)分析的實際需要。例如,在數(shù)據(jù)分析之前,首先要能夠獲得數(shù)據(jù)。一般獲得數(shù)據(jù)的方式包括直接錄入數(shù)據(jù)和讀入外部數(shù)據(jù)兩種類型,其中最常用的是讀入外部數(shù)據(jù)。統(tǒng)計軟件讀入文本數(shù)據(jù)、數(shù)據(jù)庫數(shù)據(jù),以及其他統(tǒng)計軟件的數(shù)據(jù),如Excel、Spss等。然而,當前另外一塊重要的數(shù)據(jù)來源于網(wǎng)絡(luò),如何直接讀取網(wǎng)絡(luò)數(shù)據(jù)在一般的統(tǒng)計軟件中涉及很少。此外,由于數(shù)據(jù)規(guī)模過大,像R這樣的將數(shù)據(jù)讀入內(nèi)存的處理方式,會出現(xiàn)內(nèi)存溢出的問題。上述這些問題的解決需要具備較高的計算機專業(yè)知識。
(二)培養(yǎng)方式簡單
目前,統(tǒng)計專業(yè)通常通過開設(shè)統(tǒng)計計算或者統(tǒng)計計算與軟件,以及C語言、C++語言,或者Java 語言來培養(yǎng)學生的計算能力。而在講授其他統(tǒng)計專業(yè)課程時,只注重統(tǒng)計專業(yè)知識的傳授與應用,而忽略了統(tǒng)計計算能力的培養(yǎng)。例如,在應用回歸分析中,學生利用R語言只需一條lm( ?)語句就可以實現(xiàn)線性回歸。但是這種高度封裝的函數(shù)不利于培養(yǎng)學生的編程計算能力,特別是在現(xiàn)有的統(tǒng)計方法無法解決實際數(shù)據(jù)分析所遇到的問題時,需要具有較強的編程能力以探索新的分析方法。若能夠讓學生將線性回歸的過程以代碼的形式展示出來,不僅有助于學生深入理解統(tǒng)計方法,也有利于提高學生的編程計算能力。
(三)缺乏調(diào)動學生提高計算能力的手段和方式
目前的統(tǒng)計計算能力的培養(yǎng)主要通過開設(shè)課程的方式實現(xiàn),在教學手段上雖然引入了多媒體技術(shù),但是仍然擺脫不了“滿堂灌”的方式。在教學過程中,缺乏師生之間的互動,難以調(diào)動學習的興趣和發(fā)揮學生學習的自主性。
基于上述原因,作者提出以統(tǒng)計計算課程改革實踐為重點,以其他統(tǒng)計學專業(yè)課程為延長線的“點線”結(jié)合、貫穿始終的統(tǒng)計學專業(yè)本科生計算能力培養(yǎng)模式,并將此模式在教學過程中付諸實施,提高了學生的編程動手能力,增強了學生對統(tǒng)計專業(yè)的理解與應用,在各類學科競賽中取得了理想的成績。
二、課程教學過程中統(tǒng)計學本科生計算能力的培養(yǎng)
(一)重點:統(tǒng)計計算課程的改革
統(tǒng)計計算是統(tǒng)計學本科生的一門重要專業(yè)課程,其主要內(nèi)容包括誤差與數(shù)據(jù)處理,常用分布函數(shù)和分位數(shù)的計算、隨機數(shù)的產(chǎn)生與檢驗、隨機模擬方法、統(tǒng)計計算中常用的矩陣算法、多元線性回歸的計算方法、非線性回歸分析及其算法。[1]然而,作為培養(yǎng)統(tǒng)計學專業(yè)本科生計算能力的重要課程,統(tǒng)計計算的課程建設(shè)在教學內(nèi)容體系、方法、手段和考核等方面有著不同的探索嘗試。[2-4]
為適應大數(shù)據(jù)分析對現(xiàn)代統(tǒng)計學的要求,提高學生動手編寫代碼能力,增強統(tǒng)計專業(yè)學生的計算能力,作者結(jié)合課程教學,從課程定位、課程語言、教學內(nèi)容三個方面進行改革嘗試。
1.統(tǒng)計計算課程定位。統(tǒng)計計算是現(xiàn)代統(tǒng)計學課程體系的重要組成部分。統(tǒng)計專業(yè)學生不僅需要掌握如何利用統(tǒng)計軟件得到結(jié)果,而且需要理解這些結(jié)果是如何實現(xiàn)的;因此,作者將本課程定位于面向統(tǒng)計學專業(yè)的編程課程。通過課程的學習,學生將學習到編程的思想,包括數(shù)據(jù)結(jié)構(gòu)、函數(shù)、迭代、調(diào)試代碼等,進而達到能夠通過編寫代碼完成統(tǒng)計分析的目的。學生將學到如何編寫、調(diào)試代碼;如何設(shè)置和完成隨機模擬;如何擬合基本的統(tǒng)計模型和模型效果的評價等。
2.課程編程語言。課程采用的語言為R。R既是一個統(tǒng)計分析軟件,又是一種高級編程語言;既能夠提供大量現(xiàn)成的統(tǒng)計分析模塊,也能夠為使用者提供編寫新的代碼解決所遇到的新的數(shù)據(jù)分析問題,它集靈活性與集成化于一體。同時利用R語言的開源特性,學生能夠查看到現(xiàn)有模塊的實現(xiàn),修改、模仿代碼模塊編寫。因此,將統(tǒng)計計算課程教學與R軟件相結(jié)合,能夠培養(yǎng)學生編寫代碼、解決問題的能力,形成具有扎實統(tǒng)計專業(yè)知識,又具備很強編程分析數(shù)據(jù)的統(tǒng)計專業(yè)特色。
3.教學內(nèi)容及要求。不同于傳統(tǒng)統(tǒng)計計算側(cè)重隨機模擬、優(yōu)化算法等理論內(nèi)容,作者在教學內(nèi)容設(shè)計上側(cè)重編程實現(xiàn)。其具體內(nèi)容及要求如下:第一章介紹數(shù)據(jù)類型與數(shù)據(jù)結(jié)構(gòu),要求了解 R 編譯器;掌握基本的數(shù)據(jù)類型如向量、數(shù)組、矩陣與矩陣運算、列表和數(shù)據(jù)框;理解表格數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。第二章介紹生成隨機數(shù)和擬合統(tǒng)計模型,要求理解隨機數(shù)發(fā)生器,隨機數(shù)種子;能夠利用R的d*,p*,q*,r*函數(shù)產(chǎn)生隨機分布;理解回歸模型的數(shù)據(jù)結(jié)構(gòu)。第三章介紹數(shù)據(jù)變形,要求掌握數(shù)據(jù)子集選擇方法;變換數(shù)據(jù)以適用問題;對數(shù)據(jù)排序、轉(zhuǎn)置、合并、拆分數(shù)據(jù)框、將數(shù)據(jù)表轉(zhuǎn)換成長表或者寬表。第四章介紹文本,要求掌握基本的文本類型如字符、字符串、文本數(shù)據(jù);能夠抽取、替代子字符串,能夠拆分、構(gòu)建字符串;能夠計算字符串的個數(shù);掌握正則表達式的模型、規(guī)則;會利用正則表達式尋找模式匹配、拆分模式等。第五章介紹獲取外部數(shù)據(jù)方式,要求掌握讀入、保存為非 R 格式的數(shù)據(jù);掌握網(wǎng)絡(luò)數(shù)據(jù)爬取。第六章介紹數(shù)據(jù)庫,要求掌握關(guān)系數(shù)據(jù)庫的基本概念;能夠利用 R 訪問數(shù)據(jù)庫;掌握結(jié)構(gòu)查詢語句。第七章介紹循環(huán)與流控制,要求能夠?qū)?shù)據(jù)進行條件計算;掌握循環(huán)語句;能夠利用 R的“向量化”避免循環(huán)操作。第八章介紹apply/split/combine,要求掌握R中的apply,lapply,sapply以及mapply函數(shù);掌握split,aggregate,subset等函數(shù);能夠利用plyr包完成split/apply/combine。第九章介紹編寫和調(diào)用函數(shù),要求掌握 R 編寫函數(shù)規(guī)則,輸入、輸出變量;掌握函數(shù)調(diào)用方法;能夠?qū)碗s問題拆解成多個簡單問題。第十章介紹代碼調(diào)試,要求掌握代碼調(diào)試常用方法,理解錯誤、警告等表示。第十一章介紹函數(shù)的函數(shù)與優(yōu)化,要求理解R中的函數(shù)是一個對象,可以被其他函數(shù)調(diào)用;掌握計算最值的基本方法如泰勒展開式、梯度下降和牛頓法。第十二章介紹帶約束優(yōu)化問題,要求掌握帶有約束的優(yōu)化問題求解方法如拉格朗日法;統(tǒng)計中的帶有懲罰的優(yōu)化問題如嶺回歸、LASSO、樣條回歸等。第十三章介紹隨機模擬與MCMC,要求掌握隨機變量、Markov鏈的產(chǎn)生方法,能夠利用MCMC方法計算概率。
(二)延長線:計算能力的培養(yǎng)在其他統(tǒng)計專業(yè)課程中的延伸
除了提高統(tǒng)計計算課程的編程能力要求外,作者認為應該將統(tǒng)計專業(yè)學生的計算能力建設(shè)貫徹于統(tǒng)計專業(yè)學習的全過程,而不是僅僅依賴于一門或者兩門具體的課程。因此,選取了應用回歸分析、屬性數(shù)據(jù)分析和統(tǒng)計學習初步三門統(tǒng)計專業(yè)課程作為試點,減少理論推導和證明的課時,增加統(tǒng)計方法的編程實現(xiàn),以便學生能夠更好地理解統(tǒng)計方法,同時提高統(tǒng)計計算能力。
在這些課程中,一方面充分利用R的開源特性,將一些經(jīng)典統(tǒng)計方法的R實現(xiàn)函數(shù)打開,讓學生理解每一句語句的含義,進一步增加對統(tǒng)計方法的理解,另一方面模仿方法的代碼實現(xiàn)。例如,在應用回歸分析中,回歸模型恰當性檢驗中關(guān)于隨機誤差項的方差為常量的檢驗方法有Brown-Forsythe檢驗和Breusch-Pagan檢驗。[5]在這兩種方法原理介紹完畢后,讓學生在實驗課上將lmtest包下的bptest函數(shù)打開,查看 Breush-Pagan檢驗方法的實現(xiàn)。而Brown-Forsythe檢驗方法沒有現(xiàn)成的函數(shù)可以調(diào)用,可通過課后作業(yè)題目自己編寫代碼實現(xiàn)。這樣既有助于學生理解統(tǒng)計方法理論,又能幫助學生提高代碼實現(xiàn)能力。
三、教學措施與教學成果
為了能夠掌握學生代碼實現(xiàn)的程度,作者將R Markdown作為工具介紹給學生,使得學生能夠很好地編輯R的實現(xiàn)代碼以及文本描述,不僅能夠重復學生的分析過程,而且如果出現(xiàn)錯誤能夠準確找到錯誤的原因。經(jīng)過這樣的訓練,學生不僅更好的理解統(tǒng)計分析方法,而且提高了書寫代碼的能力。
在不斷提高學生統(tǒng)計計算能力的同時,鼓勵和引導學生參加全國大學生統(tǒng)計建模競賽、全國大學生市場調(diào)查與分析大賽等學科競賽,培養(yǎng)鍛煉自己的編程能力和統(tǒng)計分析能力。經(jīng)過不斷的建設(shè),學生在這兩個比賽中取得了令人滿意的成績。2017年全國大學生統(tǒng)計建模比賽獲得的獎項比前三屆都多。全國大學生市場調(diào)查與分析大賽,學生的獲獎人數(shù)不斷增加。更難能可貴的是,2016年至2019年連續(xù)四年有參賽隊伍進入國賽,這些成果進一步展示了專業(yè)建設(shè)的效果。
四、結(jié)論
為了提高統(tǒng)計學專業(yè)本科生的計算能力,本文提出了“點線”結(jié)合、貫穿始終的建設(shè)思路,以適應大數(shù)據(jù)時代對統(tǒng)計專業(yè)的計算要求。作者認為,統(tǒng)計學專業(yè)本科生的計算能力培養(yǎng)是一個長期的需要貫徹始終的學習過程,不僅需要在統(tǒng)計計算課程上提高要求,同時需要在其他統(tǒng)計專業(yè)課程教學過程中將統(tǒng)計計算能力培養(yǎng)作為一個重要內(nèi)容。希望本文的探索與實踐能夠為統(tǒng)計學科乃至其他理科類專業(yè)學生的能力建設(shè)提供一些可借鑒的經(jīng)驗。
參考文獻
[1]高惠璇.統(tǒng)計計算[M].北京大學出版社,1995.
[2]尹居良,王斌會.《數(shù)據(jù)分析與統(tǒng)計計算》課程設(shè)計與教學探討[J].科教文匯,2008(28):72-73.
[3]武東.“統(tǒng)計計算方法”課程教學改革的探討[J].中國電力教育,2008(23):82-83.
[4]黃性芳.統(tǒng)計計算研討課實踐教學初探[J].科教導刊,2017, 321(11):84-85.
[5] Kutner M.H.,Nachtsheim,C.J.,Neter,J.,Li W.應用線性統(tǒng)計模型 上冊(英文影印版,原書第5版)[M].機械工業(yè)出版社,2017.
Abstract: The capability of statistical computing is one of the key areas of modern statistics. Based on years of teaching practice, the author proposes a "point-line" continuous training model with Statistical Computing as the reform focus and other statistical professional courses as an extension, which improves students' hands-on programming ability and has achieved success.
Key words: Statistical Computing; computing ability; teaching reform