为什么要用R

计量经济学作为经济大类下一门非常实用的学科有很强的实践意义。尽管内容庞杂但基本的指导思想却很简单,因此通过一门统计编程语言学习、掌握计量经济学有很大的益处。

目前,市面上已经有多款统计编程语言和统计软件,实证分析领域中STATA始终坐稳第一把交椅,相关的书籍与课程也汗牛充栋。(陈强 2015)(赵西亮 2017)但STATA毕竟是一个在学术圈范围内比较热门的商业软件,在未来可迁移至工作中的效率便不是很高,同时STATA在处理一些复杂的数据或时间序列时,软件的限制也会导致工作效率的下降。而R语言在此类问题上便有较大的优势,在处理高频时间序列时其效率便远高于STATA,对于大数据操作而言,也不会受到STATA不同发行版本的限制。

随着RStudio的发布以及Rmarkdown的开发日趋成熟,利用R进行可复用,甚至整合数据操作与文章写作变成了可能,本文也是利用Rmarkdown完成的教学参考资料,其数据操作与统计分析皆在Rmarkdown中完成。

考虑到上述的优点,笔者认为利用R语言学习计量经济学是一种效率高、回报高的学习过程。本文主要关注R语言在计量经济学中的应用,以及在数据挖掘中的应用(如果以后想写的话),因此对于R语言本身的特性不做系统性展开,但会在需要的时候进行适当的解释与说明。

回归:计量经济学的灵魂

我发现空手道不是掌握那4000个动作就能学好的。想要学好它,关键在于你能不能把那些基本动作不断反复地操练4000遍。

对于计量经济学而言,这个“基本动作”有两种普遍的观点。第一种是由(Angrist and Pischke 2014) 主推的随机试验方法, 第二种则是大部分计量经济学教材中采用的,将线性回归作为计量经济学的基础。从实用性的角度来说,线性回归是非常优秀的解释方案,而随机试验与匹配统计则显得挖掘的太过深入,不适合作为本文的逻辑起点。

不要问,问就是做个回归

为什么线性回归那么受人喜爱,最主要的原因在于线性回归的可解释性是目前为止最直观,最清晰的。另一方面,线性回归的解决方案到目前为止也是最清晰、最简明的方案。不妨考虑劳动经济学的经典案例,即教育水平对工资的影响(Wooldridge 2016):

在理想状态下(即满足了线性回归的假设条件后),系数\beta_1可以解释为每增加1年教育,工资的增量。但现实状态下,工资显然不仅仅受到教育年限的影响,这时候线性回归的另一个优势就显现了出来,即线性回归的系数\beta_1(在理想状态下)代表了在控制了其他因素不变的情况下,对于工资的影响。其理论推导也很简单,不妨引入另一个会对工资产生影响的变量,工作年限workingAge,上述方程即变为

此时,系数beta1代表了教育年限的边际影响,不受到工作年限的影响,即有:

如何估计线性回归的系数?目前最通用、最优的方案依然还是最小二乘法(OLS)。(陈强 2015)

牛刀小试,我们做个回归

针对上述讨论的内容,通过R语言便可以很容易实现。对R语言而言,完成一个统计回归一般分为以下3步:

  1. 导入数据
  2. 清洗数据
  3. 做个回归

这个例子中并不涉及清洗数据,因此只需要导入数据即可。

library(haven) #read_dta使用了haven包,因此需要导入haven#导入数据,数据来源为伍德里奇《计量经济学导论-现代观点》中的数据集WAGE1 "WAGE1.DTA",sep = ""))

完成数据导入后,由于本节不涉及清洗数据,因此直接对方程进行回归。

