导读
做模型,用啥软件。你还在纠结吗?stata、Eviews、spss、Matlab,用啥、用啥?今天给你讲解一下他们的差异,精准定位,实证从此无忧。

1、前言

一般只有初学者才会纠结使用什么软件,在茫茫多的选择间挑花了眼。其实,是因为对自己定位不清晰,对所从事的工作不够了解导致的。总想着一步到位,少走弯路,但是初学者也应该慢慢来,多了解一些,就像相亲,多试一试嘛。

看这篇文章的人一般是为了结合某种软件帮助自己学习(写论文)。不过现代社会分工越来越精确,学科的划分也越来越细致,除非有精通各个领域的大牛,否则很难对各类软件做出准确评述。稍微写一下几种比较主流软件的个人使用感受,间或夹杂一些偏门软件,主要对面做应用计量、理论计量和宏观经济的人吧(数据分析、数据挖掘等本人不擅长的就不介绍了,看客少了一半)。如果你比较忙吗,可以直接看每个软件最后的推荐程度部分。

记住请选择你从事的这一行的主流软件,因为有很全面的资料,可以得到许多人的帮助。

2、Eviews

学计量的应该都知道这个,把它放在第一位并不意味着推荐学习它。该软件简单易上手,适合刚开始学习计量的本科生,如果作为硕士和博士还总是依靠Eviews,只能说明你比较保守。

缺点:

(1)Eviews很多东西都是封闭的,一般情况下你不知道它背后的机理,使用什么样的估计方法、判别准则等等。Eviews这一特点,外加很多人用Eviews都是使用默认设定,你有时可能意识不到自己的操作存在错误。

(2)Eviews无法有效保留你的工作记录,试想你做了一个复杂的模型,最后出来上百个各种各样的图形、方程等输出结果,让人眼花缭乱抓不住重点,而且三个月之后,当你再打开这个workfile时,你可能已经忘了当时是怎么做的,哪些结果是重要的,哪里的处理可以改进,哪里的步骤不够规范可能有错误等等,简直就是噩梦。

(3)虽然Eviews可以编程,但是我们完全没必要浪费时间去学,因为Eviews只是你在新手村遇到的老爷爷,试想就算郭靖把江南七怪的武功练到极致,又能翻出什么风浪来?。

优点:

(1)Eviews其实一直在与时俱进,近几版的Eviews甚至还包括面板协整,结构突变,BVAR,MSAR等一些比较“高大上”的计量方法,实乃“创造论文”之犀利工具。而且Eviews里面有个Add-ins选项,里面有一些可以加载的外部命令,包括门限向量自回归,STAR等等一些方法。

(2)Eviews在处理时间序列方面比较方便,特别是单位根检验比R,Stata等要方便很多,而且非常直观,适合对少量数据进行观察分析,但是Eviews处理面板数据很麻烦。

学习资料:

Eviews有一个上千页的帮助手册,最全面也最权威,不过是英文的,可以拿来做参照。陈灯塔老师的书可能是最高级的,不过大部分都是编程,感觉也没必要学。常见的就是张晓垌和高铁梅老师的书,任选一本了解即可。

推荐程度:

不推荐,编程基础较差的本科生可以学习下,其他人做一些简单了解即可。

3、Stata

小巧玲珑,功能强大的计量软件,几乎毫无无缺陷,如果收费不算缺陷的话。

缺点:

(1)没啥太明显的缺点,唯一的不足可能就是编程不方便,不适合做理论研究的人使用,这也是我最终放弃它的原因。各种gen,mat等等,这个奇怪的(`X’)引用方式,个人不太习惯使用其进行编程以及做模拟等,感觉太累了,有其他更优秀的选择,只好放弃它。

优点:

(1)优点很多,首先是功能全面吧。你能想到的主流的计量方法Stata里都有,当然有的是非官方命令,比如面板向量自回归,面板门限模型等。不过一些命令可能会变成官方的命令,作为商业软件,这种官方命令的好处是你做出来的结果是可靠的,如果出了问题,你可以找Stata公司投诉。

(2)界面非常友好,输出直观,而且点击图标或者输入edit可以很方便的查看你的数据。Stata的do-file已经工作日志可以有效地记录你的处理过程或者保存结果。你可以把你的每一步操作以命令的方式都记录在do-file里并添加注释,当你需要的时候,你可以很轻松的重复你之前的工作并找到重点。

(3)Stata的帮助文件非常强大,比如你只要输入help reg 就可以打开回归分析的帮助文件,里面包含命令的使用方法,注意事项,例子及参考文献等等,非常清晰全面,感觉是做得最好的帮助文件了(R语言和MATLAB的一些帮助手册写得太简略,Eviews的查看不方便)也可以打开ado file文件,直接查看各种命令的源码。

(4)Stata处理面板数据的功能很好很强大,整理数据到各种估计都很方便。Stata在应用微观计量的地位目前其他软件还难以撼动,该有的方法都有,操作又简单,真是人见人爱。

学习资料:

Stata的学习比Eviews复杂一些,因为它毕竟是敲命令为主(不要把敲命令等同于编程),如果你直接下载安装一个Stata软件可能用起来并不是很顺手,特别是新手没有设置好profile文档,也不知道怎么安装外部命令,可能会搞得一团糟让人泄气。个人推荐人大论坛连玉君老师的视频学习资料,另外陈强老师的高级计量及Stata应用(第二版)则是非常好用的书面资料,对计量和Stata的介绍都比较全面。也请关注王群勇老师的一些资料,这个也是Stata的大牛人物。卡梅伦的用Stata做微观计量配合Microeconometrics非常可口,还有汉密尔顿的用Stata做统计分析,陈传波的Stata18讲都是不错的资料。The Stata journal是一本很好的期刊,里面会介绍很多比较新的命令。

推荐程度:

如果是做微观计量的话,不管是理论还是应用都比较推荐,毕竟理论也可以学习下其他人编写的程序,当然理论不一定只局限于学Stata,再选一门适合编程的也很重要。Stata适合本硕博等各年级学生,虽然需要敲命令,但是很简单,上手时也不需要你掌握什么编程思维,有多强的计算机基础。做应用计量,特别经常用到面板数据的同学应该好好学习下,事半功倍的感觉。不过做理论的同学,了解下即可,毕竟其编程不是很方便。

4、R

强大,免费,包罗万象,你能想到和想不到的R里面都有。不过很多人吹过了,R让人爱不释手,但也不是万能的。

对于新手的缺点:

(1)不易上手。如果把R当成Stata来用,只是调用各种package是很简单的,但是如果你要去独立开发某些命令,R就不是很友好了。学习曲线类似于Logistic函数,真的用R去编程时不是很简单。而且学到中级计量的同学都会发现,计量书基本都是用矩阵写的了,各种推导几乎都是基于矩阵来的,R的矩阵运算虽然很强大,但是不够直观简洁。

(2)R里面命令基本都是用户编写的,因此水平参差不齐,不能保证所有的命令都是可靠的,而且有时候调用方法也比较混乱。

(3)很多人说和C比起来R比较慢什么的,恕我直言,如果R的速度跟不上你研究的需求了,那么这种人也不会纠结于选择什么软件了。所以,跟新手说什么运行速度,分布式计算等等概念的基本都是扯淡。

优点:

(1)优点真的太多了。R是统计界的亲儿子,统计计量不分家,所以你能想到的想不到的方法R里面都有,没事逛逛CRAN,看看The R journal,收获很大。

(2)优点太多,懒得写了。

学习资料:

Springer的R系列,很多都免费了,可以直接下载。学计量的可以Applied Econometrics with R入门,或者有本和伍德里奇计量经济学配套的Using R for introductory econometrics。R的资料真是太多了,还有R入门导论,R语言实战,R语言编程指南等一些介绍R的书,虽然和计量不是很挂钩,但是对提高R水平比较有帮助。

R是一门统计语言,所以不只计量经济学、经济学会用到。数据分析,机器学习等许许多多方面的问题都可以用R来解决,不过在这就不详细介绍了。可以去人大经济论坛找一下关于这些方面的帖子,会发现很多资料都是基于R语言的。

R的帮助文件也很强大,除了reference manual 还有vignettes,很容易就能上手。

推荐程度:

如果只能学一门软件,那么R肯定没错。学统计的不多说了R是必备的,学理论计量的话,R几乎也可以算作必备的,即使使用其他软件,但是对R也应该有所了解。学习应用计量的话,可以Stata为主,R为辅,也可以直接就用R,不过后者可能对没什么编程的经验的人很不友好,新手很容易在各种复杂的命令,操作中崩溃。另外,学习R请安装Rstudio,R-Gui实在不美观也不方便。

5、MATLAB

其实MATLAB在经济的使用范围很广,很多人不知道而已。

缺点:

(1)收费软件,比较昂贵。比较臃肿,特别是第一次启动,比较慢。

(2)各种自带的函数,用户编写的函数,老版的新版的太多了,让人记不过来,万一有重名的还很麻烦。

(3)MATLAB是一款科学计算软件,虽然它有经济工具箱,但是用起来不是很方便,而且输出结果很不美观。这么说吧,如果说R还能靠调用package当成Stata来用的话,在计量领域,MATLAB更加像一门编程语言,基本上什么都要你自己动手来做。

优点:

(1)语法简单,学过C的人上手较快。循环和矩阵运算等,很简洁直观,代码可读性很高。特别是需要各种矩阵运算的地方,代码写出来相对来说比较美观。

(2)应用范围比较广泛,因为语法和GAUSS也很像,所以计量方面有很多大牛在开发。比如Lesage的空间计量工具箱,牛津的MFE toolbox,Patton的Copula toolbox, Gary Koop的各种BVAR,TVP-VAR程序等等。而且MATLAB的m文件的特性,使得你可以很轻松的查阅别人的程序,然后不管是调用还是拿来借鉴都很方便。

(3)专门提一下,做DSGE的同学不可能不知道Dynare,既然用了Dynare,那么其他的问题也都用MATLAB解决掉了多方便。此外,还有一些其他的宏观经济研究在MATLAB里面都有很好的支持。

【量化投资前几年MATLAB挺流行的,现在不太清楚。这个话题我不想说太多,因为我不是业界人士,不敢多加点评,但我看C,MATLAB,Python,R都有人在用。机器学习的话也有人在用,比如MLAPP配套的不就是MATLAB工具箱吗。斯坦福的机器学习视频,配套的Octave基本算山寨MATLAB了吧。】

学习资料:

也是茫茫多资料,MATLAB的中文资料、视频特别多,虽然都是面向工科为主,但是很多算法优化、数值分析等方法都可以拿来借鉴。而且掌握了MATLAB的基本语法和所研究的问题后,直接看一些现成的代码学起来也很快。

推荐程度:

做宏观经济研究的应该掌握MATLAB。应用计量的人适当了解,有时候可能会需要用到别人编写的MATLAB程序。理论计量的话,如果你对R实在不感兴趣,可以学MATLAB,研究空间计量和贝叶斯计量的可能需要学习MATLAB。总之,跟着领域内的大牛走,主流走,不然自己一个人摸索很困难的,得不偿失。

6、其他

为什么写其他,因为我累了,虽然有点虎头蛇尾的感觉。

GAUSS,计量里的屠龙刀,不过现在用的人少了,感觉没必要专门去学习了,相应的资料也比较少,被MATLAB代替了吧。

Oxmetrics,小众软件,用的最多的可能都是在做MS-VAR,TVP-VAR。

SPSS,和Eviews差不多的软件,但以统计为主,输出结果又多又繁杂,个人不是很喜欢用这种傻瓜软件。

SAS,老大哥,稳准狠,就是太贵了也太大了,语法还算简单,但是不适合编程,和SPSS一样,输出又多又杂,特别麻烦。但是SAS处理大数据的能力很强,毕竟从硬盘直接调数据,不像Stata什么的,先把数据存在内存里。做数据分析的可能会用到,计量的话,感觉用处不大。

Python,被吹到天上的语言,只要有人问该学什么,必定会有人说Python,仿佛不学你就混不下去了。我觉得没必要过分神话Python,虽然它功能也很强大。但目前来看,其在经济学上的应用还有待开发。虽然有Sargent等大牛在推广Python在经济领域的应用,但是麻烦先和R语言PKPK,自己的3.X和2.X PKPK再说其他的吧。可以学习下用Python来爬虫,现在很多前沿研究都在利用从网络、报纸等媒介获得的大数据信息,然后进行相应处理和研究,而使用Python可以很方便的做到这一点。个人认为,有志于走向前沿的人,可以学习下Python,但现阶段应该配合一款其他的软件一起使用。Python的IDE不是很方便,推荐安装Anaconda。个人实在不习惯numpy和scipy的调用,np.xxx什么的感觉比较麻烦,因此对Python又爱又恨,暂时进入观望状态,不再深入研究。

C,C++,Fortran,Java,这绝对不是初学者该深入研究的语言,如果有一天你面临速度问题,或者程序十分复杂的时候,请再进行相应研究。本人只稍微学了些C,有时看代码会用到,但目前研究还没有到非C不可的地步(和学科有关,计算机大佬们轻喷)。

Julia,新兴的一门小众语言,正在观望之中,语法和MATLAB非常类似,速度也比较快。请去Julia官网或者Sargent的网页上去看,顺路,百度Julia的时候确保周围没人。

OCTAVE/SCILAB,MATLAB的替代品,免费软件,国内的同学可能不用为MATLAB收费的问题发愁,所以学这俩不如学MATLAB。

此外还有AMOS,GeoDA,deap等软件做SEM,空间计量,DEA测算等问题,但是R和MATLAB等都有相应替代品。

BUGS和WINBUG,做贝叶斯的同学可能会用到,但是R和MATLAB可以替代,而且建议深入研究的人学习R或者MATLAB,毕竟自己编程的过程也是巩固知识的过程。

7、结语

实在是累了,懒得写了,总之就是请选用自己领域内的主流软件,结合导师的建议,有人带着可以少走很多弯路的。实在不知道学啥,建议从1-4里面选择学习,软件都是触类旁通,一门软件精通了,上手其他的也很快。学软件没规定只能学一门,可以适当多学一些,平时哪个方便用哪个,但是如果想走得更远,后期一定要掌握一门能编程的软件(R,MATLAB,Python,C中的一种,不要纠结软件和语言的区别了,对于非计算机专业都差不多)。

最后感谢学术大神给的指导建议,在此小编代表计量经济学所有粉丝,向其道一声感谢,只有你们的热情关注,才是我更新的动力。也谢谢计量粉的不离不弃。祝大家在学术上走的越来越远,学业顺利,爱情顺利,天天被导师夸。