首页 > 文章中心 > 正文

计量经济学教学实践浅析

计量经济学教学实践浅析

摘要:R是一款开源免费的统计软件,其强大的数据分析能力使得它在计量经济学领域有着广阔的应用空间。本文结合计量经济学教学实践,分析总结了R软件在计量经济学教学与科研方面的优势与挑战,并对R软件在计量经济学方面的融合、拓展提出了相关建议,以便将来更好开展该领域的教研工作。

关键词:R软件;计量经济学;功能包

一、引言

R是一种用于统计计算与绘图的开源软件,同时也是一种编程语言。它广泛应用于商业性数据分析和学术研究领域。长期以来,R都被贴上统计软件的标签,在统计、生物、医学以及人工智能等领域有大量的用户群,但在计量经济学领域,目前使用R开展教学、科研的用户较为有限。作为一款开源软件,R软件的所有功能都是由全球范围内的专业研究人员提供相应的功能包(package)来实现的,截至2021年5月,在CRAN网站上已经了与计量经济学直接相关的功能包(package)超过140个,涵盖了计量经济学中经典的以及最前沿的建模方法。Kleiber&Zeileis(2008)是向计量经济学领域推广R软件的先行者,他们也是AER包的开发和维护者[1]。另外,Heiss(2020)也出版了针对R入门级别用户的计量经济学指导教程[2]。在国内,专门使用R软件作为计量经济学教学配套软件的教材和著作还比较有限,但是鉴于R目前在数据科学领域的快速发展,越来越多的研究人员和商业化的数据分析工作者参与其中,这种趋势在大数据时代背景下越发明显。因此,加快推进计量经济学实证领域的R软件教学实践,一方面可以使教师紧跟大数据时代的新工具、新方法,同时也拓宽了学生的视野,提升了他们的数据分析能力。我们相信由此所获得的收益必将远远超过其所付出的学习成本。

二、用R开展计量经济学教学的优势

(一)易获得性

R是一款免费发行的软件,它的基础开发与功能包维护是由R开发核心小组(RDevelopmentCoreTeam)负责。R软件提供了三个平台的支持:Linux、Macintosh和Windows。R软件中包含了许多实用的统计分析与作图函数。统计分析的结果通常保存在一个对象中,很多中间结果并不会直接显示,用户可以根据自己分析的需要进行调用。作图函数能将生成的图片展示在一个独立的窗口中,也可以将绘图结果输出到其他格式的文件中予以保存。打开网站:www.r-project.org,进入Download栏目下CRAN,选择合适的镜像网站。中国大陆用户可以选择China分组下的任一网址链接,进入CRAN后,点击“DownloadRforWindows”。Download页面有四个板块:

1.BASE。R软件的核心模块。对于新用户,这是首先要安装的内容。

2.Contrib.由第三方提供的功能包(package)的合集,这里面提供了超过17000个包,提供了各种不同功能,满足不同用户需求。

3.OldContrib.各种功能包的历史版本。如果用户对特定包的历史发展感兴趣,可以浏览此栏目。

4.Rtools.R配套工具箱。可用于编译自己所写的pack-age。如果想跟其他人分享自己所编写的程序包,可以用Rtools中所提供的函数,实现package的编译、审核、。点击base,进入下载页面,选择“downloadR4.2.0forwindows”,下载安装包并安装。安装完毕后,启动R。传统的R程序运行界面比较简陋,即所谓的“RGui”,用户可以在提示符“>”后输入命令来完成相应操作。现在已经很少有人利用RGui来执行相关数据分析工作,绝大多数人都选择了第三方编辑器———Rstudio。Rstudio是Rstudio公司开发的一款适用于R的开源编辑器,他有单机版(Desktop)和网络版(Server)两个版本。初学者可以选择单机版,简洁易用好上手。启动Rstudio,此时所看到的界面相对友好。主题界面的左边是控制台窗口,输入命令,结果反馈都在这一区域。右上方是环境窗口,当前工作环境下有哪些变量、函数、数据等,都将在这显示。右下方集成了五个功能界面:Files,当前工作路径下的文件列表;Plots,图形输出结果;Packages,本机已安装的包;Help,帮助文档的显示界面;Views,视图界面。Rstudio除了能完成常规的命令输入,代码管理功能外,还可以进行项目管理,package开发,Rmarkdown的编写等功能,用户体验良好。以往初学者对于R里面过多的命令与函数感到头疼,在Rstudio里,强大的提示和补充功能,让这一烦恼不复存在。

(二)功能覆盖全面

