回归分析是传统的研究变量关系很重要的一种方式,特别是在机器学习和深度学习兴起之前,回归分析基本就是探究变量关系之间的主要方式。线性回归又是回归分析中很重要的一种方式,由于其模型的简单性和有效性,线性回归分析在回归分析中始终扮演极其重要的角色。

线性回归分析在实际使用中,虽然简单有效,但是使用者往往很容易因为没有充分认识到线性回归模型的局限性和注意点而误用,导致得到很多不准确甚至相反的结论,因此本文将总结几点线性回归模型中的主要的局限性和注意点。

1、线性模型,顾名思义,其只能捕捉变量之间的线性关系,对于一些非线性的特别是层级结构,其无能为力;因此,对于线性模型的使用,要预先对变量的特点有一个大概的了解,不能万事皆线性,数据一丢,回归一跑就完事,这是容易犯错的。通常情况下,线性模型可以捕捉到变量之间的线性关系,但是如果变量之间存在某种非线性函数关系,且预期函数是连续可微的,那么根据泰勒定理,该函数可以用多项式函数逼近,特别的,只要自变量变化够小,我们可以用线性模型去近似,这一点给我们对于线性模型的使用提供了一定的信心,特别是在高频交易领域,对于信号的建模,线性模型往往是更简单有效的。但是如果是对于一些自变量和因变量之间具有强烈的层级结构关系的情况,这时线性模型并不能较好的对其建模,这时使用机器学习中的其他方法建模往往具有更好的效果。所以,预先对变量的特点和变量之间的关系有大概的了解,然后选择合适的模型去建模估计参数是很重要的。

2、我们建模的意义在于预测,在于对某种现象提供未来的参考意义,所以,一个模型在未来有效是建模的基本前提,不然模型将失去意义。那么在线性回归中,将如何保证,或者说在哪里体现出模型的未来有效性呢?一般在教科书中,对于时序数据,会要求变量的序列至少是平稳的,这里要求其平稳的意义就在于保证模型的未来有效性(在协整概念中,不要求序列平稳,但是应该存在协整关系,这里的协整关系也是一种对模型未来有效性的保证)。如果序列是平稳的,那么该模型就具有未来意义,可以保证当下估计的得到的模型,即当下得到的变量之间的关系在未来一定时间内是稳定的;如果序列不平稳,那么利用历史数据得到的模型就无法进行预测,因此,在建模时,我们总需要一些基本假设,默认这些假设在未来依然成立,那么模型得到的关系在未来才会成立,才能具有预测意义。但是在预期平稳性时,我们往往不会预期序列一直平稳,很多时候,有些变量序列会因为大环境的变化发生某种持久的改变,这时就需要进行重新估计模型,重新估计参数,所以我们一般只预期变量在未来一段时间平稳,模型只在未来一段有效,所以需要不断的调整模型,重新估计,调整参数。所以对于历史数据,当我们预期历史某些时点发生了一些可能改变变量特性的事件,也应该以该时点进行分化,进行分步回归,而不是放在一个回归之中。当然,有时如果我们可以预先知道变量系数和某些变量的关系,即使变量不平稳,那么我们也可以通过在模型中刻画这种具有时变性的特征进行估计,只不过这时模型严格来说不再是线性的,而是一种变形。总而言之,平稳性保证系数稳定,保证预测能力,时变形导致系数发生变化,可通过分步回归解决,或者使用新的具有时变特性的模型重新建模。

