python统计分析——广义线性模型的评估

参考资料:用python动手学统计学

        残差是表现数据与模型不契合的程度的重要指标。

1、导入库

# 导入库
# 用于数值计算的库
import numpy as np
import pandas as pd
import scipy as sp
from scipy import stats
# 导入绘图的库
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
# 用于估计统计模型的库
import statsmodels.formula.api as smf
import statsmodels.api as sm

2、数据准备

# 读取数据
test_result=pd.read_csv(r"文件路径")
# 拟合模型
mod_glm=smf.glm('result~hours',data=test_result,family=sm.families.Binomial()).fit()

3、皮尔逊残差

二项式的皮尔逊残差的计算公式如下:

Pearson\, residuals=\frac{y-N\hat{p}}{\sqrt{N \hat{p}(1-\hat{p})}}

其中,y为响应变量(二值随机变量,即考试合格情况),N为试验次数,\hat{p}为估计的成功概率(由mod_glm.predict()得到的预测值)。

对于每个预测结果,试验次数都是1,所以皮尔逊残差如下:

Pearson\, residuals=\frac{y-N\hat{p}}{\sqrt{N \hat{p}(1-\hat{p})}}

4、皮尔逊残差的含义

        皮尔逊残差的分母中的N\hat{p}(1-\hat{p})就是二项分布的方差,它的平方根就是二项分布的标准差。y-\hat{p}为残差。残差除以分布的标准差,得到的就是皮尔逊残差。

        假设N不变,那么当p=0.5时,二项分布的方差Np(1-p)最大。当合格与不合格各占一半时,数据非常分散,此时预测值与实际值之间的差距看起来反而更小(易于接受)。当p=0.9时,预测的结果是基本合格,方差较小,此时预测值与实际值之间的差距看起来反而更大(难以接受)。这就是皮尔逊残差的含义。

        皮尔逊残差的平方和叫作皮尔逊卡方统计量。是模型契合度的指标。

5、计算皮尔逊残差

        按计算公式的计算代码如下:

# 预测的成功概率
pred=mod_glm.predict()
# 响应变量(合格情况)
y=test_result.result
# 皮尔逊残差
pearson_resid=(y-pred)/np.sqrt(pred*(1-pred))
pearson_resid

        从拟合的模型中直接获取皮尔逊残差

mod_glm.resid_pearson

结果如下:

        皮尔逊残差的平方和即为皮尔逊卡方统计量。

# 方法一
np.sum(mod_glm.resid_pearson**2)
# 方法二
mod_glm.pearson_chi2

6、模型偏差

        模型偏差(deviance)是评估模型契合度的指标。模型偏差越大,契合度越差。

        模型偏差用似然的方式表现了残差平方和,最大似然法所得的结果等于使得模型偏差最小的参数估计的结果。

        模型偏差的含义就是广义线性模型中的残差平方和。对两个模型偏差的差值进行检验的含义和方差分析相同。按模型偏差的定义,两个模型偏差的差值近似卡方分布。

        模型偏差的差值检验也叫做似然比检验。

        偏差残差的平方和就是模型偏差。偏差残差计算公式相对比较复杂,直接从拟合的模型中获取即可如下:

# 偏差残差
mod_glm.resid_deviance
# 模型偏差
np.sum(mod_glm.resid_deviance**2)

        当然和可以模型的summary结果中直接获取模型偏差。

mod_glm.summary().tables[0]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/421537.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

加密与安全_探索非对称加密算法_RSA算法

文章目录 Pre主流的非对称加密算法典型算法:RSACodeRSA的公钥和私钥的恢复小结 Pre 加密与安全_探索密钥交换算法(Diffie-Hellman算法) 中我们可以看到,公钥-私钥组成的密钥对是非常有用的加密方式,因为公钥是可以公开…

【Vue】npm run build 打包报错:请在[.env.local]中填入key后方可使用...

报错如下 根目录添加 .env.local 文件 .env.local :本地运行下的配置文件 配置:VUE_GITHUB_USER_NAME 及 VUE_APP_SECRET_KEY 原因

通过GitHub探索Python爬虫技术

1.检索爬取内容案例。 2.找到最近更新的。(最新一般都可以直接运行) 3.选择适合自己的项目,目前测试下面画红圈的是可行的。 4.方便大家查看就把代码粘贴出来了。 #图中画圈一代码 import requests import os import rewhile True:music_id input("请输入歌曲…

文本多分类

还在用BERT做文本分类?分享一套基于预训练模型ERNIR3.0的文本多分类全流程实例【文本分类】_ernir 文本分类-CSDN博客 /usr/bin/python3 -m pip install --upgrade pip python3-c"import platform;print(platform.architecture()[0]);print(platform.machine…

Mysql主从备份

主从复制概述 将主服务器的binlog日志复制到从服务器上执行一遍,达到主从数据的一致状态,称之为主从复制。一句话表示就是,主数据库做什么,从数据库就跟着做什么。 为什么要使用主从复制 为实现服务器负载均衡/读写分离做铺垫&…

Chrome插件 | WEB 网页数据采集和爬虫程序