CRAN网站上把R的所有功能包按主题大致分了36个大类,每一个主题都有志愿者担任维护人员,主题下面列举出CRAN上目前与该主题有关的packages,核心的功能包用星号予以标注。Econometrics位列第七个主题。这一主题目前的维护者是AchimZeileis,他同时也是<AER>包的开发者之一。在Econometrics这个主题下,列了大约140个包,这140个包又分为七个专题。

1.Basiclinearregression。这一部分基本涵盖了经典计量经济学所需要的绝大部分方法,包括回归分析、方差分析、嵌套模型比较、非嵌套模型的比较、系数检验、稳健性标准误差以及模型诊断等。涉及的功能包有:stats、lmtest、car、sand-wich、nonnest2等。

2.Microeconometrics。这一部分主要包括广义线性模型,二元响应模型(也称二元选择模型)、计数模型、多元响应模型、次序选择模型、删失回归、截断回归以及其他一些微观计量中所用到的方法,如:随机前沿分析等。这一专题包括的功能包有:effects,mfx,margins,LinRegInteractive,brglm,Rchoice,glmx,MASS,aod,pscl,countreg,nnet,mlogit,mnlogit,gmnl,VGAM,MNP,bayersm,RSGHB,ordinal,survival,AER,censReg,intReg,crch,mhurdle,sampleSelection,SemiParSampleSel,matchingMa-rkets,frm,betareg,gamlss,sfa,semsfa,mvProbit。

3.Instrumentalvariables。包括基本工具变量回归、二元选择模型的工具变量回归以及面板数据模型的工具变量回归。这一专题包括的功能包有:sem,inpack,lfe,ivprobit,LARF,ivfixed,ivpanel,REndo,ivbma,ivlewbel。

4.Paneldatamodels。包括误差成分模型、线性面板模型、混合效应模型、异质性时间趋势模型、门限回归与单位根检验以及面板向量自回归。这一专题包括的功能包有:plm,Paneldata,OrthoPanels,geepack,pglm,panelvar,panelAR,phtt,pdR,pampe。

5.Furtherregressionmodels。额外的一些回归模型专题,包括非线性最小二乘估计、分位数回归、广义矩估计、空间计量经济学模型、贝叶斯估计、线性结构方程模型、联立方程模型、非参数核估计、广义可加模型、极值分析。这一专题包括的功能包有:quantreg,gmm,Spatial,splm,BMA,sem,systemfit,np,mgcv,gam,ExtremeBounds。

6.Timeseriesdataandmodels。在CRAN上还有一个主题TimeSeries是专门讨论时间序列模型的,因此这里只是简要论述一些与计量经济学关系密切的方法。这一专题大致包括规则频率的时间序列模型、不规则频率的时间序列模型、经典时间序列模型、滤波与分解、向量自回归、单位根与协整、门限回归与平滑转换、混合频率数据的建模、分布滞后模型等。涉及的功能包有:zoo,xts,forecast,vars,urca,tseries,CADFtest,pco,tsDyn,midasr,dlsem,apt,tsfa。

7.Datasets。该专题收集了一些在计量经济学教学与科研中常用的数据,包括教科书和主要期刊上的部分数据集,加拿大货币与信贷数据,PennWorldtable,经济学实证研究数据集,PSID,美国州县层面的失业率数据,世界银行数据接口。涉及的功能包有:Ecdat,wooldridge,CDNmoney,pwt9,erer,psidR,rUnemploymentData,wbstats。另外还有一些在计量经济学领域备受关注的新方法,其所对应的功能包还暂未收录到上述专题,如结构变化,有strucchange和segmented包;政策评价中很常用的不连续回归(也译为断点回归),有rdd,rddapp,rddrobust,rdlocrand,rd-power,rdmulti等包。

三、用R开展计量经济学教学面临的挑战

(一)R学习门槛较高

R在本质上是一门编程语言,它在风格上与常见的E-views和STATA等计量软件还是存在较大区别。如果学生之前有接触过Eviews软件,那么他再学习R会有一个较长的适应过程,相反,如果是接触C语言课程的同学,再学习R则相对轻松得多。但是,目前在大多数财经类高校,本科生开始编程基础课的很少,因此,当他们初次接触R语言时,对R的思维模式、风格体例、执行方式都表现得很陌生甚至抵触,觉得这门软件难!在以往的教学经验中,我们为了降低学习难度,消除学生的畏惧心理,在课程介绍时,往往只是跟学生介绍与计量经济学关系紧密的少数几个包,针对其中的核心函数的常见用法做简单演示和讲解,没有做过多展开,更不要说对R的一些基础层面的介绍,常规的数据处理和图形绘制功能介绍。这样的妥协固然可以让学生在有限课时内“照猫画虎”式的完成计量方法的操作,但对于学生更深入的理解和掌握R是非常不利的。

