科研学习|研究方法——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…

【大话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…

「校园 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;在用户正式使用产品之后的运营则更为重要。通过日常用户运营&…

SpringMVC调用流程

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

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

在繁华喧嚣的城市里人来人往&#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…

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

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

【Linux专题】firewalld 过滤出接口流量

【赠送】IT技术视频教程&#xff0c;白拿不谢&#xff01;思科、华为、红帽、数据库、云计算等等_厦门微思网络的博客-CSDN博客文章浏览阅读428次。风和日丽&#xff0c;小微给你送福利~如果你是小微的老粉&#xff0c;这里有一份粉丝福利待领取...如果你是新粉关注到了小微&am…

智慧工地解决方案,实现安全预警、机械智能监控、作业指导、绿色施工、劳务管理、工程进度监控、施工质量检查

智慧工地云平台全套源码 智慧工地平台采用先进的云计算、物联网和大数据技术&#xff0c;可以实现智慧工地方案的落地。能够实现实时掌控工地活动及各项进度&#xff0c;有效预防违章施工。能够为工地提供多项服务&#xff0c;如安全预警、机械智能监控、作业指导、绿色施工、劳…

JVM bash:jmap:未找到命令 解决

如果我们在使用JVM的jmap命令时遇到了"bash: jmap: 未找到命令"的错误&#xff0c;这可能是因为jmap命令没有在系统的可执行路径中。 要解决这个问题&#xff0c;可以尝试以下几种方法&#xff1a; 1. 检查Java安装&#xff1a;确保您已正确安装了Java Development …

Spring Boot EasyPOI 使用指定模板导出Excel

相信大家都遇到过&#xff0c;用户提出要把界面上的数据导成一个Excel&#xff0c;还得是用户指定的Excel格式&#xff0c;用原生的POI&#xff0c;需要自己去实现&#xff0c;相信是比较麻烦的&#xff0c;所以我们可以使用开源的EasyPOI. 先上个图&#xff0c;看看是不是大家…

Newman

近期在复习Postman的基础知识&#xff0c;在小破站上跟着百里老师系统复习了一遍&#xff0c;也做了一些笔记&#xff0c;希望可以给大家一点点启发。 一&#xff09;如何安装Newman 1、下载并安装NodeJs 在官网下载NodeJs&#xff1a; Download | Node.js&#xff08;官网的…

2023.11.14 关于 Spring Boot 创建和使用

目录 Spring Boot Spring Boot 项目的创建 网页版创建 Spring Boot 项目 Spring Boot 目录说明 项目运行 Spring Boot Spring Boot 是基于 Spring 设计的一个全新的框架&#xff0c;其目的是用来简化 Spring 的应用、初始搭建、开发的整个过程Spring Boot 就是一个整合了…

初认识vue,v-for,v-if,v-bind,v-model,v-html等指令

vue 一.vue3介绍 1.为什么data是函数而不是对象? 因为vue是组件开发,组件会多次复用,data如果是对象,多次复用是共享,必须函数返回一个新的对象 1. 官网初识 Vue (发音为 /vjuː/&#xff0c;类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS …