当前位置: 首页 > news >正文

python统计分析——t分布、卡方分布、F分布

参考资料:python统计分析【托马斯】

        一些常见的连续型分布和正态分布分布关系紧密。

        t分布:正态分布的总体中,样本均值的分布。通常用于小样本数且真实的均值/标准差不知道的情况。

        卡方分布:用于描述正态分布数据的变异程度。

         F分布:用于比较两组正态分布的变异程度。

1、t分布

        1908年,在都柏林的吉尼斯啤酒厂工作的W. S. Gosset被小样本的问题所在吸引,比如说大麦的化学性质,其样本量经常低至3左右。由于这些测量中,均值的真实方差并不知道,所以必须用均值的标准误来近似。样本均值和标准误之间的比例服从一个未知的分布,直到笔名为“Student”的Gosset解决了这个问题。对应的分布就是t分布,并在大样本量时收敛于正态分布。由于Gosset的笔名叫“Student”,该分布又叫做“Student”分布。

        由于大多数情况下,总体的均值和方差是未知的,我们在分析样本数据时一般都是处理t分布。t统计量可表示为:

t=\frac{\bar{x}-\mu}{s/\sqrt{n}}=\frac{\bar{x}-\mu}{SE}

        t分布的一个非常常见的应用就是计算均值的置信区间。95%置信区间(CI)的宽度,也就是说,这个区间在95%的情况下包含了真实的均值,该置信区间和包含95%样本均值的总体均值的宽度相同。

ci=mean\pm se\times t_{df,\alpha}

        下面的例子展示了对于n=20来说,如何计算t值并求其95%置信区间。95%置信区间的下限是大于分布2.5%的值;而其上限值是小于分布的97.5%的值。这些只可以通过百分点函数或逆生存函数获得。作为对比,我们也计算出正态分布对应的值。

# 导入库
import numpy as np
from scipy import stats
# 设置样本容量
n=20
# 计算自由度
df=n-1
# 设置显著性水平
alpha=0.05
# 利用逆生存函数获取t分布对应的位点值
stats.t(df).isf(alpha/2)
# 正态分布对应的位点值
stats.norm.isf(alpha/2)
# 当然在python可以用一行代码获得执行区间
# 比如计算样本容量为20,样本均值为10,标准差为5对应的均值置信区间
ci=stats.t.interval(alpha,df=19,loc=10,scale=10/5)
ci

2、卡方分布

        卡方分布以一种很简单的方式和正态分布产生关联:如果一个随机变量X服从正态分布,那么X^2服从卡方分布,其自由度是1。n个独立的标准正态随机变量平方和有n个自由度。

示例:

        一个药品制造商街道一个药品订单,需要发货的药片的标准差为σ=0.05。从下一批次的药品开始,n=13的随机样本的重量为3.04g、2.94g、3.01g、3.00g、2.94g、2.91g、3.02g、3.04g、3.09g、2.95g、2.99g、3.10g、3.02g。

        问:标准差是否高于准许值?

        答:由于卡方分布描述了来自标准正态分布的随机变量的平方和,我们不得不在计算相应的CDF值之前正态化我们的数据:

SF_{\chi ^2(n-1)}=1-CDF_{\chi^2(n-1)}\left ( \sum(\frac{x-\bar{x}}{\sigma})^2 \right )

        解释:如果这一批药来自标准差为0.05的一个分布,那么得到一个大于等于我们观察到的卡方值的可能性大约是19%。所以这并不反常。换句话说,这批药符合期望的标准差。

代码如下:

# 导入库
import numpy as np
from scipy import stats
# 录入数据
data=np.r_[3.04,2.94,3.01,3.00,2.94,2.91,3.02,3.04,3.09,2.95,2.99,3.10,3.02]
# 设置目标标准差
sigma=0.05
# 设置卡方分布
chi2Dist=stats.chi2(len(data)-1)
# 计算统计量
statistic=sum(((data-np.mean(data))/sigma)**2)
# 计算统计量对应的生存函数
chi2Dist.sf(statistic)

3、F分布

        该分布以Ronald Fisher先生的名字命名,他发明了F分布来决定ANOVA(方差分析)中的关键值。

        如果想要调查两个组别是否具有相同的方差,我们就必须计算两组标准差平方的比值:

F=\frac{S_x^2}{S_y^2}

        其中,S_x是第一个样本的样本标准差,S_y是第二个样本的样本标准差。

        这个统计量的分布就是F分布。在ANOVA中的应用来说,F分布的临界值经常通过3个变量计算得到:

        ①ANOVA分子自由度,

        ②ANOVA分母自由度,

        ③显著性水平。

        ANOVA比较了两个不同样本之间的方差大小,是用大的方差除以小的方差来完成的。最终的F统计量的公式如下:

F(r_1,r_2)=\frac{\chi_{r_1}^2/r_1}{\chi_{r_2}^2/r_2}

其中\chi_{r_1}^2\chi_{r_2}^2分别是样本1和样本2的卡方统计量,r1和r2是他们的自由度。

示例

        我们想比较两种测量眼睛运动的方法的精确度。这两种方法有不同的精确度和准确度。精确度描述了真实值和测量值之间的差异,而准确度由测量的变异程度决定。我们想用这个检验来决定两种方法的准确度是否相同,还是其中一种方法比另一种方法更准确。

方法1数据:[20.7,20.3,20.3,20.3,20.7,19.9,19.9,19.9,20.3,20.3,19.7,20.3]

方法2数据:[19.7,19.4,20.1,18.6,18.8,20.2,18.7,19.0]

计算代码如下:

# 导入库
import numpy as np
from scipy import stats
# 录入数据
method1=np.array([20.7,20.3,20.3,20.3,20.7,19.9,19.9,19.9,20.3,20.3,19.7,20.3])
method2=np.array([19.7,19.4,20.1,18.6,18.8,20.2,18.7,19.0])
# 计算f值
f_val=np.var(method1,ddof=1)/np.var(method2,ddof=1)
# 设置F分布
fd=stats.f(len(method1)-1,len(method2)-1)
p_onetail=fd.cdf(f_val)
print(p_onetail)

代码运行结果可知,p=0.019,所以我们拒绝原假设(两种方法有相同的准确度)。

相关文章:

python统计分析——t分布、卡方分布、F分布

参考资料:python统计分析【托马斯】 一些常见的连续型分布和正态分布分布关系紧密。 t分布:正态分布的总体中,样本均值的分布。通常用于小样本数且真实的均值/标准差不知道的情况。 卡方分布:用于描述正态分布数据的变异程度。 F分…...

onlyoffice创建excel文档

前提 安装好onlyoffice然后尝试api开发入门 编写代码 <html> <head><meta charset"UTF-8"><meta name"viewport"content"widthdevice-width, user-scalableno, initial-scale1.0, maximum-scale1.0, minimum-scale1.0"&…...

交通事故档案管理系统|基于JSP技术+ Mysql+Java+Tomcat的交通事故档案管理系统设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java&#xff0c;ssm&#xff0c;springboot的平台设计与实现项目系统开发资源&#xff08;可…...

Chrome 114 带着侧边栏扩展来了

