科研学习|研究方法——python T检验

一、单样本T检验

  • 目的:检验单样本的均值是否和已知总体的均值相等
  • 前提条件

(1)总体方差未知,否则就可以利用 Z ZZ 检验(也叫 U UU 检验,就是正态检验);
(2)正态数据或近似正态;
(3)连续变量

  • 原假设和备择假设:

  • 例子:假设已知我国男青少年的平均身高是1.73,那么取某高校50名男生的身高(本文采用随机数据),想比较该高校与我国男青少年的平均身高是否存在差异。

ttest_1samp 函数参数可参考:

from scipy import statsrvs = stats.norm.rvs(loc=1.5, scale=1, size=(50)) # 生成均值为1.5,标准差为1的50个样本
t, p = stats.ttest_1samp(rvs, 1.73)               # 进行单样本T检验print(" T-test: %f\n"%t,"P-vlaue: %f"%p)# T-test: -3.087647
# P-vlaue: 0.003317

 

结论:T值小于0,说明样本均值小于总体均值;P值小于0.05,说明该高校与我国男青少年的平均身高存在差异。

单侧检验 :scipy库中stats只提供了双侧检验,如果需要单侧检验只需要将计算出来的P值除于2即可,这里参考文章:利用python进行单边T检验

置信区间:采用 scipy.stats.norm.interval() 函数计算

import numpy as npstats.norm.interval(alpha = 0.95,loc = np.mean(rvs),scale = stats.sem(rvs)
)

二、独立样本t检验(双样本T检验)

  • 目的:检验两组独立样本均值是否相等
  • 前提条件
    (1)两组总体方差相等,如果不相等,先利用levene检验,检验两总体是否具有方差齐性;
    (2)正态数据或近似正态;
    (3)连续变量
  • 原假设和备择假设:

场景1: 想比较可口可乐饮料在沃尔玛、大润发两个超市的销量是否存在差异
场景2: 想比较南、北方人的平均身高、体重是否存在差异

需要注意的是:前期需要检验两组方差是否相等,如不相等, scipy.stats.ttest_ind() 函数中的参数 equal_var 需要设置成 False

levene 检验P值 > 0.05,接受原假设,认为两组方差相等 

from scipy import statsrvs_1 = stats.norm.rvs(loc=1.5, scale=1, size=(50)) # 生成均值为1.5,标准差为1的50个样本
rvs_2 = stats.norm.rvs(loc=2, scale=1, size=(50))   # 生成均值为2,标准差为1的50个样本levene = stats.levene(rvs_1, rvs_2)                 # 进行 levene 检验t, p = stats.ttest_ind(rvs_1,rvs_2,equal_var=True) # 独立样本t检验print("levene 检验P值: %f"%levene.pvalue,'\n')print("独立样本t检验")
print(" T-test: %f\n"%t,"P-vlaue: %f"%p)

T值小于0,说明第一组数据的均值小于第二组
单侧检验:同上

三、配对样本T检验

目的:比较同一组样本在不同场景下,均值是否存在差异
前提条件
(1)两组总体方差相等,如果不相等,先利用levene检验,检验两总体是否具有方差齐性;
(2)正态数据或近似正态;
(3)连续变量
原假设和备择假设

场景1: 将小白鼠配对为两组,分别接受不同的处理,检验处理结果的差异
场景2: 对于一批血清样本,将其分为两个部分,利用不同的方法接受某种化合物的检验,检验结果的差异
场景3: 检验癌症患者术前、术后的某种指标的差异
场景4: 可口可乐饮料今年与去年在沃尔玛超市销售额均值是否存在差异

与独立样本t检验相比,配对样本T检验要求样本是配对的,两个样本的样本量要相同

python 实现有两种方式
(1)两组数据做差,再对差值进行单样本T检验,检验均值为0;
(2)利用 scipy.stats.ttest_rel() 函数进行配对样本T检验

