程勝
摘要:開放、免費的R軟件應用越來越廣泛,本文歸納了R軟件較其他商業(yè)軟件的優(yōu)勢,結合實例分析了R軟件在時間序列分析課程中的具體應用。通過教學效果來看,采用R作為教學軟件,能夠提高學生的學習熱情,提升學生自我學習的能力,教學效果有顯著變化。
關鍵詞:R軟件;時間序列分析;教學
中圖分類號:G642.0???? 文獻標志碼:A???? 文章編號:1674-9324(2014)41-0173-03
R統(tǒng)計軟件是由Auckland大學開發(fā)的,其開源、免費、高效的特點使得軟件普及率迅速提升。根據最新的調查,R軟件的使用率已經超過傳統(tǒng)的SAS、SPSS、Statistica等商業(yè)軟件,成為數據分析的熱門工具。
一、R軟件的優(yōu)勢
R軟件是一個開放的統(tǒng)計編程環(huán)境,內嵌S編程語言。與其他統(tǒng)計分析軟件比較而言,利用R軟件進行數據分析具有以下優(yōu)勢。
1.R軟件是開源的、免費的。與SAS、SPSS、S-Plus、Statistica、Mathematics等商業(yè)軟件動輒十幾萬、幾十萬的購置費及昂貴的維護升級費用相比,R軟件則是完全免費、不需要支付任何費用,且數據分析、建模能力毫不遜色。另外,開源的R軟件比封裝、集成的商業(yè)軟件更具有靈活性。基于網絡溝通的及時有效性,R軟件更新速度快,在公共的R軟件平臺下,集合全球統(tǒng)計學家的智慧,不斷開發(fā)穩(wěn)定、前沿的統(tǒng)計分析包,使得其使用率急劇上升,呈現(xiàn)明顯的軟件價值邊際效應遞增趨勢。
2.R軟件是跨平臺的。R軟件能夠在多種操作系統(tǒng)下運行,如Windows、UNIX、Macintosh等。R軟件這一特點極大地方便了用戶在不同操作系統(tǒng)下的轉換,提高了軟件分析的運行效率。同時這種跨平臺的運行也給大數據計算、云計算等提供了穩(wěn)定的集成環(huán)境,提升了海量數據分析和挖掘的可能。
3.R軟件涵蓋廣泛。目前R網站上提供了約2400個程序包,包括基礎統(tǒng)計學、社會學、經濟管理、金融、生態(tài)、空間統(tǒng)計、系統(tǒng)發(fā)育分析、生物信息等多個方面,而且基于開發(fā)的網絡平臺,R網站不斷提供新的、方便的統(tǒng)計程序包。
4.R軟件突出的是統(tǒng)計思想。一般的集成商業(yè)軟件更像是一個黑匣子,只要有數據輸進去,結果就會出來,至于計量、統(tǒng)計背后的含義和邏輯并不十分明了。R軟件則不同,眾多的統(tǒng)計分析包都是可編輯和重新編譯的,使用者可根據自身需求,按照統(tǒng)計分析邏輯量身定做獨特的程序包。這樣,使用者同時也是開發(fā)者,對于統(tǒng)計思想的認識和把握會更加清晰。
二、R軟件在《時間序列分析》中的具體應用
R軟件與其他同級分析軟件不同,可以單獨定義時間序列數據類型,并且提供了大量的相關函數,運行這些函數之前需要對數據進行時間序列化。如對我國1960—2010年碳排放數據進行自相關和偏相關的分析,并建立ARIMA模型,其程序代碼如下:
d=scan("carbon.csv")#讀入碳排放數據數據
carbon=ts(d,start=1964,freq=1) #將數據時序化
plot.ts(carbon) #繪制時序圖
acf(carbon,24) #繪制自相關圖,滯后期數24
pacf(carbon,24) #繪制偏自相關圖,滯后期數24
corr=acf(carbon,24) #保存相關系數
cov=acf(carbon,24,type="covariance") #保存協(xié)方差
Box.test(prop,type="Ljung-Box",lag=6) #純隨機性檢驗,p值小于5%,序列為非白噪聲
Box.test(prop,type="Ljung-Box",lag=12)
arima(prop,order=c(1,0,0),method="ML") #用AR(1)模型擬合,如參數method="CSS",估計方法為條件最小二乘法,用條件最小二乘法時,不顯示AIC。
predict(arima(prop,order=c(1,0,0)),n.ahead=5) #預測未來5期
ts.plot(prop,prop.fore$pred,col=1:2)#作時序圖,含預測。
lines(U,col="blue",lty="dashed")
lines(L,col="blue",lty="dashed")#在時序圖中作出95%置信區(qū)間
代碼運行完,R將輸出我國碳排放數據的ARIMA模型各項參數及預測5期結果。由上例可見,R軟件通過交互式的編程操作,能夠簡單明了地告知使用者在運用ARIMA模型過程中的各個步驟及主要統(tǒng)計量。用戶通過試錯的方式能夠對ARIMA模型的主要思想及內容有比較清晰的把握。
此外,時間序列分析中關于GARCH模型的運用既是課程教學的重點,也是學生知識掌握的難點,由于GARCH模型種類較多,在以往的教學中,我們大多時間采用SAS進行教學,當然學生通過SAS的簡單編程,也能實現(xiàn)GARCH模型,但是效果總是不好,主要問題有兩個:一是SAS的GARCH編程主要利用AUTOREG過程,而該過程能夠實現(xiàn)的又不僅僅只有GARCH模型一種,因此,學生運用過程中總是容易混淆。二是SAS編程的過程與GARCH模型的原理大體是一致的,但是其過程的實現(xiàn)是個黑匣子,學生在教學實踐環(huán)節(jié)中花了大量精力在收集數據和整理數據上,而對于GARCH模型實現(xiàn)的過程與原理一知半解,或者不用知曉,只要看最終結果是否通過顯著性檢驗,便認為模型建立成功。相比較SAS而言,R提供開源的代碼,學生不僅可以直接利用基礎統(tǒng)計的程序包開發(fā)自己的GARCH模型,也可以根據數據本身的要求,按照GARCH的變種模型邏輯結構來修改源代碼,開發(fā)多種GARCH模型,并通過擬合效果來選擇適宜的模型。R軟件提供了fGarch包來幫助使用者開發(fā)GARCH模型。以下實例仍然采用我國1960—2010年碳排放數據建立AR-GARCH模型。具體代碼如下:
library(tseries)
library(fGarch)
library(FinTS)
a=ts(scan("carbon.csv"))
ts.plot(a)
fit=lm(a~-1+time(a))
r=resid(fit)
summary(fit)
pacf(r^2)
acf(r)
acf(r^2)
AutocorTest(r) #殘差是否存在序列相關ArchTest(r) #是否存在ARCH效應
fit1=garchFit(~arma(2,0)+garch(1,1),data=r,algorithm="nlminb+nm",trace=F,include.mean=F)
summary(fit1)
運行代碼后,R輸出了AR(2)-GARCH(1,1)模型結果,并通過summary函數可對運行結果的基本統(tǒng)計屬性進行全面的了解和分析。
通過上述時間序列分析中兩個常用的ARIMA模型和GARCH模型在R中的運用,我們可以發(fā)現(xiàn)基于R軟件的時間序列教學有如下幾個優(yōu)點:一是編程代碼簡單、清晰,用戶不用太多計算機編程基礎,便可輕松實現(xiàn)各種模型。二是相較其他封裝的商業(yè)軟件而言,R實現(xiàn)更加靈活,用戶可以根據自身科研教學的需要,對基本統(tǒng)計程序包進行修改和重編譯,開發(fā)屬于自己的軟件包。三是R編程的交互式平臺能夠幫助用戶加深對統(tǒng)計模型的基本思想和脈絡的掌握,提升基于數據分析的統(tǒng)計思想能力,幫助學生對于知識的理解。
三、R軟件實踐教學效果分析
2008年以前,本系開設了統(tǒng)計軟件分析課程中主要講解SAS、Eviews等軟件的應用,為接續(xù)的應用回歸分析、時間序列分析課程提供軟件基礎。2008年以后,我們開始只用R軟件作為時間序列分析的主要實踐工具,通過近五年的教學,教學效果發(fā)生了巨大提升,主要體現(xiàn)在以下幾個方面。
1.學生的基礎知識更為扎實了。R開源的特性激發(fā)了學生對統(tǒng)計理論的基本脈絡和邏輯思想的學習熱情。在以往的教學中,理論學習與實踐環(huán)節(jié)往往存在著不同程度的脫節(jié),理論考試成績高的學生,其實踐動手能力不強;實踐環(huán)節(jié)成績好的同學,理論知識掌握不牢。通過R軟件的學習,學生普遍反映在理論知識與實際操作的聯(lián)系上有了很大提升,對于理論知識的學習也沒有以前枯燥了,對于基本統(tǒng)計思想的理解更加深刻了。
2.學生對于新統(tǒng)計方法的接受能力更強了。在網絡信息時代,數據獲得的渠道越來越通暢,獲得的數據也愈來愈多,對于傳統(tǒng)統(tǒng)計方法的挑戰(zhàn)也日益增強。R軟件是集合全球統(tǒng)計人的智慧于一身,不斷推出新的統(tǒng)計分析方法解決新的數據。因此在教學過程中,我們除了講授一般性的基礎知識以外,也會講解一些最新的統(tǒng)計理念和思路,拓寬學生的知識視野,培養(yǎng)學生能夠遵循統(tǒng)計發(fā)展的一般規(guī)律和國際前沿發(fā)展來自我學習的能力。如在GARCH模塊的學習中,我們講解了IGARCH、TGARCH、EGARCH、MGARCH等基本的異方差模型,也結合實際案例講授了多個時間序列之間互動的CCCGARCH、DCCGARCH等動態(tài)GARCH模型。有學生利用R軟件建立了國際金價與我國股市的動態(tài)關聯(lián)、我國貨幣政策獨立性的有效識別等模型參加國內暑期經濟學、管理學和統(tǒng)計學夏令營,得到了夏令營老師的高度評價并獲得了相關“985”高校的保研資格。
3.學生的成績有了顯著提高。我校近期進行了教學質量評估,通過梳理歷年來學生的考試成績發(fā)現(xiàn),使用R作為教學軟件以來,學生成績優(yōu)良比例大幅度上升。學生的表現(xiàn)反饋在學習計量經濟學、時間序列分析、應用回歸分析、空間統(tǒng)計分析、生物統(tǒng)計分析等專業(yè)主干課程的過程中,熱情提高了,知識掌握程度提高了,實踐能力提高了,學習的難度降低了。
R軟件開放、高效的特點契合了大數據時代,契合了新世紀下本科生學習方法變化的特征,為我們的時間序列分析課程教學提供了強而有力的支撐。強化了學生在理論學習和實踐教學之間的關聯(lián)度,提高了學生自我學習熱情和能力。因此,從長期來看,R軟件在統(tǒng)計教學、科研中的運用具有廣闊的前景。
參考文獻:
[1]Jonathan D.Cryer,Kung-Sik Chan.時間序列分析及應用:R語言[M].機械工業(yè)出版社,2011.
[2]王小明,韓小亮.S-Plus應用統(tǒng)計教程[M].上海財經大學出版社,2005.
[3]閏朝暉.R軟件在多元統(tǒng)計分析教學中的應用研究[J].科技創(chuàng)新導報,2011,(01).