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

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。配对数据中计算出的实际均值差异。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Matlab r2023b Simulink 给子系统添加封面

写这篇记录的原因是&#xff0c;r2023b版本里改动了自定义封面的界面&#xff0c;而我是一个新手小白&#xff0c;零基础&#xff0c;探索一天之后发现实现方法。最终效果如图&#xff1a; 步骤1&#xff1a;打开软件&#xff0c;点击Simulink&#xff0c;再打开含有子系统的工…

【基础】在GCC中编译和链接不是一个命令

在 GCC&#xff08;GNU Compiler Collection&#xff09;中&#xff0c;编译和链接不是一个命令。编译是将源代码转换为目标代码的过程。它主要进行语法检查、词法分析、生成中间代码等操作。链接是将多个目标文件和库文件组合成一个可执行文件的过程。在 GCC 中&#xff0c;通…

Cesium实现加载离线地形数据(nginx发布数据,cesiumLab地形切片数据)

实现效果如图&#xff1a; 详细步骤 1 下载地形数据&#xff08;DEM&#xff09; 下载地址&#xff1a;地理空间数据云 (gscloud.cn) 操作步骤&#xff1a; 注意&#xff1a;第3步可以自主选择DEM的分辨率&#xff0c;然后下载。 下载结果解压后如下图&#xff1a; 2 使用…

C语言 递归

递归指的是在函数的定义中使用函数自身的方法。 举个例子&#xff1a; 从前有座山&#xff0c;山里有座庙&#xff0c;庙里有个老和尚&#xff0c;正在给小和尚讲故事呢&#xff01;故事是什么呢&#xff1f;“从前有座山&#xff0c;山里有座庙&#xff0c;庙里有个老和尚&…

python3高级特性

1. 装饰器 装饰器是 Python 的一种高阶函数&#xff0c;它可以在不修改函数内部代码的情况下&#xff0c;给函数增加额外的功能。 案例&#xff1a;记录函数执行时间的装饰器 import time def timing_decorator(func): def wrapper(*args, **kwargs): start_time time.t…

lua学习笔记18(面相对象之多态)

print("*****************************面相对象多态*******************************") --相同方法不同执行逻辑 object{} object.id1 function object:new()local obj{}self.__indexself setmetatable(obj,self)return obj end function object:subClass(className)…

PLC程序远程上下载

在工业自动化领域&#xff0c;PLC&#xff08;可编程逻辑控制器&#xff09;扮演着至关重要的角色。然而&#xff0c;传统的PLC程序上传与下载方式往往受限于物理距离和现场环境&#xff0c;给工程师们带来了诸多不便。如今&#xff0c;随着远程技术的不断发展&#xff0c;PLC程…

基于XML配置bean(一)

文章目录 1.获取bean的两种方式1.通过id获取bean&#xff08;前面用过&#xff09;2.通过类型获取bean&#xff08;单例时使用&#xff09;1.案例2.代码1.beans.xml2.SpringBeanTest.java3.结果 3.注意事项 2.三种基本依赖注入方式1.通过属性配置bean&#xff08;前面用过&…

Eureka基础介绍和使用

目录 一.理论基础 二.父项目 2.1 新建父项目 2.2 管理依赖 三.子项目 3.1 新建子项目 3.2 注册中心Server依赖和启动类和配置文件 3.3 生产者Client 依赖和启动类和配置文件 3.5 消费者Custmer依赖和配置类、启动类和配置文件 四.心跳 五.公共资源项目 5.1新建实体…

BUG:vue表单验证校验不报错,必填都有信息,就是不能正常往下进行

vue表单验证未报错却出现异常 框架bug场景解决办法 框架 UI&#xff1a;element-UI 前端&#xff1a;vue2 bug场景 正常表单里面&#xff0c;有的信息要求必填或者加了一些限制&#xff0c;作为校验验证&#xff0c;只有走到校验才会执行其他行为&#xff0c;比如调用保存接…

labelimg安装和使用(解决闪退问题)

