Python实现异方差检验(statsmodels)

2023-11-02

  • 什么是异方差?(摘自知乎https://www.zhihu.com/question/354637231)

一句话,就是当随机扰动项和模型中的解释变量(自变量)存在某种相关性,就会出现异方差。
即对于不同的样本点,随机误差项的方差不再是常数,而互不相同,则认为出现了异方差性(Heteroskedasticity)。
异方差: [公式]
,与解释变量观测值Xi有关。
异方差的类型
异方差
单调递增型:随X的增大而增大
单调递减型:随X的增大而减小
复杂型:与X的变化呈复杂形式
异方差性的后果
1、参数估计量有效
OLS估计量仍然具有无偏性,但不具有有效性。
在大样本情况下,尽管参数估计量具有一致性,但仍然不具有渐近有效性。
2、变量的显著性检验失去意义
变量的显著性检验中,构造了t统计量 [公式] ,它是建立在 [公式] 不变而正确估计了 [公式] 的基础之上的。如果出现了异方差性,估计的[公式]出现偏误,t检验失去意义
其他检验也是如此
3、模型的预测失效
一方面,由于上述后果,使得模型不具有良好的统计性质;另一方面,在预测值的置信区间中也包含有参数方差的的估计量 [公式] ;所以,当模型出现异方差性时,参数OLS估计值的变异程度增大,从而造成对Y的预测误差变大,降低预测精度,预测功能失效。

  • 异方差性的检验
    一、检验方法

    1. Park Test
    2. Glejser Test
    3. Spearman’s Rank Correlation Test
    4. Goldfeld-Quandt Test
    5. Breusch-Pagan-Godfrey Test
    6. White’s General Heteroscedasticity Test
    7. Koenker-Bassett Test

    二, statsmodels 中包含的检验方法

    数学建模清风的视频中就提到了两种异方差的检验方法:
    BP检验怀特检验。所以我重点介绍这两种检验的用法(此外,BP检验的使用范围并没有怀特检验的使用范围大,所以我介绍中重点的重点就是怀特检验)


  1. BP检验

    方法:

    import statsmodels.stats.api as sms
    test = sms.het_breuschpagan(results.resid, results.model.exog) # result是训练好的模型
    

    返回值为:在这里插入图片描述
    2.怀特检验

    statsmodels中的怀特检验让我找了很长时间,居然没有和BP检验放在一块,而且没有demo,后来仿照BP检验终于把怀特检验跑起来了

    from statsmodels.stats.diagnostic import het_white
    het_white(lm.resid, lm.model.exog)  # lm是模型
    

    此外,下面的接口也可以使用(和上方BP检验类似)

    import statsmodels.stats.api as sms
    sms.het_white(lm.resid, lm.model.exog)  # lm为模型
    

    附上返回值
    此外,根据清风的说法,我们日常检验最好用怀特检验。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python实现异方差检验(statsmodels) 的相关文章

随机推荐

  • zookeeper(二)——2PC理论、zookeeper集群、ZAB 协议

    一 关于 2PC 提交 Two Phase Commitment Protocol 当一个事务操作需要跨越多个分布式节点的时候 为了保持事务处理的 ACID特性 就需要引入一个 协调者 TM 来统一调度所有分布式节点的执行逻辑 这些被调度的
  • CTFshow php特性 web111

    目录 源码 思路 题解 总结 源码
  • adworld-crypto-banana_princess

    拿到了一个打不开的pdf文件 用hex editor打开一下看看 再看一下正常的pdf文件 猜测是用了rot13映射了一下字母字符 解密脚本 def load data filename content with open filename
  • SpringBoot线程上下文传递数据

    1 底层实现 使用ThreadLocal 使用方法 public T get public void set T value public void remove 2 自定义上下文 package com ybw context confi
  • golang 闭包函数的应用技巧

    一 有名函数和匿名函数 函数变量类型初始值为nil 函数字面量类型的语法表达格式是 func InputTypeList OutputTypeList 无参函数 func fun var f func 无入参无返回值的函数对象声明 初始值为
  • 以太坊教程:入门学习开发以太坊dapp

    一 区块链 1 分布式去中心化 比特币设计的初衷就是要避免依赖中心化的机构 没有发行机构 也不可能操纵发行数量 既然没有中心化的信用机构 在电子货币运行的过程中 也势必需要一种机制来认可运行在区块链上的行为 包括比特币的运营 亦或是运行在区
  • 【pytorch】Module.parameters()函数实现与网络参数管理

    我们知道可以通过Module parameters 获取网络的参数 那这个是如何实现的呢 我先直接看看函数的代码实现 def parameters self r Returns an iterator over module paramet
  • Edge插件之WeTab,画面优美,可以免费使用chatgpt,很难不爱

    目录 一 普通的edge新标签页 二 安装WeTab插件 1 WeTab插件的安装非常简单 只需在百度搜索wetab 进入官网 2 进入官网 点击edge图标 进入插件下载页面 3 这里由于我是已经安装成功 显示的是删除和启动 首次下载的话
  • element-ui el-tooltip 显示导致父元素 hover 失效问题解决

    添加如下css属性 el tooltip popper pointer events none pointer events 属性用于设置元素是否对鼠标事件做出反应 CSS 语法 属性值 pointer events auto 默认值 设置
  • maven3.8.2版本导致openjdk.jar包报错:Cannot find file

    真的吐血了快 又是maven问题 导致项目打包报错 maven问题梅开二度 我醉了呀 问题描述 在idea中使用Terminal终端 对项目进行打包 然后报错 报错信息 ERROR Failed to execute goal on pro
  • IAR使用技巧

    一 状态栏的解析 Compile 只对目前打开的c文件进行语法检查 不对它进行link Make 对工程所有打开的c文件进行语法检查和link 只编译有改动的文件或者设置变动的文件 Rebuild All 编译链接当前工程 不管文件或者设置
  • Stem教育究竟是什么性质

    STEM教育是中性的 是既可以为应试教育又可以为素质教育服务的工具和武器 用素质教育去引爆STEM教育 才能产生良性的的核裂变 格物斯坦小坦克来研究下stem教育究竟是什么性质 科学教育有一个不大不小的误区 以为 科学 教育就是教科学知识
  • 错误:reference to non-static member function must be called

    问题 今天刷牛客这道题的时候 题目描述 输入一个正整数数组 把数组里所有数字拼接起来排成一个数 打印能拼接出的所有数字中最小的一个 例如输入数组 3 32 321 则打印出这三个数字能排成的最小数字为321323 这是我的代码 class
  • rtx服务器修改登录端口,rtx服务器端口设置

    rtx服务器端口设置 内容精选 换一换 用户在MRS Manager界面配置监控指标转储后 转储失败时产生该告警 转储成功后 告警恢复 监控指标转储失败会影响上层管理系统无法获取到MRS Manager系统的监控指标 无法连接服务器 无法访
  • Python Utils

    在Python开发中 将常用功能封装成为接口 并放入Utils工具类中 直接调用 可以提升效率 常用的函数有 文件夹遍历 文件夹创建 文件读取 时间可读 时间统计 安全除法 双列表排序 配置读取 脚本路径 Numpy判空 文件夹遍历 遍历文
  • logistic_regression---python实现

    logistic regression 用python实现 一 理论知识 logistic 回归 虽然名字里有 回归 二字 但实际上是解决分类问题的一类线性模型 在某些文献中 logistic 回归又被称作 logit 回归 maximum
  • C语言——ASCII 码表及分类

    目录 一 分类 1 0 31 127 删除键 是控制字符 2 空白字符 3 可显示字符 二 ASCII 表 ASCII 定义了 128 个字符 一 分类 1 0 31 127 删除键 是控制字符 2 空白字符 空格 32 制表符 垂直制表符
  • javascript字符串操作常用方法

    一 操作方法 我们也可将字符串常用的操作方法归纳为增 删 改 查 增 增的意思并不是直接增添内容 而是创建字符串的一个副本 再进行操作 除了常用 以及 进行字符串拼接之外 还可通过concat concat 用于将一个或多个字符串拼接成一个
  • 关于centos7桥接模式上不了网的配置

    我在vmware里装了一下CentOS7 然后选桥接模式竟然连不上网了 我以前装完系统之后直接设置一下模式为桥接模式就可以上外网了 究竟是怎么回事 我查了一下资料之后才发现有个地方忘记配置了 那就是编辑里面的虚拟网络编辑器 接下来我们就重开
  • Python实现异方差检验(statsmodels)

    什么是异方差 摘自知乎https www zhihu com question 354637231 一句话 就是当随机扰动项和模型中的解释变量 自变量 存在某种相关性 就会出现异方差 即对于不同的样本点 随机误差项的方差不再是常数 而互不相