R语言计算:t分布及t检验

news2024/11/23 12:20:37

t分布理论基础

t分布也称Student’s t-distribution,主要出现在小样本统计推断中,特别是当样本量较小且总体标准差未知时,用于估计正态分布的均值。其定义基于正态分布和 X 2 X^{2} X2分布(卡方分布)。如果随机变量X服从标准正态分布 N ( 0 , 1 ) N(0,1) N(0,1),而 Y Y Y服从自由度为 n n n的卡方分布,且 X X X Y Y Y相互独立,那么变量 T = Y n T = \sqrt{\frac{Y}{n}} T=nY 服从自由度( v v v)为 n n n t t t分布,其形状会随着自由度的变化而变化,t分布的形状会随自由度的变化而变化,当自由度较小时,t分布曲线较为平坦,且尾部较高,随着自由度的增加,t分布曲线逐渐接近正态分布曲线。
通常在大样本且假设总体标准差是已知的情况下使用正态分布,在小样本且总体标准差未知的情况下使用 t t t分布,特别是在进行假设检验和估计总体均值时。
t t t分布计算公式
T = X ˉ − μ S n . T = \sqrt{\frac{\bar{X}-\mu}{\frac{S}{\sqrt{n}}}}. T=n SXˉμ .
其中:
X ˉ \bar{X} Xˉ:样本均值;
μ \mu μ:假设的总体均值;
S S S:样本标准差;
n n n:样本大小.

t检验理论基础

t t t检验利用 t t t分布的性质来判断样本均值之间的差异是否显著, t t t检验是一种统计假设检验方法,它利用t分布理论来推断差异发生的概率,从而比较两个平均数的差异是否显著。t检验通常用于检验样本均值与某个已知值或两个样本均值间是否存在显著差异的统计方法,在进行 t t t检验时,会计算出一个 t t t统计量,该统计量服从 t t t分布。
单样本t检验
用于检验单个样本的均值是否与已知的某个值存在显著差异
t = x ˉ − μ 0 s / n . t = \frac{\bar{x} - \mu_0}{s/\sqrt{n}}. t=s/n xˉμ0.
其中:
x ˉ \bar{x} xˉ是样本均值,
μ 0 \mu_0 μ0是假设的总体均值,
s s s是样本标准差,
n n n是样本量。

双样本t检验
用于检验两个独立样本的均值是否存在显著差异。
t = x ˉ 1 − x ˉ 2 s 1 2 n 1 + s 2 2 n 2 . t = \frac{\bar{x}_1 - \bar{x}_2}{\sqrt{\frac{s_1^2}{n_1} + \frac{s_2^2}{n_2}}}. t=n1s12+n2s22 xˉ1xˉ2.
其中:
x ˉ 1 \bar{x}_{1} xˉ1 x ˉ 2 \bar{x}_{2} xˉ2:两个样本的均值;
s 1 、 s_{1}、 s1s_{2}$:两个样本的标准差;
n 1 n_{1} n1 n 2 n_{2} n2分别是两个样本的样本量。

配对样本t检验
用于检验两个相关样本(同一组对象在不同条件下的测量值)。
t = d ˉ − μ d s d / n . t = \frac{\bar{d} - \mu_d}{s_d/\sqrt{n}}. t=sd/n dˉμd.
其中:
d ˉ \bar{d} dˉ:差值的均值;
μ d \mu_d μd:假设的差值均值(通常为0);
s d s_d sd:差值的标准差;
n n n:配对数据的数量。

R语言实现

使用R语言绘制 t t t分布曲线图

# 设置自由度  
df <- 5  

curve(dt(x, df), from = -5, to = 5, xlab = "t值", ylab = "概率密度",   
      main = paste("t分布曲线图 (df =", df, ")"), col = "blue", lwd = 2)  
grid(col="gray", lty="dotted")  
abline(v=0, col="gray") 
abline(h=0, col="gray")
polygon(c(-5, seq(-5, 5, length=200), 5),   
        c(0, dt(seq(-5, 5, length=200), df), 0),   
        col="lightblue", border=NA)

生成图形
在这里插入图片描述
t t t分布单尾曲线图