wage_LM #回归方程命令summary(wage_LM) #回归结果
#### Call:## lm(formula = wage ~ educ + exper, data = WAGE1)#### Residuals:##     Min      1Q  Median      3Q     Max## -5.5532 -1.9801 -0.7071  1.2030 15.8370#### Coefficients:##             Estimate Std. Error t value Pr(>|t|)## (Intercept) -3.39054    0.76657  -4.423 1.18e-05 ***## educ         0.64427    0.05381  11.974  < 2e-16 ***## exper        0.07010    0.01098   6.385 3.78e-10 ***## ---## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 3.257 on 523 degrees of freedom## Multiple R-squared:  0.2252, Adjusted R-squared:  0.2222## F-statistic: 75.99 on 2 and 523 DF,  p-value: < 2.2e-16

到这一步为止,我们已经完成了一次回归,但有两个亟待解决的问题。

  1. 回归结果很难看,不直观
  2. 上述情况下都是理想状态,那么什么是不理想状态?

第一个问题很容易解决,可以通过引入其他美化输出结果的工具解决。第二个问题则留到下一节进行分析。

library(stargazer) #引入stargazer包,类似于STATA中的outreg2stargazer(wage_LM, title = "线性回归结果",          header = F, type = "latex")

什么是不理想状态?

一般来说,不理想状态有四种状态,其中内生性由于可以单独成册、且与最小二乘法无本质联系故按下不表,其他三个与最小二乘法密切相关。这三个分别是:

  1. 共线性
  2. 自相关
  3. 异方差

共线性

共线性是所有不理想状态中影响最低的一个因素,一般来说,只要变量之间不存在完全的共线性,即对于变量x1与x2而言,只要x1=a+b x2不严格成立,即可以避免完全共线性的影响。

自相关

自相关往往伴随着两种情况出现。第一种情况是时间序列中的自相关,举例来说,今天的股票价格变动很可能和昨天的股票价格变动有关系。这种自相关是时间序列中要解决的一大问题,一般通过滞后项解决。第二种情况是空间溢出中的自相关,举例来说,上海地区的房价本身就会存在相关性。这种自相关直接导致了空间计量经济学(Spatial Econometrics)的诞生,但也可以通过其他的方式,如增加控制变量解决。一般来说,当自相关出现时除了上述的两个解决方案以外,还可以通过聚类稳健标准误的方法解决。

异方差

异方差的分析在初级计量经济学中占据了大量篇幅,之所以如此,是因为异方差出现会导致对系数检验的统计量失效,即导致了后续置信度的变化。如果单纯只是关心系数,那么异方差并不会影响结果,得出的系数依然无偏估计量。异方差直观来说,便是扰动项方差不再是一个常数,而是依赖于i。定性来说,同方差条件下,残差基本是随机的;异方差条件下,残差则会出现明显的函数特性。

对于上文回归的结果,同样可以通过作图的方式定性地看其是否符合同方差假设。从图中不难发现,上文回归的结果还是存在异方差的情况。

plot(wage_LM, which = 1)

对于异方差的解决则存在多种方法。从理论的角度来看,广义最小二乘法(GLS)才是BLUE(最优线性无偏统计量)。但从实操的角度来看,这个方法可能并不经济。之所以说其不经济的原因在于通过最小二乘法获得的结果是无偏的,只是其检验统计量无效,因此更换统计检验量便可以解决该问题。目前,做实证分析的数据往往已经有充足的数据量,因此直接采用稳健标准误(Eicker 1967)修正统计量的有效性即可。

经典:电力部门的规模报酬

每每写到实证论文部分,尤其是利用最小二乘法的文章,Nerlove(1961)是一篇完全无法回避的经典文章,这篇文章也成为了诸多计量经济学教材中必定录取的参考文献。(Nerlove 1963)(Wooldridge 2016)(Hayashi 2000) 这篇文章想要度量的是美国电力供应行业规模报酬效应(Nerlove 1963),对应的产出范围又是多少。由于本文十分经典,其数据集也已经成为了公开数据集,可以直接在R内引用。

psych::describe(nerlove)[,c("n","mean","sd","median","min","max")]

n

mean

sd

median

min

max

