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

        异方差检验是用于判断数据是否存在异方差性的检验方法。在实际数据分析中,数据的方差有可能会随着自变量的变化而发生变化,这就导致了数据点之间的离散程度不同,使得数据的预测能力降低。 常见的异方差检验方法有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为观测值的数量
    # BGP
    res_bgp = resid**2  # 获得残差的平方
    x2 = sm.add_constant(x)
    LM_BGP = n*sm.OLS(res_bgp,x2).fit().rsquared
    print('='*30)
    print('    BPG的LM统计量:',LM_BGP.round(4))
    # Glejser
    res_Glejser = abs(resid) # 取残差的绝对值
    LM_Glejser = n*sm.OLS(res_Glejser,x2).fit().rsquared
    print('-'*30)
    print('Glejser的LM统计量:',LM_Glejser.round(4))
    # Harvey
    res_Harvey = np.log(resid**2)  # 取残差平方的对数
    LM_Harvey = n*sm.OLS(res_Harvey,x2).fit().rsquared
    print('-' * 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三种检验方法均认为存在异方差性,这意味着残差方差与自变量存在关联。这可能导致对模型系数的显著性和准确性产生影响,需要进一步对模型进行改进。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值