无边无形的互联网遍地是数据,品类丰富、格式繁多,包罗万象。数据采集,或说抓取,就是把分散各处的内容,通过各种方式汇聚一堂,是个有讲究要思考的体力活。君子爱数,取之有道,得注意遵…

Tomcat 架构

一、Http工作原理 HTTP协议是浏览器与服务器之间的数据传送协议。作为应用层协议,HTTP是基于TCP/IP协议来传递数据的(HTML文件、图片、查询结果等),HTTP协议不涉及数据包(Packet)传输,主要规定了…

Ai-WB2-32S在window下使用vs 和 msys2编译以及烧录

文章目录 前言一、使用前准备第一步 安装vscode第二步 安装msys2 二、使用步骤1.打开MSYS2 MINGW64(1)在开始栏中找到MSYS2 MINGW64并打开(2)安装git(3)安装make(4)安装好之后的文件…

端游如何防破解

在2023年这个游戏大年中,诸多热门大作涌现,作为世界级IP哈利哈利波特的衍生游戏——《霍格沃茨之遗》毫无悬念地成为2023年游戏圈的首款爆款作品,斩获了一众玩家的青睐。 在众多光环的加持下,《霍格沃茨之遗》很快被著名游戏破解…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《激发多元灵活性的数据中心协同优化运行方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 这篇文章标题表明,其主题…

网络防御第6次作业

防病毒网关 按照传播方式分类 病毒 病毒是一种基于硬件和操作系统的程序,具有感染和破坏能力,这与病毒程序的结构有关。病毒攻击的宿主程序是病毒的栖身地,它是病毒传播的目的地,又是下一次感染的出发点。计算机病毒感染的一般过…

持安科技亮相张江高科895创业营,总评分第三名荣获「最具创新性企业」!

近日,张江高科895创业营(第十三季)信息安全专场Demo day&结营仪式在上海集成电路设计产业园圆满落幕。本季创业营通过多种渠道在海内外甄选优秀创业项目,一共择优录取了29家入营,最终甄选出9家代表参加Demo day路演…

安装ProxySQL,教程及安装链接(网盘自提)

一、网盘下载,本地直传 我网盘分享的是proxysql-2.5.5-1-centos8.x86_64.rpm,yum或者dnf直接安装就行 提取码:rhelhttps://pan.baidu.com/s/1nmx8-h8JEhrxQE3jsB7YQw 官方安装地址 官网下载地址https://repo.proxysql.com/ProxySQL/ 二、…

c# cad2016系统变量解释说明

一、cad系统变量设置和获取 /// <summary> /// 设置CAD系统变量 /// </summary> /// <param name"name">变量名</param> /// <param name"value">变量值</param> public static void SetSystemVariable(string name,…

[pdf]《软件方法》2024版部分公开-共196页

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 潘加宇《软件方法》2024版部分公开pdf文件&#xff0c;共196页&#xff0c;已上传CSDN资源。 也可到以下地址下载&#xff1a; http://www.umlchina.com/url/softmeth2024.html 如果…

DDOS攻击处理方法

DDoS&#xff08;分布式拒绝服务&#xff09;攻击是一种网络攻击&#xff0c;攻击者通过发送大量的请求&#xff0c;超过目标服务器的处理能力&#xff0c;导致服务器服务不可用。本文将介绍如何处理DDoS攻击&#xff0c;并提供几种防范措施。 1. 认识DDoS攻击 DDoS攻击通常通过…

JAVA对象内存模型

Java对象内存模型 > 一个Java对象在内存中包括3个部分&#xff1a;对象头、实例数据和对齐填充 > > 数据 内存 – CPU 寄存器 -127 补码 10000001 - 11111111 32位的处理器 一次能够去处理32个二进制位 4字节的数据 64位操作系统 8字节 2的64次方的寻址空间 指针压…

mac 本地使用dockerfile启动 springboot项目

1.创建Dockerfile放在项目的根目录下 2.编写Dockerfile FROM openjdk:11 MAINTAINER ChengLinADD target/JiaLi-0.0.1-SNAPSHOT.jar /app.jar# 暴露 Spring Boot 应用的端口号 EXPOSE 8088 # 启动 Spring Boot 应用 CMD ["java", "-jar", "app.jar&q…

机器学习 | 模型性能评估

目录 一. 回归模型的性能评估1. 平均平方误差(MSE)2. 平均绝对误差(MAE)3. R 2 R^{2} R2 值3.1 R 2 R^{2} R2优点 二. 分类模型的性能评估1. 准确率&#xff08;Accuracy&#xff09;2. 召回率&#xff08;Recall&#xff09;3. 精确率&#xff08;Precision&#xff09;4. …

【测试开发面试复习(一)】计算机网络:应用层详解(P2)补充ing

复习自用&#xff0c;若有错漏&#xff0c;欢迎一起交流一下~~ 一、高频面试题记录 uri 和 url 的区别 &#xff1f; dns 是啥工作原理&#xff0c;主要解析过程是啥&#xff1f; 用户输入网址到显示对应页面的全过程是啥&#xff1f; http 头部包含哪些信息&#xff1f; http…