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

6142d78f63c314cc5446771974775085.png

为什么要用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):

6f2f09d3f24938afc8bc43d6fa3bc426.png

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

2ada99eb72b029928cc2077093b96542.png

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

dcf0503e388629c0bb57a0602d05e730.png

如何估计线性回归的系数?目前最通用、最优的方案依然还是最小二乘法(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中的outreg2
stargazer(wage_LM, title = "线性回归结果",
header = F, type = "latex")

什么是不理想状态?

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

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

共线性

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

自相关

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

异方差

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

41ed011c0b65affac1069c70e48c8dda.png

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

plot(wage_LM, which = 1)

0b02e61dae2fd1fdb4be9555af31f9a9.png

对于异方差的解决则存在多种方法。从理论的角度来看,广义最小二乘法(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

tc14512.976096519.79457676.75400020.08200001.394220e+02
q1452133.08275862931.94213101109.00000002.00000001.671900e+04
pl1451.97655170.23004042.00000001.50000002.300000e+00
pf14526.17655177.876071426.899999610.30000024.280000e+01
pk145174.496551718.2094771170.0000000138.00000002.330000e+02
lntc1451.72466331.42172341.9101349-2.50103594.937505e+00
lnq1456.55665111.91279247.01121380.69314729.724301e+00
lnpf1453.20885840.35890023.29212622.33214403.756538e+00
lnpk1455.15677680.10038985.13579854.92725375.451038e+00
lnpl1450.67437320.11975220.69314720.40546518.329091e-01

1-10 of 10 rows

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

e5af5a0d3b2ee59e87aae12520504c2b.png

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

cafd6ae093047f86581368986cd2c7a8.png

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

0efeef35dd5b7e809bc8efc45deab893.png

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; ">利用自然对数函数的特征,便可以将上述函数变为线性函数。

944acf6edb06307c959e54f86644c500.png

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

  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)

062e7f23572db4fa3a0dc056c4801f6e.png

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

83c6d1cea60455ad5c63222a8328b375.png

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应用. 北京: 高等教育出版社.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/246066.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ZoomBlur 聚焦模糊效果Shader(URP)

修改自这篇文章【Unity】UniversalRPでカスタムポストプロセスを作る【ZoomBlur】 - Qiita 1. VolumeEditor&#xff0c;用于在UnityVolume中控制自己写的后处理效果 using UnityEngine; using UnityEngine.Rendering; using UnityEngine.Rendering.Universal;[System.Seriali…

魅蓝s6启动android密码_魅蓝s6怎么恢复出厂设置?忘记密码怎么办

魅蓝s6怎么恢复出厂设置&#xff1f;忘记密码怎么办&#xff1f;手机是现代生活必不可少的工具之一&#xff0c;在使用时我们常常会忘记手机密码。本次就给大家介绍手机密码忘了怎么恢复出厂设置&#xff0c;快来看看吧。我们知道手机恢复出厂设置的注意事项最重要的就是做好手…

漫游飞行_魔兽世界:德拉诺时光周 冲声望解锁德拉诺飞行好时机

虽然德拉诺飞行开放已经是6.22版本的事情了&#xff0c;但是目前还是有些玩家还没有解锁。但是本周德拉诺时光周的开放&#xff0c;获取德拉诺飞行声望将会更加简单。德拉诺飞行声望德拉诺飞行解锁需要先知之手(部落是沃金之锋)、觉醒教派和刃牙追猎者三个声望达到崇敬。而在本…

python怎么解释语言_python是解释型语言吗

Python 是解释型的语言吗&#xff1f;它会被编译吗&#xff1f; 这个问题没有想象中那么好回答。和很多人认识世界一样&#xff0c;习惯以一个简单的模型去评判一些事物。而事实上&#xff0c;里面包含了很多很多的细节。通常的说法&#xff0c;编译代表着将一个高级语言转化为…

第一次失效_神兵小将:净化之力失效地魔兵兽,全靠特殊办法,铁心方式真霸气...

神兵小将&#xff1a;净化之力失效地魔兵兽&#xff0c;全靠特殊办法&#xff0c;铁心方式真霸气。在经典动漫神兵小将中&#xff0c;魔兵兽在漫迷眼中属于比较特殊的存在&#xff0c;很多人气指数超高的神兵兽被魔化后却成为阻碍问天前进的高山。因此魔兵兽在很大意义上讲也是…

Python 每日定时查询数据库生成Excel报表,并群发邮件

最近在做游戏打点数据的一些统计处理&#xff0c;写了个Python脚本完成每日定时自动查询生成Excel报表并群发邮件的小功能。 拆解几个需求点&#xff1a; 一.连接数据库并查询 以下是一个查询总注册人数的示例代码&#xff0c;host port db user password等填入自己数据库的…

com口驱动_Ubuntu 安装Nvidia显卡驱动指南

该文档适用于&#xff1a; Ubuntu 14/16/18 三个版本。Nvidia显卡驱动适用于&#xff1a;RTX2080TI/RTX2080/RTX2070/GTX1080TI/GTX1080/GTX1070以及更低级别显卡。本文档旨在帮助大家解决安装Nvidia显卡遇到的常见问题。Nvidia驱动下载地址&#xff1a;https://www.geforce.co…

Unity URP中根据深度重建世界坐标

通过深度值重建世界坐标&#xff0c;可以做出很多有意思的后处理效果&#xff0c;先实现下度值重建世界坐标这个功能。 一.验证重建效果 首先&#xff0c;得先找到一种证明反推回世界空间位置正确的方法。在相机前摆放几个物体&#xff0c;尽量使之在世界坐标下的位置小于1&a…

dubbo yml配置_Spring boot 的profile功能如何实现多环境配置自动切换

通常服务端应用开发需要经过以下几个流程&#xff1a;开发 -> 测试 -> RC验证 -> 上线这就涉及到四个不同的环境&#xff0c;开发环境、测试环境、RC环境以及生产环境&#xff0c;为了避免不同环境之间相互干扰&#xff0c;通常需要独立部署数据库、缓存服务器等&…

Unity中的SystemInfo.deviceUniqueIdentifier 唯一ID

做游戏时可能经常使用SystemInfo.deviceUniqueIdentifier作为用户的唯一ID进行注册登录&#xff0c; 但是你会发现从谷歌商店上下载的自己游戏&#xff0c;和自己从Unity工程中直接打包出来的游戏账号竟然是不一致的&#xff01; 这个坑还是很坑爹的&#xff0c;纠其原因是Sy…

sketchup生成面域插件_独家教程 | 快速抓取“高精准”场地信息,康石石教你生成不同“体量”地形...

无论建筑设计还是景观设计&#xff0c;同学们的设计项目都必须依托于场地来进行&#xff0c;通过分析场地的区位范围、地形地势&#xff0c;结合场地的局限性与可能性&#xff0c;才能进一步展开项目设计。可以说&#xff0c;获取场地信息是同学们在作品集创作中最重要的环节之…

Unity URP高度雾效果Shader

实现原理 见这篇文章Unity Shader-深度相关知识总结与效果实现&#xff08;LinearDepth&#xff0c;Reverse Z&#xff0c;世界坐标重建&#xff0c;软粒子&#xff0c;高度雾&#xff0c;运动模糊&#xff0c;扫描线效果&#xff09;_puppet_master的专栏-CSDN博客_shader深度…

无限重启_三星蓝光播放器出现无限自动重启BUG,涉及不少用户及不同型号

三星的蓝光播放器似乎遇到了一个挺严重的BUG&#xff0c;使得不少用户都开机后播放器会自动不停重启。从reddit、ZDNet以及三星技术支持论坛上面的情况来看&#xff0c;这次的问题波及不同型号的播放器&#xff0c;大部分用户遇到的问题都是不停重启。其中一位用户表示:“开机之…

python getattr_Python 内置方法和属性应用:反射和单例

1. 前言python除了丰富的第三方库外&#xff0c;本身也提供了一些内在的方法和底层的一些属性&#xff0c;大家比较常用的如dict、list、set、min、max、range、sorted等。笔者最近在做项目框架时涉及到一些不是很常用的方法和属性&#xff0c;在本文中和大家做下分享。2. 内置…

Unity URP世界空间后处理扫描圈效果Shader

实现原理 见这篇文章Unity Shader-深度相关知识总结与效果实现&#xff08;LinearDepth&#xff0c;Reverse Z&#xff0c;世界坐标重建&#xff0c;软粒子&#xff0c;高度雾&#xff0c;运动模糊&#xff0c;扫描线效果&#xff09;_puppet_master的专栏-CSDN博客_shader深度…

前端 重构时需要注意的事项_前端数据层落地实践

源宝导读&#xff1a;天际移动平台经过重构改版&#xff0c;近期正式发布了1.0版本&#xff0c;我们在低代码开发方面做了进一步增强。本文主要围绕前端Model、前端业务逻辑(领域模型)、数据层与视图层解耦(包装器模式)3个方面&#xff0c;给大家分享一下统一数据层方案的设计思…

postconstruct_@PostConstruct注解,你该好好看看

在最近的工作中&#xff0c;get到一个很实用的注解&#xff0c;分享给诸位。痛点做过微信或支付宝支付的童鞋&#xff0c;可能遇到过这种问题&#xff0c;就是填写支付结果回调&#xff0c;就是在支付成功之后&#xff0c;支付宝要根据我们给的地址给我们进行通知&#xff0c;通…

Unity URP运动模糊效果Shader

实现原理 见这篇文章Unity Shader-深度相关知识总结与效果实现&#xff08;LinearDepth&#xff0c;Reverse Z&#xff0c;世界坐标重建&#xff0c;软粒子&#xff0c;高度雾&#xff0c;运动模糊&#xff0c;扫描线效果&#xff09;_puppet_master的专栏-CSDN博客_shader深度…

线性系统的频率响应分析实验报告_动态系统的建模与分析

参考&#xff1a;DR_CAN1.介绍解决一个控制系统的问题&#xff1a;对研究对象进行分析控制器设计测试分析被控对象的物理特性及动态表现&#xff0c;在这个基础上建立数学模型&#xff0c;数学模型可以是动力学模型、热力学模型、流体力学模型和经济学模型等&#xff0c;然后在…

android 生命周期_Android生命周期组件 Lifecycle 源码详解(一)

在上篇文章&#xff1a;warmcheng&#xff1a;Android生命周期组件 Lifecycle 使用详解​zhuanlan.zhihu.com中&#xff0c;我们讲了 Lifecycle 的简单使用&#xff0c;本篇我们来研究下它的源码。 基础环境搭建首先&#xff0c;按照上篇文章所讲&#xff0c;快速搭建环境。添加…