(二)R更强调对模型原理的掌握

R语言相对一些“傻瓜式”数据分析软件,需要学生对所用的模型有更深刻的认识,即要求学生不仅“知其然”还要做到“知其所以然”,否则对软件的使用可能出现错误的解读。例如在本科阶段的计量经济学教学环节中,有两个基础的知识点---多重共线性和异方差补救措施。多重共线性的补救措施中有一种方案为岭回归估计,在R中岭回归的函数为lm.ridge(),这个函数的实现原理与SPSS、SAS等软件的实现原理都不相同,R软件的估计结果和这个两个软件的结果有差异。如果学生不了解岭回归原理,或许会认为R的软件包存在错误。对这一问题详细讨论可参见尹康(2013)[3]。对于异方差的补救措施,传统的方案建议采用加权最小二乘法(WLS),但是在实际估计过程中,权重不易选取,因此更稳健的方案是异方差一致估计标准误(HCC)的修正,即参数估计仍采用最小二乘法(OLS),仅对参数估计标准误进行修正。在STATA软件中,实现这一方案非常简单,假如被解释变量为$y$,解释变量为$x$,只需输入命令:regyx,robust,STATA即可输出稳健回归的结果。在R中,一致标准误的设定要更全面也更复杂。对应执行命令:lm01<-lm(y~x)coeftest(lm01,vcov.=vcovHC(lm01,type="HC3"))在R中报告稳健回归的结果需要两步,首先做回归,然后对回归结果执行coeftest()函数才能报告稳健回归的结果。在coeftest函数中‘type’参数用于选择异方差一致标准误差的计算方式,它一共提供8种计算方式。根据付宏和尹康(2016)的设定,对于多元线性回归模型Y=Xβ+ε,Y为n维列向量,X为n×k阶矩阵,β为k维列向量,ε为n维向量[4]。在最小二乘估计框架下,有。当ε满足同方差假定时,,当ε为异方差时,定义,根据Davidson&Macki-non(2004)的讨论,R软件一共设计了八种异方差一致标准误的计算模式[5]。我们这里仅列出其中常用的五种,分别为:,。其中ei为残差,hi为矩阵主对角线第i个元素。在这里,HC0是White(1980)所推荐的方式,而Davidson&Mackinon(2004)通过模拟发现,HC1、HC2、HC3这三种方式在小样本情形下更有效[5-6]。在R软件中,如果不对'type'参数做设定,则默认选择HC3。通过上面两个在基础计量经济学学习阶段所遇到的两个小问题,我们可以看出R软件更强调用户对每一个函数语句背后所对应的计量理论掌握,这对于需要进一步学习更高阶计量经济学课程的学生来说,非常有必要,但同时对本科阶段的学生又存在一定挑战。

(三)经管类专业学习R的氛围不足

正如前文所说,R首先是一个统计软件,所以它在统计、数据挖掘、机器学习、医学统计以及生物统计都有大量的用户群。相反,在经管类专业的学生或教师群体中,使用R的人还不多,这使得很多学生在选择软件时因为从众心理而忽略R。针对这一现象,还需要我们在计量实证领域加大对R的推广。一个令人欣慰的现象是,随着近些年国内的经济学实证研究越来越重视对因果推断方法的应用,而R在因果推断方面的包现在也比较全面,因此很多介绍因果推断的教科书都在介绍相应R包的用法,相信在不久的将来,计量经济学领域的R用户群会越来越大。四、总结及未来的展望目前,在经管类专业推广R语言作为计量经济学的配套软件,有非常大的发展潜力,但同时也面临一些挑战。长远来看,学生未来无论是从事学术研究或从事实务部门工作,都需要掌握一定的数据分析能力。R作为一款功能强大并且免费易获得的数据分析软件,如果学生能较为熟练使用该软件进行数据分析、计量建模分析,这对于经管类专业的学生而言,绝对是拥有了一项核心竞争力。从应用R开展计量教学经验来看,目前在R已的功能包中,除了AER这个包之外,尚未有整合较为全面的包。在经典计量经济学教科书中所介绍的主流方法及模型,都是分散在众多零散功能包之中,有些包中对同一个概念的表述还不尽相同,有的估计方法又在不同包中重复出现。这既占用了资源,也增加了用户学习使用成本。因此,有必要编制几个综合型功能包,对已有的计量功能包进行分类整合,这样对降低新用户的学习成本非常有帮助,也有利于进一步扩大R在计量经济学实证领域的用户群。

作者:尹康 单位:湖北经济学院经济与贸易学院