3、R方是一个相对重要的衡量模型合适度的指标。R方是估计项的方差和真实项因变量方差的比值,R方越大,说明该模型越能解释因变量的变化,即该模型是越合适的。在不预先设定随机项分布的前提下,一般用最小二乘去估计模型的参数,在最小二乘方式下,如果自变量和其他解释变量数据不变,那么当新增一个解释变量后,R方几乎都是增加的,至少不会降低,这个从最小二乘的原理可以很容易的推导出来。所以通过R方直接对比不同模型的解释力是不合适的,如果直接通过R方对比,则应该控制变量个数,这也是在忽略数据层面的差异的前提下,对此,引出调整R方,其在定义误差项相变化比于总体因变量变化的比值时,考虑了自由度,考虑了变量个数,从而可以相对解决该问题,因此对于多元回归分析,在对比模型的解释力时,应该看调整R方,而不是R方。此外,只要自变量个数够多,那么R方总是可以够大,即因变量的变化总是可以通过增加解释变量的个数来被解释,但要注意的是,这种被解释只是在样本数据层面经由这种估计方法而呈现出来的一种数字结果,这是数学上的必然性结果;不断的增加自变量个数,相当于随机向量空间的维度不断增加,那么新增维度总是可以在生成新的估计向量时提供减小误差的帮助,最坏不过是该新增维度的系数为0,这样结果总是不会更差。所以盲目的新增解释变量,新增维度,会把随机项的维度也给部分覆盖掉,即把噪声也进行建模,这就造成了所谓的过拟合。过拟合的模型自然就是在样本内,因为数字游戏,使得因变量被解释的很好,R方很大,甚至接近1,但是在样本外,由于过拟合,造成模型不正确,具体的,变量个数和变量系数不正确,自然导致预测效果很差,即模型泛化能力很差,这样的模型是没有意义的。所以,这就引出了下一点,即应该如何避免过拟合,如何选择解释变量。

4、一个模型的可靠性,不仅仅在于合理的建模方法,很大程度上还在于该模型背后的故事。线性回归得到的结果,单纯从统计意义上,只能得到相关关系,而统计上的相关关系如果要相对稳健的应用到现实中,我们往往要求解释变量和因变量之间具有严格逻辑支撑的因果关系。虽然统计上,也有类似Granger因果检验这种检验因果关系的方式,但是严格来说,这种检验也只是在时间先后上的一种相关性检验。如果不从哲学意义上论证因果关系的定义,只从传统以及现实应用的定义上,因果关系一定意味着时间上的先后性,但是这种时间尺度到底是多少是不确定的,到底是一个小时还是一天,甚至是一个月才会起作用?这背后还是需要严格分析的,所以在使用所谓的Granger因果检验时,还需要特别注意时间尺度的定义,比如,如果真实的因果关系需要在月的时间尺度上发挥作用,但是检验中的时间尺度定义是天,而且滞后项的选取不够长,那么该检验结果将是错误的。此外,即使检验出时间上的先后性,这只说明了因果关系的时间先后性,即该检验的结果是因果关系存在的必要条件,而不是充分条件,但是必要性的意义在于增加了因果关系存在的条件概率。最终的最终,模型的可靠性需要建立在因果关系上,而因果关系需要建立在逻辑分析上,这里的逻辑分析更具体的是指额外的基于逻辑而进行的分析和实证,并不是单纯停留在空想层面。所以,对于线性回归来说,更一般的做法是,根据潜在的逻辑关系去选择变量,而不是盲目加入变量,回归得到结果,这样很容易出现伪回归结果,即误把相关关系变量当做因果变量,从而造成模型的不稳健,不可靠。当然,也有一些非常规做法是通过data mining找到一些潜在有用的变量,但是最后还是要知道变量关系背后的逻辑,这步是不可缺少的,不然模型只是一个黑箱,容易出现意想不到的结果。当然,从统计意义上,这种黑箱还是具有一定的意义,只是模型不再那么稳健可靠,容易出现预料之外的结果,如果实在要使用这种黑箱,一定要明晰其局限性。

