R统计软件及其在《时间序列分析》实践教学中的应用

2015-04-01 21:30程胜
教育教学论坛 2014年41期
关键词:时间序列分析教学

程胜

摘要:开放、免费的R软件应用越来越广泛,本文归纳了R软件较其他商业软件的优势,结合实例分析了R软件在时间序列分析课程中的具体应用。通过教学效果来看,采用R作为教学软件,能够提高学生的学习热情,提升学生自我学习的能力,教学效果有显著变化。

关键词:R软件;时间序列分析;教学

中图分类号:G642.0     文献标志码:A     文章编号:1674-9324(2014)41-0173-03

R统计软件是由Auckland大学开发的,其开源、免费、高效的特点使得软件普及率迅速提升。根据最新的调查,R软件的使用率已经超过传统的SAS、SPSS、Statistica等商业软件,成为数据分析的热门工具。

一、R软件的优势

R软件是一个开放的统计编程环境,内嵌S编程语言。与其他统计分析软件比较而言,利用R软件进行数据分析具有以下优势。

1.R软件是开源的、免费的。与SAS、SPSS、S-Plus、Statistica、Mathematics等商业软件动辄十几万、几十万的购置费及昂贵的维护升级费用相比,R软件则是完全免费、不需要支付任何费用,且数据分析、建模能力毫不逊色。另外,开源的R软件比封装、集成的商业软件更具有灵活性。基于网络沟通的及时有效性,R软件更新速度快,在公共的R软件平台下,集合全球统计学家的智慧,不断开发稳定、前沿的统计分析包,使得其使用率急剧上升,呈现明显的软件价值边际效应递增趋势。

2.R软件是跨平台的。R软件能够在多种操作系统下运行,如Windows、UNIX、Macintosh等。R软件这一特点极大地方便了用户在不同操作系统下的转换,提高了软件分析的运行效率。同时这种跨平台的运行也给大数据计算、云计算等提供了稳定的集成环境,提升了海量数据分析和挖掘的可能。

3.R软件涵盖广泛。目前R网站上提供了约2400个程序包,包括基础统计学、社会学、经济管理、金融、生态、空间统计、系统发育分析、生物信息等多个方面,而且基于开发的网络平台,R网站不断提供新的、方便的统计程序包。

4.R软件突出的是统计思想。一般的集成商业软件更像是一个黑匣子,只要有数据输进去,结果就会出来,至于计量、统计背后的含义和逻辑并不十分明了。R软件则不同,众多的统计分析包都是可编辑和重新编译的,使用者可根据自身需求,按照统计分析逻辑量身定做独特的程序包。这样,使用者同时也是开发者,对于统计思想的认识和把握会更加清晰。

二、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") #保存协方差

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%置信区间

代码运行完,R将输出我国碳排放数据的ARIMA模型各项参数及预测5期结果。由上例可见,R软件通过交互式的编程操作,能够简单明了地告知使用者在运用ARIMA模型过程中的各个步骤及主要统计量。用户通过试错的方式能够对ARIMA模型的主要思想及内容有比较清晰的把握。

此外,时间序列分析中关于GARCH模型的运用既是课程教学的重点,也是学生知识掌握的难点,由于GARCH模型种类较多,在以往的教学中,我们大多时间采用SAS进行教学,当然学生通过SAS的简单编程,也能实现GARCH模型,但是效果总是不好,主要问题有两个:一是SAS的GARCH编程主要利用AUTOREG过程,而该过程能够实现的又不仅仅只有GARCH模型一种,因此,学生运用过程中总是容易混淆。二是SAS编程的过程与GARCH模型的原理大体是一致的,但是其过程的实现是个黑匣子,学生在教学实践环节中花了大量精力在收集数据和整理数据上,而对于GARCH模型实现的过程与原理一知半解,或者不用知晓,只要看最终结果是否通过显著性检验,便认为模型建立成功。相比较SAS而言,R提供开源的代码,学生不仅可以直接利用基础统计的程序包开发自己的GARCH模型,也可以根据数据本身的要求,按照GARCH的变种模型逻辑结构来修改源代码,开发多种GARCH模型,并通过拟合效果来选择适宜的模型。R软件提供了fGarch包来帮助使用者开发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函数可对运行结果的基本统计属性进行全面的了解和分析。

