回归分析中自变量取舍、检验及多重共线性处理(VIF)「建议收藏」

回归分析中自变量取舍、检验及多重共线性处理(VIF)「建议收藏」A1正交假定:误差项矩阵与X中每一个x向量都不相关高斯-马尔科夫定理:若满足A1和A2假定,则采用最小二乘法得到回归参数估计是最佳线性无偏估计方程估计值b1和b2可以看做偏回归系数,也是相应自变量对y的一种偏效应偏效应:在控制变量下,各自变量X对因变量Y的净效应残差项:针对具体模型而言,被定义为样本回归模型中观测值与预测值之差误差项:针对总体真实回归模型而言,它由一些不可观测因素或测量…

大家好,又见面了,我是你们的朋友全栈君。

A1 正交假定:误差项矩阵与X中每一个x向量都不相关
高斯-马尔科夫定理:若满足A1和A2假定,则采用最小二乘法得到回归参数估计是最佳线性无偏估计
方程估计值b1和b2可以看做偏回归系数,也是相应自变量对y的一种偏效应
偏效应:在控制变量下,各自变量X对因变量Y的净效应
残差项:针对具体模型而言,被定义为样本回归模型中观测值与预测值之差
误差项:针对总体真实回归模型而言,它由一些不可观测因素或测量误差所引起
纳入无关自变量并不影响OLS估计结果的无偏性,但是如果无关自变量如果与其他自变量相关,会导致相应回归系数(b1,b2)的标准误增大;换句话说,如果总体中无关自变量对y没有偏效应,那么把它加入模型只可能增加多重共线性问题,从而减弱估计的有效性。
因此,不要加入无关自变量,原因是

  1. 有可能错过理论上有意义发现
  2. 违背了简约原则
  3. 浪费了自由度
  4. 导致估计精度下降

如果忽略有关自变量可能有两种情况

  1. 所忽略的变量与模型中其他变量无关
  2. 所忽略变量与模型中其他变量有关
    针对第一种情况,最小二乘估计无偏,但对第二种情况,被忽略自变量成了误差项一部分,使得x2与误差项之间不再保持独立,因此,回归系数将是总体参数的有偏估计(看第8章)

对因变量取自然对数log作用在于:

  1. 我们关注焦点是自变量导致因变量改变的比例,而不是绝对量
  2. 取自然对数后因变量分布更趋近于正态分布, 这将有助于减小样本中异常值对回归估计的影响;另外,对因变量取自然对数,还能消除残差的异方差(乘法变加法)以及残差的非正态性

SST=SSE+SSR
SST的自由度为n-1,损失的自由度是由于我们用样本均值来估计总体均值
SSE的自由度是n-p,损失了p个自由度是由于因变量的估计值需要估计p个参数
SSR自由度为p-1,因为估计值y是由相同回归直线计算得到,而这条回归直线只有p个自由度,其中一个自由度损失是因为所有回归离差之和必须为0

MSR:回归均方
MSE:残差均方
MSR=SSR/(p-1)
MSE=SSE/(n-p)

判定系数(R^2):回归平方和占总平方和的比例
R^2=SSR/SST
当回归方程加入更多自变量:

  1. SST保持不变
  2. SSR会增加(至少不减少)
  3. SSE会减少(至少不减少)
  4. R^2会增加(至少不减少)
  5. MSR一般会增加
  6. MSE一般会减少
  7. 回归方程F检验值一般会增加
    注意:对于第5和第7项,当回归模型中加入不相关变量时,对解释平方和没有贡献,却消耗了更多的自由度,此时可能导致不好的模型

为什么自由度损失越少越好?

F检验:检验因变量Y和自变量x1,x2,x3…的线性关系是否显著,即判断所有的回归系数中是否至少有一个不等于0;我们不仅可以利用F检验来检验回归模型,还可以用它来检验模型中某个回归系数是否为0;F检验是比t检验更为一般的统计检验

拟合优度测量:拟合优度包含了判定系数,F检验和t检验
判定系数R^2:对模型整体拟合优度是一个有启发意义的测量,但它没有相应检验统计量
R^2=SSR/SST=SSR/(SSR+SSE)

回归分析两个常见问题:

  1. 加入了不相关的自变量,其后果是:
    #1. 错过有理论价值的发现
    #2. 违背简约原则
    #3. 损耗自由度:模型中多增加一个自变量将多消耗一个自由度,当样本量较少时,过度损耗自由度可能会造成回归方程无法求解
    #4. 降低估计精度:加入自变量过多,自变量间相关程度就可能增加,容易造成多重共线性,从而降低估计精度
  2. 忽略了关键的自变量

加入和删除自变量时,应该遵循两个标准:

  1. 加入自变量要有理论依据
  2. 用F检验来排除那些不相关的自变量

