异方差检验是用于判断数据是否存在异方差性的检验方法。在实际数据分析中,数据的方差有可能会随着自变量的变化而发生变化,这就导致了数据点之间的离散程度不同,使得数据的预测能力降低。 常见的异方差检验方法有Breusch--Pagan-Godfrey(BPG)检验、Glejser(戈里瑟)检验和Harvey(哈维)检验,它们都是基于不同的统计原理和假设条件来进行检验的。

BPG检验是一种基于OLS回归的统计检验方法,它假设误差方差存在某些与自变量相关的变化因素,并通过对自变量的平方项进行OLS回归,检验误差项的方差是否与自变量相关。

Glejser检验是基于方差分析的统计检验方法,它假设不同样本间的方差大小可能与自变量的变化有关,通过将样本分组并计算组内离差平方和和组间离差平方和的比值进行检验,以判断数据是否存在异方差性。

Harvey检验是一种基于残差平方和的统计检验方法,它假设方差大小与某个自变量的取值呈线性关系,在OLS回归后,通过检验残差平方和与自变量的相关系数是否显著,来判断数据是否存在异方差性。

总之,通过这些异方差检验方法,可以有效地判断数据是否存在异方差性,并采取相应的数据转换和模型调整方法,提高数据建模的准确性和预测能力。

一、基本形式

设线性模型为

Breusch--Pagan-Godfrey(BPG)检验,Glejser(戈里瑟)检验,Harvey(哈维)检验公式分别如下。

二、代码实现

1.构建模型,获得残差

import pandas as pd
import statsmodels.api as sm
import numpy as np
# 导入数据
data = pd.read_excel(r'H:\桌面\期中大作业-2022秋季学期\数据21.xlsx')
x = data[['hrearn','exper','age','married','tenure','educ','male','union','office','lannhrs','beratio']]
y = data[['lannearn']]
# 构建 ols 回归模型
x2 = sm.add_constant(x)
est = sm.OLS(y,x2).fit()
res = est.resid  # 残差

2.乘数检验

def LM(resid,n): # n为观测值的数量# BGPres_bgp = resid**2  # 获得残差的平方x2 = sm.add_constant(x)LM_BGP = n*sm.OLS(res_bgp,x2).fit().rsquaredprint('='*30)print('    BPG的LM统计量:',LM_BGP.round(4))# Glejserres_Glejser = abs(resid) # 取残差的绝对值LM_Glejser = n*sm.OLS(res_Glejser,x2).fit().rsquaredprint('-'*30)print('Glejser的LM统计量:',LM_Glejser.round(4))# Harveyres_Harvey = np.log(resid**2)  # 取残差平方的对数LM_Harvey = n*sm.OLS(res_Harvey,x2).fit().rsquaredprint('-' * 30)print(' Harvey的LM统计量:',LM_Harvey.round(4))print('=' * 30)print(LM(resid=res,n=616))

3.输出结果

==============================BPG的LM统计量: 287.3245
------------------------------
Glejser的LM统计量: 150.5395
------------------------------Harvey的LM统计量: 34.6115
==============================

根据给出的BPG、Glejser和Harvey的LM统计量以及样本量和自变量数量,我们可以进行异方差检验并进行判断。 BPG检验使用LM统计量作为检验量,此时检验量为287.3245。当检验量大于卡方分布的临界值时,我们就可以拒绝原假设,即认为存在异方差性。根据样本量和自变量数量的不同,临界值也会不同。这里我们以显著水平为0.05进行计算,得到的临界值为28.296。因为我们得到的检验量远大于临界值,认为存在异方差,其他方法同理。针对这个模型,BPG、Glejser和Harvey三种检验方法均认为存在异方差性,这意味着残差方差与自变量存在关联。这可能导致对模型系数的显著性和准确性产生影响,需要进一步对模型进行改进。

