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,所以我们拒绝原假设(两种方法有相同的准确度)。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

R语言Meta分析核心技术:科研论文写作与数据可视化技巧

R语言作为一种强大的统计分析和绘图语言,在科研领域发挥着日益重要的作用。其中,Meta分析作为一种整合多个独立研究结果的统计方法,在R语言中得到了广泛的应用。通过R语言进行Meta分析,研究者能够更为准确、全面地评估某一研究问题…

ShardingSphere+JPA+Druid实现分表操作

要在SpringBoot项目中实现分表操作,本文使用的是ShardingSphereJPADruid实现。过程中出现问题记录一下。 准备MySQL数据库表 这里准备的是一张主表test_cost,两张从表test_cost_0和test_cost_1,结构需要相同,主表只是声明了表结构…

用大语言模型控制交通信号灯,有效缓解拥堵!

城市交通拥堵是一个全球性的问题,在众多缓解交通拥堵的策略中,提高路口交通信号控制的效率至关重要。传统的基于规则的交通信号控制(TSC)方法,由于其静态的、基于规则的算法,无法完全适应城市交通不断变化的…

Tensorflow2.0笔记 - 链式法则例子

本笔记简单记录链式法则的原理,关于链式法则,本身和高等数学中的链式求导法则是一样的,深度学习中相关资料可以参考这里: 【深度学习之美22】BP算法详解之链式法则 - 知乎10.5 什么是计算图?我们知道, 神经…

Windows环境下编译ffmpeg 6.1源码--Virtual Studio + Msys2方式

环境准备 约定:源码全部放到sources下,目录结构说明 /d/java/ffmpeg #工程工目录 ├── build #存放编译文件的目录,子目录为具体模块的构建目录 │ ├── fdk-aac │ ├── ffmpeg │ └── x264 ├── instal…

提升水库大坝安全与效率:现代技术云平台的应用

在我国,水库大坝的数量居世界之首,它们在推动国民经济发展中扮演着不可或缺的角色。然而,要想让这些水利工程充分发挥其价值,不仅需要精准的调度与高效的管理,更重要的是要确保其安全无虞。一旦发生事故,后…

鸿蒙Harmony应用开发—ArkTS-全局UI方法(列表选择弹窗)

列表弹窗。 说明: 从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 本模块功能依赖UI的执行上下文,不可在UI上下文不明确的地方使用,参见UIContext说明。 从API version 10开始&#xff0…

数据结构——循环队列的实现

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…

【回顾练习】静态路由配置综合实验报告

一、分析要求 为R6设备配置公有IP地址,并确保只能进行IP地址配置,无法进行其他配置。为R1-R5设备分配私有IP地址。为R1、R2、R4配置两个环回地址,为R5、R6配置一个环回地址。在R3上配置DHCP服务,以供两台PC自动获取IP地址。使用动…

数字电源浅析

电力电子技术是关于能量转换、调节、控制和管理等方面的学科,而数字电源则是电力电子技术的一种应用,是利用数字电路技术实现电源控制和管理的新型电源。 一、什么是数字电源 数字电源是一种数字控制的电源设备,可以通过数字控制芯片(DSP、MCU等)实现输出电压、电流、功…

向上生长

(1) 我记得2010年,在中国的苹果应用商店里,充斥的App还有很多:日历App、天气App、电池省电App、记事本App…。但这已经过去了2007-2008-2009三年,这些应用仍然很欢。 我有一个朋友算是中国最早一批开发iOS …

U盘插入电脑没有显示怎么办?

U盘可以备份/转移数据,还可以作为启动盘重装系统,但很多用户在使用u盘的时候,都遇到过这样的问题,就是u盘插入电脑没有反应,在电脑上找不到u盘设备。那么今天就跟大家等下U盘插入电脑没有显示怎么办。 原因/解决方法一…

html5cssjs代码 036 CSS默认值

html5&css&js代码 036 CSS默认值 一、代码二、解释 CSS默认值(也称为浏览器默认样式)是指当HTML元素没有应用任何外部CSS样式时,浏览器自动为这些元素赋予的一组基本样式。这些样式是由浏览器的默认样式表(User Agent sty…

关系型数据库mysql(3)索引

目录 一.索引的概念 二.索引的作用 三.创建索引的原则依据 四.索引的分类 五.索引的创建 5.1 普通索引 5.1.1 直接创建索引 5.1.2 修改表方式创建 5.1.3 创建表的时候指定索引 5.2 唯一索引 5.2.1 直接创建唯一索引 5.2.2 修改表方式创建 5.2.3 创建表的时候指…

机器学习——决策树(三)预剪枝

观前提示:这是本人机器学习决策树内容的第三篇博客,沿用了之前相关的代码,包括信息增益计算函数、结点类、预测函数和分类精度计算函数 完整代码指路 DrawPixel/decisionTree.ipynb at main ndsoi/DrawPixel (github.com) 前两篇博客详见…

Linux学习-进程

目录 进程基本概念 进程相关命令 进程的创建 进程的调度 进程相关函数接口 进程的消亡 实例:创建九个子进程 目录 进程基本概念 进程相关命令 进程的创建 进程的调度 进程相关函数接口 进程的消亡 实例:创建九个子进程 exec函数…

人脸表情识别系统项目完整实现详解——(三)训练MobileNet深度神经网络识别表情

摘要:之前的表情识别系统升级到v3.0版本,本篇博客详细介绍使用PyTorch框架来构建并训练MobileNet V3模型以进行实现表情识别,给出了完整实现代码和数据集可供下载。从构建数据集、搭建深度学习模型、数据增强、早停等多种技术,到模…

计算联合体union的大小

一:联合类型的定义 联合也是一种特殊的自定义类型,这种类型定义的变量也包含一系列的成员,特征是这些成员公用同一块空间(所以联合也叫共用体) 比如:共用了 i 这个较大的空间 二: 联合的特点 …

MySQL--Buffer Pool

虽然说 MySQL 的数据是存储在磁盘里的,但是也不能每次都从磁盘里面读取数据,这样性能是极差的。为此,Innodb 存储引擎设计了一个缓冲池(Buffer Pool),来提高数据库的读写性能。 有了缓冲池后: …

Eclipse For ABAP:安装依赖报错

1.安装好Eclipse后需要添加依赖,这里的地址: https://tools.hana.ondemand.com/latest 全部勾选等待安装结束; 重启后报错:ABAP communication layer is not configured properly. This might be caused by missing Microsoft Visual C++ 2013 (x64) Runtime DLLs. Consu…