效果展示 manifest.json {"manifest_version": 3,"name": "ChatGPT学习","version": "0.0.2","description": "ChatGPT,GPT-4,Claude3,Midjourney,Stable Diffusion,AI,人工智能,AI","icons"…...

【论文笔记】RobotGPT: Robot Manipulation Learning From ChatGPT

【论文笔记】RobotGPT: Robot Manipulation Learning From ChatGPT 文章目录 【论文笔记】RobotGPT: Robot Manipulation Learning From ChatGPTAbstractI. INTRODUCTIONII. RELATED WORK1. LLMs for Robotics2. Robot Learning III. METHODOLOGY1. ChatGPT Prompts for Robot …...

深度学习 Lecture 4 Adam算法、全连接层与卷积层的区别、图计算和反向传播

一、Adam算法&#xff08;自适应矩估计&#xff09; 全名&#xff1a;Adapative Moment Estimation 目的&#xff1a;最小化代价函数&#xff08;和梯度下降一样&#xff09; 本质&#xff1a;根据更新学习率后的情况自动更新学习率的值(可能是自动增大&#xff0c;也可能是…...

uniApp中使用小程序XR-Frame创建3D场景(1)环境搭建

1.XR-Frame简介 XR-Frame作为微信小程序官方推出的3D框架&#xff0c;是目前所有小程序平台中3D效果最好的一个&#xff0c;由于其本身针对微信小程序做了优化&#xff0c;在性能方面比其他第三方库都要高很多。 2.与Three.js的区别 做3D小程序的同学们对Three.js一定不陌生…...

AI基础知识(4)--贝叶斯分类器

1.什么是贝叶斯判定准则&#xff08;Bayes decision rule&#xff09;&#xff1f;什么是贝叶斯最优分类器&#xff08;Bayes optimal classifier&#xff09;&#xff1f; 贝叶斯判定准则&#xff1a;为最小化总体风险&#xff0c;只需在每个样本上选择那个能使条件风险最小的…...

填补市场空白,Apache TsFile 如何重新定义时序数据管理

欢迎全球开发者参与到 Apache TsFile 项目中。 刚刚过去的 2023 年&#xff0c;国产开源技术再次获得国际认可。 2023 年 11 月 15 日&#xff0c;经全球最大的开源软件基金会 ASF 董事会投票决议&#xff0c;时序数据文件格式 TsFile 正式通过&#xff0c;直接晋升为 Apache T…...

Docker 笔记(七)--打包软件生成镜像

目录 1. 背景2. 参考3. 文档3.1 使用docker container commit命令构建镜像3.1.1 [Docker官方文档-docker container commit](https://docs.docker.com/reference/cli/docker/container/commit/)Description&#xff08;概述&#xff09;Options&#xff08;选项&#xff09;Exa…...

图论06-飞地的数量(Java)

6.飞地的数量 题目描述 给你一个大小为 m x n 的二进制矩阵 grid &#xff0c;其中 0 表示一个海洋单元格、1 表示一个陆地单元格。 一次 移动 是指从一个陆地单元格走到另一个相邻&#xff08;上、下、左、右&#xff09;的陆地单元格或跨过 grid 的边界。 返回网格中 无法…...

Java设计模式之单例设计模式

单例设计模式就是保证整个软件系统中&#xff0c;某个类只能存在一个对象实例&#xff0c;并且该类只提供一个取得该对象的方法。 单例设计模式包括两种&#xff1a;饿汉式和懒汉式。 饿汉式&#xff1a; 含义&#xff1a; 在类加载时就创建并初始化单例对象。这种方式确保了…...

多维时序 | MATLAB实现BiTCN-selfAttention自注意力机制结合双向时间卷积神经网络多变量时间序列预测

多维时序 | MATLAB实现BiTCN-selfAttention自注意力机制结合双向时间卷积神经网络多变量时间序列预测 目录 多维时序 | MATLAB实现BiTCN-selfAttention自注意力机制结合双向时间卷积神经网络多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.M…...

深入了解Android垃圾回收机制

文章目录 一、内存分配二、垃圾回收触发条件三、GC算法3.1 Dalvik虚拟机的GC算法3.2 ART的GC算法 四、优化GC性能五、监控GC耗时情况六、总结 在Android应用开发中&#xff0c;内存管理和垃圾回收&#xff08;GC&#xff09;对于应用性能和稳定性至关重要。理解GC机制有助于我们…...

如何学好Python语言

学习Python&#xff1a;一场充满探索与实践的编程之旅 Python&#xff0c;作为一种解释型、交互式和面向对象的编程语言&#xff0c;近年来在数据科学、人工智能、Web开发等多个领域得到了广泛的应用。掌握Python&#xff0c;不仅可以提升个人的编程技能&#xff0c;还能够为未…...

计算机408网课评测+资料分享

408当然有比较好的网课推荐&#xff0c;比如王道的视频课 现在大部分人备战408基本都用王道的讲义&#xff0c;然后再搭配王道408的课程来听&#xff0c;可以学的很好。 其中408视频课中&#xff0c;我认为讲的比较好的是数据结构&#xff0c;和操作系统&#xff0c;计算机组…...

使用 ZipArchiveInputStream 读取压缩包内文件总数

读取压缩包内文件总数 简介 ZipArchiveInputStream 是 Apache Commons Compress 库中的一个类&#xff0c;用于读取 ZIP 格式的压缩文件。在处理 ZIP 文件时&#xff0c;编码格式是一个重要的问题&#xff0c;因为它决定了如何解释文件中的字符数据。通常情况下&#xff0c;Z…...

JavaScript对象修饰教程

在JavaScript中&#xff0c;对象修饰是一种常见的编程模式&#xff0c;用于动态地向对象添加新的功能或修改现有功能&#xff0c;同时保持对象的原始结构不变。对象修饰可以帮助我们实现代码的复用、扩展和维护&#xff0c;让代码更加灵活和可扩展。本文将深入探讨JavaScript对…...

转置卷积(transposed-conv)

一、什么是转置卷积 1、转置卷积的背景 通常&#xff0c;对图像进行多次卷积运算后&#xff0c;特征图的尺寸会不断缩小。而对于某些特定任务 (如图像分割和图像生成等)&#xff0c;需将图像恢复到原尺寸再操作。这个将图像由小分辨率映射到大分辨率的尺寸恢复操作&#xff0c…...

P1481 魔族密码

P1481 魔族密码 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 字典树 在插入字符串 s s s时&#xff0c;不断记录 s 0... k s_{0...k} s0...k​的个数取最大即可。 #include <bits/stdc.h> using namespace std; const int N 1e5 21; int cnt[N], tr[N][30], idx,…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...