df <- 5  
  
# t > 0
curve(dt(x, df), from = 0, to = 5, xlab = "t值", ylab = "概率密度",   
      main = paste("t分布单尾曲线图 (df =", df, ")"), col = "blue", lwd = 2, xlim = c(0, 5))  
grid(col = "gray", lty = "dotted")  
polygon(c(0, seq(0, 5, length = 200), 5),   
        c(0, dt(seq(0, 5, length = 200), df), 0),   
        col = "lightblue", border = NA)

在这里插入图片描述
t t t分布双尾曲线图

df <- 5  

curve(dt(x, df), from = -5, to = 5, xlab = "t值", ylab = "概率密度",   
      main = paste("t分布双尾曲线图 (df =", df, ")"), col = "blue", lwd = 2)  
grid(col = "gray", lty = "dotted")  
# t < -2 
polygon(c(-5, seq(-5, -2, length = 200), -2),   
        c(0, dt(seq(-5, -2, length = 200), df), 0),   
        col = "blue", border = NA)  
polygon(c(2, seq(2, 5, length = 200), 5),   
        c(0, dt(seq(2, 5, length = 200), df), 0),   
        col = "blue", border = NA)

在这里插入图片描述 单样品t检验

单样品t检验用于检验单个样本的均值与已知的某个值(通常是理论值或标准值)是否有显著差异。

# 检验数据的均值是否与某个已知值(比如10)有显著差异
data <- c(9.8, 10.2, 9.9, 10.1, 10.0, 9.7, 10.3)

print(t.test(data, mu = 10))

输出

	One Sample t-test

data:  data
t = 0, df = 6, p-value = 1
alternative hypothesis: true mean is not equal to 10
95 percent confidence interval:
  9.80021 10.19979
sample estimates:
mean of x 
       10 

根据输出的报告可以看出:
t值=0,样本均值与假设的均值(在这里是10)之间没有差异。
自由度=6,对于单样本t检验, d f = n − 1 df = n - 1 df=n1 n n n是样本数量。
p值=1,不能拒绝样本均值与10没有显著差异的原假设。
置信区间=95%。

双样品t检验
用于比较两个独立样本的均值是否存在显著差异。

# 现有两组独立的数据,比较这两组数据的均值是否有显著差异
data1 <- c(9.8, 10.2, 9.9, 10.1, 10.0)
data2 <- c(9.5, 9.6, 9.7, 9.9, 9.8, 10.0, 9.7, 9.8)

print(t.test(data1, data2))

输出

	Welch Two Sample t-test

data:  data1 and data2
t = 2.7584, df = 8.7335, p-value = 0.02279
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 0.04401691 0.45598309
sample estimates:
mean of x mean of y 
    10.00      9.75 

根据输出的报告可以看出:
t值=2.7584,在双样本t检验中,t值用于衡量两组数据的均值之间的差异,相对于它们的合并标准误差来说是否显著。
自由度=8.7335,对于双样本t检验,使用Welch公式对两个样本的大小和方差进行调整计算得出。
p值=0.02279,这小于常用的显著性水平0.05,两组数据的均值存在显著差异。
置信区间=95%。
根据R语言的输出报告显示,可以拒绝两组数据均值相同的原假设。

配对样品t检验

配对样品t检验用于比较同一组观测对象在不同条件下的测量值是否存在显著差异。

# 现有一组观测对象在两种不同条件下的测量值,检验这两种条件下测量值的均值是否有显著差异
data1 <- c(5.1, 5.5, 5.3, 5.6, 5.4)
data2 <- c(4.8, 5.0, 5.2, 5.4, 5.1)

print(t.test(data2, data1, paired = TRUE))

输出

Paired t-test

data:  data2 and data1
t = -4.2212, df = 4, p-value = 0.01347
alternative hypothesis: true mean difference is not equal to 0
95 percent confidence interval:
 -0.46416853 -0.09583147
sample estimates:
mean difference 
          -0.28 