多重共线性:
不能仅凭自变量两两简单线性相关来判断是否存在共线性,判断共线性要基于整个自变量矩阵X来检查列向量组
多重共线性解决:

  1. 减少自变量
  2. 增加样本量
    3.换用数据
    多重共线性分为完全多重共线性和近似多重共线性,完全多重共线性不常见,但近似多重共线性很常见
    多重共线性几乎不可避免,因为自变量之间总会存在某种程度的相关,但只有当自变量之间线性关系高到一定程度才发生多重共线性问题
    多重共线性会导致参数估计值标准误增大等问题
    除完全共线性外,即使较强的多重共线性也没有违背多元回归分析的假定,即回归参数OLS估计仍然是无偏和一致的
    完全多重共线性问题对分类变量转化为虚拟变量也有指导意义,如季节问题,完全多重共线性会导致OLS估计有偏,因为它的矩阵是奇异矩阵,是不可逆的
    近似多重共线性是可以估计的,但是估计的误差很大,即回归参数估计值标准误过大,而回归系数估计的标准误过大会导致统计检验和推论不可靠
    多重共线性问题使得我们意识到不能在模型中无限度增加自变量数目,因为自变量的增加,使得每个自变量能被模型其他自变量解释的程度越来越高,复相关系数也越来越大,多重共线性问题越来越严重
    反映多重共线性程度指标VIF(方差膨胀因子)
    VIF=1/TOL=1/(1-R’^2)

判断是否存在严重近似共线性经验性原则:

  1. 自变量中最大方差膨胀因子VIF大于10
  2. 平均方差膨胀因子VIF明显大于1
    如果满足上述一条,则我们可认为存在严重的近似多重共线性问题

对于完全多重共线性处理,可以直接删除相关变量
但是对于近似多重共线性问题,我们一方面可以通过增大样本量,另外也可以通过将一定相关性变量综合成较少的几个变量,如利用主成分分析或因子分析等

多重共线性处理办法:

  1. 保留重要解释变量,去掉次要或可替代解释变量
  2. 改变解释变量形式
    ex:对横截面数据采用相对数变量,对于时间序列数据采用增量型变量
  3. 差分法
  4. 逐步回归分析
    逐步回归分析是将逐个引入自变量,引入条件时该自变量经F检验显著,每引入一个自变量后,对已选入变量进行逐个检验,如果原来引入的变量由于后面变量引入而变得不再显著,就将其剔除
  5. 主成份分析
    主成份分析的降维优势明显,主成分回归方法对一般多重共线性问题还是适用的,尤其是共线性较强的变量之间
  6. 偏最小二乘回归
  7. 岭回归(L2正则)
    岭回归通过最小二乘法改进允许回归系数有偏估计量存在而补救多重共线性方法,采用它可允许小的误差而换取高于无偏估计量的精度
  8. 增加样本容量
    多重共线性问题实质是样本信息不充分而导致模型参数不能精确估计,故追加样本信息是解决问题的一条有效途径

参考内容:
https://blog.csdn.net/zxd1754771465/article/details/73468689
https://blog.csdn.net/nieson2012/article/details/48980491/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138943.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 帧中继_帧中继交换机

    帧中继_帧中继交换机NBMA实验实验准备:1、 四台路由器,R2配置成帧中继交换机。2、 R1,R3,R4运行OSPF。实验配置:R1:interfaceLoopback0 ipad

  • WinHTTP教程

    WinHTTP教程这几天在捣鼓一个小玩意要用到WinHTTPAPI,发现资料很少,而且大都是些MFC封装的例子,看得我是一个头几个大。就把自己关于WinHTTP的学习总结了一下,仅供参考,各人理解可能有区别。

  • MRT(MODIS Reprojection Tool) 下载及安装教程[通俗易懂]

    MRT(MODIS Reprojection Tool) 下载及安装教程[通俗易懂]大家下载MODIS数据的时候,大多是hdf的格式数据。HDF数据包括11个波段的数据(如下图),假如想要其中一个波段数据,我们需要批量提取,这时就要用到NASA提供的MODISReprojectionTool,此工具虽不能实现全自动的批量提取,但是可以实现按月进行数据的提取及拼接,官网提供了Linux、macos、windows的版本,本文以windows环境为例,说明MRT软件的安装。…

  • 闭包面试回答_ajax面试题

    闭包面试回答_ajax面试题写在前面:在学习了闭包之后,试着做做这些题。其实是一种很棒地检验自己学习成果的手段。我当时反反复复,学了但好像又没完全学,遇到题还是一头雾水,到现在可以捋得很清楚也经历了蛮久的。而且从this,执行上下文,作用域一直走过来,这些题目涉及的内容也相对全面,加油喽。

  • python控制windows窗口,并输入数据_python执行windows命令

    python控制windows窗口,并输入数据_python执行windows命令这是一些用于设置多播接收器的Python代码.它在mac和linux上运行良好.importsocket,structADDR=’239.239.250.1’PORT=8001sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)sock.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)s…

  • C语言-if语句_c语言if语句表达式

    C语言-if语句_c语言if语句表达式1、一般形式if(表达式)表达式1else表达式2:表达式成立(为真)则执行表达式1,否则执行表达式2.适用范围:真假,对错,开关,对立面的条件注意:如果if语句中只包括一条语句,可以省略

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号