&#x1f308;个人主页&#xff1a;Rookie Maker &#x1f525; 系列专栏&#xff1a;计算机视觉 &#x1f3c6;&#x1f3c6;关注博主&#xff0c;随时获取更多关于IT的优质内容&#xff01;&#x1f3c6;&#x1f3c6; &#x1f600;欢迎来到我的代码世界~ &#x1f601; 喜…

C++修炼之路之list--C++中的双向循环链表

目录 前言 一&#xff1a;正式之前先回顾数据结构中的双向循环链表 二&#xff1a;list的简介 三&#xff1a;STL中list常用接口函数的介绍及使用 1.构造函数接口 2.list迭代器 范围for 3.数据的修改接口函数 4.list容量操作函数 5.list的迭代器失效 6.演示代码和测…

【网络编程】Web服务器shttpd源码剖析——线程池调度

hello &#xff01;大家好呀&#xff01; 欢迎大家来到我的网络编程系列之web服务器shttpd源码剖析——线程池调度&#xff0c;在这篇文章中&#xff0c;你将会学习到在Linux内核中如何创建一个自己的并发服务器shttpd&#xff0c;并且我会给出源码进行剖析&#xff0c;以及手绘…

allure2教程-3-测试报告定制

领取资料&#xff0c;咨询答疑&#xff0c;请➕wei: June__Go 上一小节&#xff0c;我们学习一下pytestallure2生成html测试报告的方法&#xff0c;本小节我们学习一下allure2测试报告的定制。 allure2报告预览 预览网址&#xff1a;https://demo.qameta.io/allure/# allur…

[leetcode] minimum-falling-path-sum

. - 力扣&#xff08;LeetCode&#xff09; 给你一个 n x n 的 方形 整数数组 matrix &#xff0c;请你找出并返回通过 matrix 的下降路径 的 最小和 。 下降路径 可以从第一行中的任何元素开始&#xff0c;并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多…

归并排序了解吗?手撕一个我看看?

目录 1- 归并排序原理1-1 主要思想1-2 实现步骤 2- 归并排序代码实现(双指针)⭐ 归并排序 ——实现思路 3- ACM模式实现 1- 归并排序原理 1-1 主要思想 归并排序基于分治 将序列中待排序的数数字分为若干组&#xff0c;每个数字分为一组 将若干组两两合并&#xff0c;保证合…

3D模型处理的多进程并行【Python】

今天我们将讨论如何使用 Python 多进程来处理大量3D数据。 我将讲述一些可能在手册中找到的一般信息&#xff0c;并分享我发现的一些小技巧&#xff0c;例如将 tqdm 与多处理 imap 结合使用以及并行处理存档。 NSDT工具推荐&#xff1a; Three.js AI纹理开发包 - YOLO合成数据生…

【蓝桥杯2025备赛】素数判断:从O(n^2)到O(n)学习之路

素数判断:从O( n 2 n^2 n2)到O(n)学习之路 背景:每一个初学计算机的人肯定避免不了碰到素数&#xff0c;素数是什么&#xff0c;怎么判断&#xff1f; 素数的概念不难理解:素数即质数&#xff0c;指的是在大于1的自然数中&#xff0c;除了1和它本身不再有其他因数的自然数。 …

4.18作业

顺序栈&#xff1a; #include "seq_stack.h" seq_p creat_stack() //从堆区申请顺序栈的空间 {seq_p S(seq_p)malloc(sizeof(seq_stack));if(SNULL){printf("空间申请失败\n");return NULL;}bzero(S->data,sizeof(S->data));S->top-1;return S; …

OpenGL:图元

OpenGL的图元 点 GL_POINTS: 将顶点绘制成单个的点 线 GL_LINES:将顶点用于创建线段,2个点成为一条单独的线段。如果顶点个数是奇数,则忽略最后一个。 顶点:v0, v1, v2, v3, … , vn,线段:v0-v1, v2-v3, v4-v5, … , vn-1 - vn GL_LINE_STRIP:将顶点用于创建线段,…