t值=-4.2212,在配对t检验中,t值用于衡量配对观测值之间的差异是否显著,第一组数据的均值小于第二组。
自由度=4。
p值=0.01347,由于p值小于常用的显著性水平0.05,我们可以拒绝两组数据的均值差异为0的原假设,认为两组数据的均值存在显著差异。
置信区间=95%,对于两组数据的均值差异,有95%的信心认为这个差异在-0.46416853到-0.09583147之间。
样本估计=-0.28。配对数据中计算出的实际均值差异。

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

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

相关文章

pytorch-多分类实战之手写数字识别

目录 1. 网络设计2. 代码实现2.1 网络代码2.2 train 3. 完整代码 1. 网络设计 输入是手写数字图片28x28&#xff0c;输出是10个分类0~9&#xff0c;有两个隐藏层&#xff0c;如下图所示&#xff1a; 2. 代码实现 2.1 网络代码 第一层将784降维到200&#xff0c;第二次使用…

Linux的学习之路:7、yum与git

摘要 本章主要是说一下yum和git的操作 目录 摘要 一、什么是yum 二、yum三板斧 1、list 2、install 3、remove 三、怎么创建仓库 四、git三板斧 1、add 2、commit 3、push 4、pull 五、思维导图 一、什么是yum YUM是Yellowdog Updater Modified的简称&#xf…

三方库移植之NAPI开发(三)通过IDE开发NAPI工程

在三方库移植之NAPI开发[1]—Hello OpenHarmony NAPI一文中&#xff0c;笔者开发的是一个rom包的napi工程。该工程需要编译烧录固件&#xff0c;C 的动态库会集成到开发板的ROM中。在本篇文章中&#xff0c;笔者使用三方库移植之NAPI开发[1]—Hello OpenHarmony NAPI中一样的he…

zabbix监控配置(添加主机、主机组和添加监控项等)

zabbix监控配置 文章目录 zabbix监控配置1.添加主机组2.添加主机&#xff08;linux&#xff09;3.添加主机&#xff08;windows&#xff09;4.监控项配置&#xff08;通过模板添加&#xff09;5.监控项配置&#xff08;手动添加&#xff09; 1.添加主机组 2.添加主机&#xff0…

【Github】PwGen用户友好的Web应用密码生成器

弱密码问题一直是网络安全领域的一个重大挑战。许多人为了方便记忆&#xff0c;倾向于使用简单、常见的密码&#xff0c;如“123456”、“password”或者他们的生日等&#xff0c;这些密码很容易被猜测或通过暴力破解方法攻破。弱密码的使用大大增加了账户被黑客入侵的风险&…

【深入解析spring cloud gateway】13 Reactive Feign的使用

问题引入 在gateway中如果使用feignClient的话&#xff0c;会报如下错误 java.lang.IllegalStateException: block()/blockFirst()/blockLast() are blocking, which is not supported in thread reactor-http-nio-3at reactor.core.publisher.BlockingSingleSubscriber.bloc…

C++实现一个自定义字符串类(string)

本博客将详细介绍如何在C中实现一个自定义的字符串类 string&#xff0c;这个类模仿了标准库中 std::string 的关键功能。这个过程将涵盖从声明到定义的每一步&#xff0c;重点介绍内存管理、操作符重载以及提供一些关键的实现细节。 首先&#xff1a;我们采用函数的声明与定义…

python--字符串对象和

1、找出10000以内能被5或6整除&#xff0c;但不能被两者同时整除的数&#xff08;函数&#xff09; def Divisible_by_5_6(x:int)->list:arr[]for i in range(1,x1):if (i % 5 0 or i % 6 0 ):if i % 5 0 and i % 6 0:continue #利用continue跳过能被5和6整除的数else:a…

Spring Boot 学习(4)——开发环境升级与项目 jdk 升级

各种版本都比较老&#xff0c;用起来也是常出各样的问题&#xff0c;终于找到一个看来不错的新教程&#xff0c;是原先那个教程的升级。遂决定升级一下开发环境&#xff0c;在升级遇到一些问题&#xff0c;摸索将其解决&#xff0c;得些体会记录备查。 最终确定开发环境约束如下…

ActiveMQ 01 消息中间件jmsMQ