tc 145 12.9760965 19.7945767 6.7540002 0.0820000 1.394220e+02
q 145 2133.0827586 2931.9421310 1109.0000000 2.0000000 1.671900e+04
pl 145 1.9765517 0.2300404 2.0000000 1.5000000 2.300000e+00
pf 145 26.1765517 7.8760714 26.8999996 10.3000002 4.280000e+01
pk 145 174.4965517 18.2094771 170.0000000 138.0000000 2.330000e+02
lntc 145 1.7246633 1.4217234 1.9101349 -2.5010359 4.937505e+00
lnq 145 6.5566511 1.9127924 7.0112138 0.6931472 9.724301e+00
lnpf 145 3.2088584 0.3589002 3.2921262 2.3321440 3.756538e+00
lnpk 145 5.1567768 0.1003898 5.1357985 4.9272537 5.451038e+00
lnpl 145 0.6743732 0.1197522 0.6931472 0.4054651 8.329091e-01

1-10 of 10 rows

数据中,tc为总成本,q为产出数量,pl为劳动价格,pf为燃油价格,pk为资本价格。在估计的过程中,Nerlove从Cobb-Douglas产出函数开始设定模型。

模型中,Q代表了i公司的产出,L代表了i公司的劳动投入,K代表了i公司的资本投入,F代表了i公司为了发电投入的燃油。A则代表了不同公司的不可观察的产出效率。方程 衡量了规模效应。由于电力部门的产出即为需求,因此电力部门的收益最大化即成本最小化,可以概述为以下的优化条件:

于是对于公司i而言,其Cobb-Douglas成本函数便为:

minLiKiFiTCi=pilLi+pikKi+pifFis.t.AiLiα1Kiα2Fiα3=Qi" role="presentation" style=" box-sizing: border-box; line-height: normal; font-size: 14px; word-spacing: normal; overflow-wrap: normal; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border-width: 0px; border-style: initial; border-color: initial; display: table-cell !important; width: 10000em !important; text-align: left; ">利用自然对数函数的特征,便可以将上述函数变为线性函数。

在设定了模型之后,便是对最小二乘法的适用性展开讨论。这也是本文之所以作为经典论文最主要的原因。

  1. 线性假设:模型形式已经可以说明满足线性假设
  2. 随机抽样:没有理由怀疑这条不满足
  3. 不存在完全共线性:这条也是显然的,否则无法回归
  4. 条件均值为0:这是本文的核心亮点,作者从电力行业的特征入手。一方面,对于投入而言,由于要素价格与公司效率是无关的,因此可以假定要素价格与e_i是独立的。另一方面对于产出而言,电力行业的产出等于需求,而产出价格是由utility commission决定的,根据行业管制的要求来看,这也是与公司效率相独立的。因此可以认为满足零条件均值假设。
  5. 同方差性:这条其实不满足,但并不影响系数估计,可以看下文的处理。
library(zoo)library(lmtest)library(sandwich)base_reg print(summary(base_reg))
#### Call:## lm(formula = lntc ~ lnq + lnpl + lnpk + lnpf, data = nerlove)#### Residuals:##      Min       1Q   Median       3Q      Max## -0.97203 -0.23377 -0.01091  0.16185  1.80985#### Coefficients:##             Estimate Std. Error t value Pr(>|t|)## (Intercept) -3.56651    1.77938  -2.004    0.047 *## lnq          0.72091    0.01743  41.352  < 2e-16 ***## lnpl         0.45596    0.29980   1.521    0.131## lnpk        -0.21515    0.33983  -0.633    0.528## lnpf         0.42581    0.10032   4.244 3.97e-05 ***## ---## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 0.3923 on 140 degrees of freedom## Multiple R-squared:  0.926,  Adjusted R-squared:  0.9239## F-statistic: 437.9 on 4 and 140 DF,  p-value: < 2.2e-16

上面是直接回归得到的结果,为了检验是否满足同方差假设条件,不妨从图示入手。从图中容易发现,残差项的确无法满足同方差条件,而是呈现出了二次函数的状态。

plot(base_reg, which = 1)