from scipy import statsrvs_1 = stats.norm.rvs(loc=1.5, scale=1, size=(50)) # 生成均值为1.5,标准差为1的50个样本
rvs_2 = stats.norm.rvs(loc=2, scale=1, size=(50))   # 生成均值为2,标准差为1的50个样本levene = stats.levene(rvs_1, rvs_2)          # 进行 levene 检验
t1, p1 = stats.ttest_1samp(rvs_1 - rvs_2, 0) # 单样本T检验
t2, p2 = stats.ttest_rel(rvs_1,rvs_2)        # 配对样本t检验print("levene 检验P值: %f"%levene.pvalue,'\n')print("单样本T检验")
print(" T-test: %f\n"%t1,"P-vlaue: %f"%p1)print("\n配对样本t检验")
print(" T-test: %f\n"%t2,"P-vlaue: %f"%p2)

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

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

相关文章

Android SmartTable根据int状态格式化文字及颜色

private void initData() {List<UserInfo> list new ArrayList<>();list.add(new UserInfo("一年级", "李同学", 6, 1, 120, 1100, 450, 0));list.add(new UserInfo("一年级", "张同学", 6, 2, 120, 1100, 450, 1));list…

工业数据采集分析 数据跨层次、跨环节、跨系统大整合

在“工业4.0”、“智能制造”、“工业互联网”的大背景下&#xff0c;数据采集早就成为一个广泛关注的热点话题&#xff0c;不论智能制造发展到何种程度&#xff0c;数据采集都是生产过程中应用非常频繁的需求&#xff0c;也是工业物联网不可或缺的一环。 利用工业数据采集系统…

处理机器学习数据集中字符串列(pandas.get_dummies)

如图&#xff0c;在数据集中week列的数据不是数值型&#xff0c;会导致我们在训练过程中难以处理。 而pandas库中有一个非常好用的函数&#xff0c;独热编码pandas.get_dummies(df) 使用此函数之后&#xff0c;会在原数据中新建各列代表Fri-Sun&#xff0c;值为0或1&#xff…

阶乘算法优化

__attribute__((noinline)) int test(int n) {int fact 1, num n 1;int i 1;for (i 1; i < num; i) {fact * i;}return fact; } int main() {printf("%d\n", test(1000000000)); } 为方便分析&#xff0c;函数calc()前面加上__attribute__((noinline))&#…

【大话Presto 】- 核心概念

文章目录 前言Operator Model And Iterator Model系统组成Connector数据模型查询执行模型StatementStageTaskSplitDriverOperatorExchangePipeLine 总结 前言 Presto&#xff08;PrestoDB&#xff09;是一个FaceBook开源的分布式MPP SQL引擎&#xff0c;旨在处理大规模数据的查…

全新的FL studio21.2版支持原生中文FL studio2024官方破解版

FL studio2024官方破解版是一款非常专业的音频编辑制作软件。目前它的版本来到了全新的FL studio21.2版&#xff0c;支持原生中文&#xff0c;全面升级的EQ、母带压线器等功能&#xff0c;让你操作起来更加方便&#xff0c;该版本经过破解处理&#xff0c;用户可永久免费使用&a…

spark 窗口滑动用于在不同的数据块之间执行操作

在 Scala 中进行分布式执行&#xff0c;例如使用 Apache Spark&#xff0c;可以通过设置窗口滑动来实现不同 RDD 之间的关联处理。窗口滑动是一种窗口操作&#xff0c;用于在不同的数据块之间执行操作。 以下是一个简单的示例&#xff0c;演示如何在 Spark 中使用窗口滑动&…

「校园 Pie」 系列活动正式启航,首站走进南方科技大学!

PieCloudDB 社区校园行系列活动「校园 Pie」已正式启动。「校园 Pie」旨在促进数据库领域的学术交流&#xff0c;提供一个平台让学生们了解最新的数据库发展趋势和相关技术应用。 在「校园 Pie」系列活动中&#xff0c;PieCloudDB 社区将携拓数派技术专家&#xff0c;社区大咖…

可以免费使用的设计素材网站分享

UI设计师最怕什么&#xff1f; 没有创意&#xff0c;没有灵感&#xff0c;没有思路&#xff01; 在哪里可以得到idea&#xff1f;别担心&#xff0c;往下看&#xff01; 你知道网络有多大&#xff0c;你想要什么吗&#xff1f;今天&#xff0c;我想和大家分享一些宝藏网页设…

用户运营:如何搭建用户分析体系

在运营的工作范畴中&#xff0c;用户运营是很重要的一个环节&#xff0c;甚至有公司会设置专门的“用户运营”岗位。 用户运营的价值体现在多个方面&#xff0c;不仅可以帮助引流、吸引更多用户使用产品&#xff0c;在用户正式使用产品之后的运营则更为重要。通过日常用户运营&…

Angular 组件介绍及使用(一)

Angular 概述 Angular 是一个用于构建 Web 应用程序的开源前端框架&#xff0c;由 Google 团队开发和维护。它采用 TypeScript 编程语言&#xff0c;并借鉴了一些传统的 Web 开发模式和最佳实践&#xff0c;提供了强大而灵活的工具和特性。 以下是 Angular 的一些概述要点&am…

让Git自动忽略指定文件

要让Git忽略指定文件&#xff0c;你可以使用.gitignore文件来实现。.gitignore文件允许你指定要从版本控制中排除的文件和文件夹。 以下是如何创建和设置.gitignore文件以忽略指定文件的步骤&#xff1a; 1.在你的项目根目录下创建一个名为.gitignore的文件。 2.使用文本编辑…

SpringMVC调用流程

SpringMVC的调用流程 SpringMVC涉及组件理解&#xff1a; DispatcherServlet : SpringMVC提供&#xff0c;我们需要使用web.xml配置使其生效&#xff0c;它是整个流程处理的核心&#xff0c;所有请求都经过它的处理和分发&#xff01;[ CEO ] HandlerMapping : SpringMVC提供&…

转录组分析小故事丨什么是RNAseq?

揭开转录组分析的面纱 亲爱的读者: 欢迎来到生物信息奇妙之旅&#xff01;我是您的导航员&#xff0c;今天将带您走进玉米的微观世界&#xff0c;一探真核生物有参转录组分析的秘密。 想象一下&#xff0c;我们将穿梭于DNA与RNA的世界&#xff0c;用数据的眼睛揭示生命的奥秘&a…

第四代智能井盖传感器:万宾科技助力城市安全

在繁华喧嚣的城市里人来人往&#xff0c;井盖作为基础设施的一个组成部分在路面上分布范围广。然而这些看似普通的井盖却存在着位移、水浸的风险&#xff0c;可能给我们的生活带来诸多不便&#xff0c;更会威胁到我们的人身安全。如何有效监测和管理井盖的状态&#xff0c;成为…

为什么选择CodeEase?

目录 为什么选择CodeEase核心功能后端前端 框架结构总结 为什么选择CodeEase CodeEase是一个标准化的低代码平台 愿景 我们励志开发一站式服务&#xff0c;缩短网站开发周期&#xff0c;降低程序bug率&#xff0c;减少开发人力和成本&#xff0c;推出了多租户SaaS平台开发模板…

SpringCloud Alibaba组件入门全方面汇总(上):注册中心-nacos、负载均衡-ribbon、远程调用-feign

文章目录 NacosRibbonFeignFeign拓展 Nacos 概念&#xff1a;Nacos是阿里巴巴推出的一款新开源项目&#xff0c;它是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos致力于帮助用户发现、配置和管理微服务&#xff0c;它提供了一组简单易用的特性集&am…

电源地虚接,导致信号线发烫

音频板的信号是经过隔直电容接到音频板的。

利用(Transfer Learning)迁移学习在IMDB数据上训练一个文本分类模型

1. 背景 有些场景下&#xff0c;开始的时候数据量很小&#xff0c;如果我们用一个几千条数据训练一个全新的深度机器学习的文本分类模型&#xff0c;效果不会很好。这个时候你有两种选择&#xff0c;1.用传统的机器学习训练&#xff0c;2.利用迁移学习在一个预训练的模型上训练…

JAVA JPA 使用实体类注解 @CreatedDate @LastModifiedDate自动生成创建和修改时间

JPA 使用实体类注解 CreatedDate LastModifiedDate自动生成创建和修改时间 说明&#xff1a;jpa实体添加数据库自动生成创建和修改时间 1.ApplicationBootstrap增加以下注解 EnableJpaAuditing2.实体类增加注解以下注解 Table(name"user") JsonIgnoreProperties(v…