通过上述时间序列分析中两个常用的ARIMA模型和GARCH模型在R中的运用,我们可以发现基于R软件的时间序列教学有如下几个优点:一是编程代码简单、清晰,用户不用太多计算机编程基础,便可轻松实现各种模型。二是相较其他封装的商业软件而言,R实现更加灵活,用户可以根据自身科研教学的需要,对基本统计程序包进行修改和重编译,开发属于自己的软件包。三是R编程的交互式平台能够帮助用户加深对统计模型的基本思想和脉络的掌握,提升基于数据分析的统计思想能力,帮助学生对于知识的理解。

三、R软件实践教学效果分析

2008年以前,本系开设了统计软件分析课程中主要讲解SAS、Eviews等软件的应用,为接续的应用回归分析、时间序列分析课程提供软件基础。2008年以后,我们开始只用R软件作为时间序列分析的主要实践工具,通过近五年的教学,教学效果发生了巨大提升,主要体现在以下几个方面。

1.学生的基础知识更为扎实了。R开源的特性激发了学生对统计理论的基本脉络和逻辑思想的学习热情。在以往的教学中,理论学习与实践环节往往存在着不同程度的脱节,理论考试成绩高的学生,其实践动手能力不强;实践环节成绩好的同学,理论知识掌握不牢。通过R软件的学习,学生普遍反映在理论知识与实际操作的联系上有了很大提升,对于理论知识的学习也没有以前枯燥了,对于基本统计思想的理解更加深刻了。

2.学生对于新统计方法的接受能力更强了。在网络信息时代,数据获得的渠道越来越通畅,获得的数据也愈来愈多,对于传统统计方法的挑战也日益增强。R软件是集合全球统计人的智慧于一身,不断推出新的统计分析方法解决新的数据。因此在教学过程中,我们除了讲授一般性的基础知识以外,也会讲解一些最新的统计理念和思路,拓宽学生的知识视野,培养学生能够遵循统计发展的一般规律和国际前沿发展来自我学习的能力。如在GARCH模块的学习中,我们讲解了IGARCH、TGARCH、EGARCH、MGARCH等基本的异方差模型,也结合实际案例讲授了多个时间序列之间互动的CCCGARCH、DCCGARCH等动态GARCH模型。有学生利用R软件建立了国际金价与我国股市的动态关联、我国货币政策独立性的有效识别等模型参加国内暑期经济学、管理学和统计学夏令营,得到了夏令营老师的高度评价并获得了相关“985”高校的保研资格。

3.学生的成绩有了显著提高。我校近期进行了教学质量评估,通过梳理历年来学生的考试成绩发现,使用R作为教学软件以来,学生成绩优良比例大幅度上升。学生的表现反馈在学习计量经济学、时间序列分析、应用回归分析、空间统计分析、生物统计分析等专业主干课程的过程中,热情提高了,知识掌握程度提高了,实践能力提高了,学习的难度降低了。

R软件开放、高效的特点契合了大数据时代,契合了新世纪下本科生学习方法变化的特征,为我们的时间序列分析课程教学提供了强而有力的支撑。强化了学生在理论学习和实践教学之间的关联度,提高了学生自我学习热情和能力。因此,从长期来看,R软件在统计教学、科研中的运用具有广阔的前景。

参考文献:

[1]Jonathan D.Cryer,Kung-Sik Chan.时间序列分析及应用:R语言[M].机械工业出版社,2011.

[2]王小明,韩小亮.S-Plus应用统计教程[M].上海财经大学出版社,2005.

[3]闰朝晖.R软件在多元统计分析教学中的应用研究[J].科技创新导报,2011,(01).

猜你喜欢
时间序列分析教学
“自我诊断表”在高中数学教学中的应用
对外汉语教学中“想”和“要”的比较
跨越式跳高的教学绝招
初中50米迎面接力跑教学心得