异方差的拉格朗日乘数(LM)检验python相关推荐

  1. 拉格朗日乘数法及python实现

    在数学最优问题中,拉格朗日乘数法(以数学家约瑟夫·路易斯·拉格朗日命名)是一种寻找变量受一个或多个条件所限制的多元函数的极值的方法.这种方法将一个有n 个变量与k 个约束条件的最优化问题转换为一个有n ...

  2. 拉格朗日乘数法及python实现拉格朗日乘数法

    拉格朗日乘数法(Lagrange Multiplier Method)基本思想 作为一种优化算法,拉格朗日乘子法主要用于解决约束优化问题,它的基本思想就是通过引入拉格朗日乘子来将含有n个变量和k个约束 ...

  3. 【计量经济学导论】05. 异方差

    文章目录 异方差 异方差的含义 异方差的产生原因 异方差的后果 异方差的检验方法 异方差的修正措施 异方差 在上一节的讨论中,完全共线性问题违背了基本假定 MLR.3 ,而多重共线性没有违背任何一个基 ...

  4. 如何检测时间序列中的异方差(Heteroskedasticity)

    时间序列中非恒定方差的检测与处理,如果一个时间序列的方差随时间变化,那么它就是异方差的.否则数据集是同方差的. 异方差性影响时间序列建模.因此检测和处理这种情况非常重要. 让我们从一个可视化的例子开始 ...

  5. 基于python的异方差检验_讲讲异方差的检验

    我们前面讲了异方差,也讲了怎么用图示法来判断是否有异方差,这一篇来讲讲怎么用统计的方法来判断有没有异方差. 关于检验异方差的统计方法有很多,我们这一节只讲比较普遍且比较常用的white test(怀特 ...

  6. UA MATH571A 检验异方差的非参数回归方法

    UA MATH571A 检验异方差的非参数回归方法 LOESS(locally estimated scatterplot smoothing) LOWESS(Robust Locally Weigh ...

  7. 检验多重共线性matlab_异方差太难?检验通不过?横截面分析难题的十大暴击!...

    转载:计量与统计 横截面数据是在同一时间,不同统计单位相同统计指标组成的数据列.横截面数据不要求统计对象及其范围相同,但要求统计的时间相同.也就是说必须是同一时间截面上的数据. 在分析横截面数据时,应 ...

  8. 命令不识别_互助问答138期:GMM命令代码中如何识别年份国家及异方差检验问题...

    老师您好,有两个关于系统GMM的问题想请教一下:(1)在所学的教程里,系统GMM没有引入时间,我目前是分行业分国家的时间为T年的面板数据,请问时间应该放入xtdpdsys的命令中的哪个位置?代码是写作 ...

  9. matlab怀特检验,(求助)Eviews中的怀特检验,怎样确定存在异方差?

    请问各位路过的朋友,Eviews中做完回归后,用怀特检验进行异方差检验,怎样确定存在异方差?下面是截图,麻烦帮忙看下有没有异方差的存在.谢~~谢谢!! Heteroskedasticity Test: ...

最新文章

  1. RichText设置高亮 (未完)
  2. 计算机专业申请,申请计算机专业
  3. 防止接口数据出问题,前端假数据调试
  4. Hexo搭建个人网站
  5. mysql建立电影表_【代码片段】MySQL新建表添加基础字段
  6. LeetCode 1876. 长度为三且各字符不同的子字符串
  7. 深度学习难?学完它,拿高薪绝对不是问题
  8. Geotrellis系列文章链接
  9. 主流JS框架中DOMReady事件的实现
  10. php仿歪歪漫画系统源码
  11. JAVA深度学习文本审核_内容审核-文本
  12. 云计算防止入坑之通过跑分看云服务器的性能,给各位云计算入门者的一些建议
  13. gerrit 将代码从一个分支合并到另外一个分支 Cherry Pick的使用
  14. 前后端分离开发模式介绍
  15. 客运综合管理系统项目—售票管理(售票)
  16. 跑步进入元宇宙,王老吉能看到不一样的未来吗?
  17. 【Apache Mina2.0开发之一】搭建Apache Mina框架并实现Server与Client端消息传递
  18. 租房管理系统 php,php出租房数据管理及搜索页面
  19. mybatis Plus多表查询
  20. Revit API 开发 (10): ExtensibleStorage 外部存储

热门文章

  1. 2017-2018-1 20155323 《信息安全系统设计基础》第十三周学习总结
  2. python实现自动化抢微信红包功能_【Python】用Python实现微信自动化抢红包,再也不用担心抢不到红包了...
  3. 灯丝温度对于紫外线灯击穿的影响
  4. toString方法
  5. 做一个从不废话的程序员之基础中的基础
  6. 敲代码之外,程序员创作创富的前景如何?
  7. linux查看nfs挂载信息,Linux NFS挂载
  8. 代码审计入门之java-sec-code
  9. Python--argparse
  10. Java开源的规则引擎 Drools 电商行业实战(含完整代码)