消息中间件之ActiveMQ 01 什么是JMS MQ 全称&#xff1a;Java MessageService 中文&#xff1a;Java 消息服务。 JMS 是 Java 的一套 API 标准&#xff0c;最初的目的是为了使应用程序能够访问现有的 MOM 系 统&#xff08;MOM 是 MessageOriented Middleware 的英文缩写&am…

QLoRa 低秩分解+权重量化的微调

QLoRa的核心思想是首先使用低秩分解技术降低参数的数量&#xff0c;然后对这些低秩表示的参数应用量化技术&#xff0c;进一步减少所需的存储空间和计算量。 https://arxiv.org/abs/2305.14314 低秩分解 低秩分解&#xff08;Low-Rank Factorization&#xff09;&#xff1a;…

Elasticsearch初步了解学习记录

目录 前言 一、ElasticSearch是什么&#xff1f; 二、使用步骤&#xff08;python版&#xff09; 1.引入包 2.连接数据库 3.创建索引 4.写入数据 5.查询数据 三、相关工具介绍 1.ES浏览器插件 总结 前言 随着数据量的不断增加&#xff0c;传统的查询检索在速度上遇…

Android使用shape属性绘制边框内渐变色

目录 先上效果图实现方法shape属性介绍代码结果 先上效果图 这是使用AndroidStudio绘制的带有渐变色的边框背景色 实现方法 项目中由于UI设计需求&#xff0c;需要给按钮、控件设置带有背景色效果的。以下是UI效果图。 这里我们使用shape属性来绘制背景效果。 shape属性介…

机器学习-09-图像处理02-PIL+numpy+OpenCV实践

总结 本系列是机器学习课程的系列课程&#xff0c;主要介绍机器学习中图像处理技术。 参考 【人工智能】PythonOpenCV图像处理&#xff08;一篇全&#xff09; 一文讲解方向梯度直方图&#xff08;hog&#xff09; 【杂谈】计算机视觉在人脸图像领域的十几个大的应用方向&…

清远某国企IBM服务器Board故障上门维修

接到一台来自广东清远市清城区某水利大坝国企单位报修一台IBM System x3650 M4服务器无法开机的故障&#xff0c;分享给大家&#xff0c;同时也方便有需要的朋友能及时找到我们快速解决服务器问题。 故障服务器型号&#xff1a;IBM System x3650 M4 服务器使用单位&#xff1a;…

只要0.74元的双通道数字隔离器,1T1R,增强型ESD-3.0 kV ,150Kbps数字隔离器

前言: 做和电源打交道的设备&#xff0c;通信时非常危险&#xff0c;一定要使用隔离的USB-232转换器&#xff0c;或者你设备的串口与市电直连的设备通信时&#xff0c;现在需要使用数字隔离器&#xff0c;早期的一般都使用光耦&#xff0c;在这种情况下&#xff0c;速度不搞的…

正则表达式:量词(三)

正则表达式中的量词有以下几种:1. *: 匹配前面的字符0次或多次。2. : 匹配前面的字符1次或多次。3.?: 匹配前面的字符0次或1次。4. {n}: 匹配前面的字符恰好n次。5. {n,}: 匹配前面的字符至少n次。6. {n,m}:匹配前面的字符至少n次&#xff0c;但不超过m次。 以下是使用Python的…

Unity TextMeshProUGUI 获取文本尺寸·大小

一般使用ContentSizeFitter组件自动变更大小 API 渲染前 Vector2 GetPreferredValues(string text)Vector2 GetPreferredValues(string text, float width, float height)Vector2 GetPreferredValues(float width, float height) 渲染后 Vector2 GetRenderedValues()Vector…

idea 卡怎么办

设置内存大小 清缓存重启 idea显示内存全用情况 右下角

解决CSS中鼠标移入到某个元素其子元素被遮挡的问题

我们在开发中经常遇到一种场景&#xff0c;就是给元素加提示信息&#xff0c;就是鼠标移入到盒子上面时&#xff0c;会出现提示信息这一功能&#xff0c;如果我们给盒子加了hover&#xff0c;当鼠标移入到盒子上时&#xff0c;让他往上移动5px&#xff0c;即transform: transla…