为此,进一步考虑采用稳健统计量进行处理。容易发现,通过稳健统计量进行处理后,估计的系数的确没有变化,而是t统计量产生了差异。

Nerlove也正是通过对最小二乘法中高斯马尔科夫定理成立的五大条件的细致论述,将他的论文流芳百世。对于论文作者而言,Nerlove(1963)最重要的启示是通过产业或研究的数据集的实际情况对计量模型适用性进行分析,分析的过程越充分,那么结果也就越具备说服力,也就可以发更好的期刊。同样细致分析模型的文章还有白重恩(2012)对遗漏变量的解释(白重恩, 李宏彬, and 吴斌珍 2012),未来在分析面板数据模型的时候,也会讲到这篇文章。

结语

本文回顾了计量经济学中最基础的线性回归与最小二乘法,并通过Nerlove(1963)的经典论文大致阐述了一篇优秀的所需要具备的基本条件。通过本文,读者应当能够利用R语言在借助优质的数据集,通过最小二乘法完成一篇相关的计量文章复现。

参考文献

  1. Angrist, Joshua D., and Jörn-Steffen Pischke. 2014. Mastering’metrics: The Path from Cause to Effect. Princeton University Press.
  2. Eicker, Friedhelm. 1967. “Limit Theorems for Regressions with Unequal and Dependent Errors.” In Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability, 1:59–82. 1. Berkeley, CA: University of California Press.
  3. Hayashi, Fumio. 2000. “Econometrics. 2000.” Princeton University Press. Section 1: 60–69.
  4. Nerlove, Marc. 1963. “Returns to Scale in Electricity Supply. En ‘Measurement in Economics-Studies in Mathematical Economics and Econometrics in Memory of Yehuda Grunfeld’, Edited by Carl F. Christ.” Stanford University. Press.
  5. Wooldridge, Jeffrey M. 2016. Introductory Econometrics: A Modern Approach. Sixth edition. Boston, MA: Cengage Learning.
  6. 白重恩, 李宏彬, and 吴斌珍. 2012. “医疗保险与消费: 来自新型农村合作医疗的证据.” 经济研究 2: 41–53.
  7. 赵西亮. 2017. 基本有用的计量经济学. 北京大学出版社.
  8. 陈强. 2015. 计量经济学及Stata应用. 北京: 高等教育出版社.

matlab 最小二乘法拟合_计量与论文串讲:最小二乘法相关推荐

  1. matlab 最小二乘法拟合_实例分析,如何用最小二乘法做线性回归?

    最小二乘法是一种通过数值对曲线函数拟合的一种统计学方法,这里的最小是拟合误差达到最小.我们可以根据拟合后的函数可以做一些预测或预报.它在数字信号处理.机器学习等领域广泛的应用.本文W君将和大家一起学习 ...

  2. 数学建模最小二乘法拟合_从寻找谷神星的过程,谈最小二乘法实现多项式拟合...

    科学史上众星云集,璨若星河.这些牛人基本上都是天才,但也不乏无名之辈凭借匪夷所思.骇世惊俗的猜想而跻身于巨星之列.比如,门捷列夫,整了一张留空的元素周期表,引得全世界的化学家去做填空题.还有一位德国的 ...

  3. 【视频理解】论文串讲

    视频理解论文串讲 2020-视频理解综述-A Comprehensive Study of Deep Video Action Recognition 2014-CVPR-Large-scale Vi ...

  4. 文章阅读总结:视频理解论文串讲(Li Mu+ Yi zhu)

    文章目录 视频理解论文串讲(文章末尾有多数文章的地址) 1. Hand-Craft ===> CNN : DeepVideo 2. Two-Stream 2.1 2014_Two stream ...

  5. matlab 最小二乘法拟合_机器学习十大经典算法之最小二乘法

    点击上方"计算机视觉cv"即可"进入公众号" 重磅干货第一时间送达 最小二乘法概述 最小二乘法(又称最小平方法)是一种数学优化技术.它通过最小化误差的平方和寻找 ...

  6. matlab 最小二乘法拟合_高中数学:最小二乘法与线性回归方程

    1.怎样的拟合直线最好?--与所有点都近,即与所有点的距离之和最小. 最小二乘法可以帮助我们在进行线性拟合时,如何选择"最好"的直线.要注意的是,利用实验数据进行拟合时,所用数据的 ...

  7. 【论文串讲】从GPT和BERT到XLNet

    " 本文是本专栏即将发表的文本预训练系列里面的一个章节,主要讲了XLNet的思路和具体实现细节,之所以叫XLNet是因为它以Transformer- XL为基础.XLNet是一种广义的自回归 ...

  8. 100篇论文串讲对话系统前世今生

    不可以不可以,都在忙着过年呢,小夕怎么能推这种文章呢╮(╯▽╰)╭ 话说,大年初一你萌怎么能戳进来这种文章!快,赶紧承认你是卖萌屋的真爱粉( ̄∇ ̄)- 小屋今天不卖干货,只送祝福哦-(。・ω・。)ノ♡ ...

  9. c++ 三次多项式拟合_从寻找谷神星的过程,谈最小二乘法实现多项式拟合

    科学史上众星云集,璨若星河.这些牛人基本上都是天才,但也不乏无名之辈凭借匪夷所思.骇世惊俗的猜想而跻身于巨星之列.比如,门捷列夫,整了一张留空的元素周期表,引得全世界的化学家去做填空题.还有一位德国的 ...

最新文章

  1. python爬虫 -- 正则表达式 与 Re模块的介绍
  2. HDU - 5335 Walk Out(bfs+路径输出+贪心)
  3. PHP中常用加解密方式
  4. mac os x 10.8 安装python-mysqldb
  5. 三人抢答器逻辑电路图_数字电路3人抢答器实验报告.doc
  6. c语言中如何输出字节数组,C语言中数组所占字节怎么算
  7. 【游戏开发实战】重温红白机经典FC游戏,顺便教你快速搭建2D游戏关卡(Tilemap | 场景 | 地图)
  8. ajax回调函数运用(由前端到后端代码全过程)
  9. python爬取固定酒店评论_爬取携程上酒店评论数据
  10. 2022-2027年中国安全仪表系统(SIS)行业发展监测及投资战略研究报告
  11. ssh-keygen 常用命令与参数
  12. 官方发布!PMP证书正式纳入【北京市工作居住证】办理范围!
  13. IDEA2022 配置spark开发环境
  14. 中国IPv6千万不要“起大早,赶晚集”
  15. 如何制作地图符号的实验报告
  16. 2018杭州应届生php起薪,2018应届毕业生起薪排名出炉,这个专业起薪最高!
  17. 【C语言编程】 大小写字母互换
  18. 初学用python写爬虫, 这里分享给大家一段爬取百度贴吧的代码(用面向对象的思想写的),请各位大佬们指点迷津
  19. Windows2008R2 打补丁后重启,系统无法正常启动
  20. adms软件linux,[2012-01-08][软件][Mentor Graphics][AMS 2011 for linux 32bit]已更新

热门文章

  1. gitchat 会员值得买么_小米雷军亲自站台,599元的星特朗天文望远镜值得买么?...
  2. 16年蓝桥杯省赛-方格填数(dfs+回溯)
  3. Numbers on the Chessboard
  4. 十进制转二进制转换c语言程序,c语言编程如何实现-十进制数转换成二进制和 – 手机爱问...
  5. delete from表名和truncate table 表名的区别
  6. 计算机入门模拟试题abcd,计算机一级计算机基础及WPSOffice应用考前模拟试题及答案(7)...
  7. python多进程内存共享_python 归纳 (二十)_多进程数据共享和同步_共享内存Value Array...
  8. 深度学习之生成对抗网络(2)GAN原理
  9. db2 删除存储过程_数据库教程-SQL Server存储过程使用及异常处理
  10. 全网最简单明了的MySQL连接Eclipse方法(JDBC详细安装方式及简单操作)2020新版