5、模型的两大主要功能是变量分析和预测,前者一般在计量经济实证研究中比较常见,其研究的核心在于探究某个或者某几个变量对因变量的影响,所以着重点在于某个变量上,这种研究方式中,侧重对重点变量的系数估计的准确性,所以会涉及到变量遗漏的内生性问题分析,即围绕这个重点变量进行变量遗漏的内生性问题分析,查看是否有变量遗漏;对于预测来说,目的是预测因变量,所以是尽量找到可以解释因变量的潜在解释变量。对于这两点区别,在研究方式和侧重点上有所不同。前者强调对于重点变量对于因变量的影响,所以对其系数估计的准确性是核心,由于要准确估计其系数,那么可能影响系数估计的因素就需要排除,这类因素最需要注意的往往就是变量遗漏造成的内生性问题,这种内生变量具有的特点就是会因变量有影响同时和其他解释变量相关,那么这样的变量遗漏就会造成内生性问题,解决这类问题往往就是找全相应的遗漏变量,以满足外生性条件,或者找到工具变量。对于预测,则是找全潜在的解释变量,以更准确的进行预测,这时无论解释变量之间是否相关,都应尽可能补全;这种情况下,有时候由于数据量不足,同时存在解释变量之间高度相关,即多重共线性问题,就会造成变量系数估计不准确且方差过大,所以这会造成对预测的偏差较大,这时往往采取剔除其中之一的高度相关变量,然后再进行回归,这样虽然会造成系数估计不准确,但是由于剔除的变量和其中之一的解释变量高度相关,所以对因变量的预测并不会造成多大的影响。所以可以发现,对于两种不同的目的,侧重往往不一样。

6、对于变量遗漏的内生性问题分析,没有行之有效的统计检验,直接检验出模型是否存在变量遗漏的内生性问题,对此,只能通过逻辑分析去判断是否存在可能的内生性问题,即是否存在和解释变量相关同时会影响因变量的变量。外生性条件是解释变量和随机项不相关,这是模型的一个基本假设,且无法从估计的结果进行检验,因为最小二乘估计方法得到的结果,就是通过解释变量和残差项正交得到的。这样一个基本假设的意义在于,保证了参数估计的无偏性和一致性,因此一旦存在内生性,参数估计的无偏性和一致性就得不到满足,就会存在误差。这个其实很好理解,如果存在变量遗漏,那么就相当于改变了解释变量空间,这样因变量到解释变量空间的最短距离造成的投影在各个解释变量上的分解肯定会发生变化,从而造成估计系数的变化。为了满足外生性条件(当然还有互为因果和测量误差也会造成内生性问题,但是测量误差对于不可重复的经济数据来说难以解决,互为因果可以通过滞后解决,而往往变量遗漏才是比较需要分析的地方),就需要尽量的多分析多思考,找全遗漏变量,或者找到合适的工具变量。如果找到了合适的工具变量,那么可以通过Hausman检验来判断原模型是否真的存在内生性问题,该检验的一个前提条件就是需要工具变量,而不是直接在原模型的基础上检验是否存在内生性问题,可是既然已经找到了合适的工具变量,说明内生性问题已经基本解决了,该检验也只在其他层面上具有一定的意义。

线性回归模型的局限性和注意点相关推荐

  1. 如何衡量多元线性回归模型优劣

    转载自:http://datakung.com/?p=50 最近再做一些多元回归分析方面的分析,但对于得出的回归模型的好坏不知道如何才判断,于是查找了一下相关的教材书籍,找到了张文彤老师写的<S ...

  2. 预测分析:R语言实现2.4 评估线性回归模型

    2.4 评估线性回归模型 再次利用lm()函数,用线性回归模型来拟合数据.我们的两套数据集会用到上述数据框里剩下的所有输入特征.R提供了一种编写公式的简写方式,它可以把某个数据框里的所有列作为特征,除 ...

  3. 七千字的线性回归模型指南,建议收藏!

    本文介绍了线性回归以及如何在Python中编程线性回归模型. 可解释性是机器学习中最大的挑战之一.如果一个模型的决策更容易让人理解,那么它的解释性就会比另一个模型高.有些模型是如此复杂,并且内部结构如 ...

  4. 一般线性模型和线性回归模型_您的线性回归模型指南

    一般线性模型和线性回归模型 Interpretability is one of the biggest challenges in machine learning. A model has mor ...

  5. 回归方程的拟合优度检验_计量经济学第四讲(多元线性回归模型:基本假定,参数估计,统计检验)...

    第三章.经典单方程计量经济学模型:多元线性回归模型 3.1多元线性回归模型及其基本假定 3.1.1多元回归模型及其表示 解释变量至少有两个的线性回归模型,一般形式为 如果不作说明, 是不包括常数项的解 ...

  6. R语言使用lmPerm包应用于线性模型的置换方法(置换检验、permutation tests)、使用lm模型构建简单线性回归模型、使用lmp函数生成置换检验回归分析模型

    R语言使用lmPerm包应用于线性模型的置换方法(置换检验.permutation tests).使用lm模型构建简单线性回归模型.使用lmp函数生成置换检验回归分析模型(Permutation te ...

  7. R语言使用lm函数拟合多元线性回归模型、假定预测变量没有交互作用(Multiple linear regression)

    R语言使用lm函数拟合多元线性回归模型.假定预测变量没有交互作用(Multiple linear regression) 目录

  8. R语言使用pwr包的pwr.f2.test函数对线性回归模型(Linear models)进行效用分析(power analysis)的语法

    R语言使用pwr包的pwr.f2.test函数对线性回归模型(Linear models)进行效用分析(power analysis)的语法 目录

  9. R语言使用pwr包的pwr.f2.test函数对线性回归模型进行效用分析(power analysis)、在已知效应量(effect size)、显著性水平、效用值的情况下计算需要的样本量

    R语言使用pwr包的pwr.f2.test函数对线性回归模型(Linear models)进行效用分析(power analysis).在已知效应量(effect size).显著性水平(sig).效 ...

最新文章

  1. 针对Python 实例方法、类方法和静态方法的详解
  2. C++后台开发需要什么?
  3. [置顶] export命令-linux
  4. uos20专业版是linux哪个版本,WPS Office 2019 for Linux 专业版已与统一操作系统 UOS 完成适配...
  5. 如何提高go代码覆盖率_如何通过静态分析提高iOS代码质量
  6. 源码剖析 Netty 服务启动 NIO
  7. 安卓案例:LayoutCreator演示
  8. 我的职业规划,大家给点意见吧!
  9. db2存储过程简单写法
  10. 刘知远:NLP研究入门之道(二)走近NLP学术界
  11. 基于PHP的简单BBS论坛系统
  12. 8.4 Power Management
  13. 学习编译原理遇到的问题
  14. Python爬取网易云音乐评论
  15. 概率 无穷数列求和公式
  16. 用创业思维复盘:写技术博客到出书
  17. C++默认参数(缺省参数)应该写在哪里,声明还是定义里
  18. Admob反馈利诱性质流量(无效流量)解决方案
  19. java spring登录验证_详解使用Spring Security进行自动登录验证
  20. ppt如何替换其他mo ban_PPT如何做视觉化的数据图表?

热门文章

  1. FineCMS V5.3 开发日志
  2. 静息态下大脑的动态模块化指纹
  3. matlab feko,MATLAB在FEKO数据后处理中的应用
  4. linux解压zip文件
  5. UiBot 填写日期 设置元素文本
  6. 密码学中的同态加密算法,保证数据的安全,你了解吗?
  7. PHP 使用 PhpSpreadsheet
  8. FPGA开发与ARM(单片机)开发的区别
  9. TF-IDF的Matlab程序,TF-IDF算法简析 - osc_sjg81se7的个人空间 - OSCHINA - 中文开源技术交流社区...
  10. java-php-python-ssmX钢材商贸公司网络购销管理系统计算机毕业设计