首页 > 其他分享 >数学建模---t检验样例和matlab代码

数学建模---t检验样例和matlab代码

时间:2024-11-12 20:17:13浏览次数:3  
标签:这个 样本 样例 检验 --- %. fprintf matlab 4f

文章目录

1.问题概述

之前介绍了这个t检验的类型:

1)单样本t检验:

2)配对样本t检验:

3)独立样本t检验:

下面的三个题目分别对应上面的三个类型,可以简单的实践一下:因为之前的这个理论并不有利于我们的理解,在一个真实的案例里面,我们可以更加清楚的知道这个参数的具体含义,以及我们的这个检验方法的适用场景

image-20241112171157475

2.单个样本t检验

2.1问题分析

t = x ˉ − μ 0 s / n t=\frac{\bar{x}-\mu _0}{{{s}\Bigg/{\sqrt{n}}}} t=s/n ​xˉ−μ0​​

1)上面的这个公式里面,分母就是我们的平均值减去这个已知的这个常数值;

2)s表示的就是我们的这个样本的标准差;

3)n表示的是我们的这个样本的数量;

我们的这个题目的目的就是比较我们的这个样本和这个题目上面已知的这个真实值之间是不是存在显著性差异

因此:我们做出下面的这个假设:

1)零假设:我们的这个样本的平均值等于我们的这个已知的真实值;

2)备选假设:我们的这个样本的平均值不等于我们的已知的真实值;

2.2matlab代码

% 第一题:单样本 t 检验
% 数据输入
hl = [20.99, 20.41, 20.10, 20.00, 20.91, 22.60, 20.99, 20.41, 20.00, 23.00, 22.00];
mu_0 = 20.7; % 真值
% 进行单样本 t 检验
[h, p, ci, stats] = ttest(hl, mu_0);
% 输出检验结果
fprintf('单样本 t 检验结果:\n');
fprintf('t 值: %.4f\n', stats.tstat);
fprintf('p 值: %.4f\n', p);
fprintf('自由度: %d\n', stats.df);
fprintf('95%% 置信区间: [%.4f, %.4f]\n', ci(1), ci(2));
fprintf('样本均值: %.4f\n\n', mean(hl));

下面的这个就是matlab的运行结果:

image-20241112184039581

2.3结果分析

1)首先这个stats就是一个结构体类型的数据,因此这个里面我们可以从这个stat结构体里面获取很多的数据

2)p=0.3125表示我们的这个p大于这个显著性水平,因此这个是无法拒绝零假设的;

image-20241112183637647

3)我们的这个理论值也是在这个置信区间里面的,因此进一步验证我们的这个真实值和我们的这个测量值之间的这个差异并不显著;

3.配对样本t检验

image-20241112195307029

3.1问题分析

我们的这个题目就是想要比较这个不同处理下面的这个测试的结果,判断他们之间是不是存在显著性的差异;

我们根据这个题目的要求进行下面的这个假设:

1)零假设:两个方法的这个均值差异就是0;

2)备择假设:两个方法之间的这个均值差异不是0;

计算公式:
t = d ˉ S d / n t=\frac{\bar{\boldsymbol{d}}}{{{\boldsymbol{S}_{\boldsymbol{d}}}\Bigg/{\sqrt{\boldsymbol{n}}}}} t=Sd​/n ​dˉ​
这个里面的这个参数的含义如下:

1)d把就是我们的这个样本的差值的平均值;

2)Sd就是我们的这个差值的标准差;

3)n表示的就是我们的这个配对样本的数量情况;

3.2代码求解

% 第二题:配对样本 t 检验
% 数据输入
xf = [16.84, 19.02, 10.44, 14.87, 22.31, 24.83, 26.89, 31.06, 36.76, 41.67];
gj = [16.79, 19.22, 10.40, 15.14, 21.89, 24.82, 27.00, 31.42, 36.07, 40.99];
% 进行配对样本 t 检验
[h, p, ci, stats] = ttest(xf, gj);
% 输出检验结果
fprintf('配对样本 t 检验结果:\n');
fprintf('t 值: %.4f\n', stats.tstat);
fprintf('p 值: %.4f\n', p);
fprintf('自由度: %d\n', stats.df);
fprintf('95%% 置信区间: [%.4f, %.4f]\n', ci(1), ci(2));
fprintf('均值差: %.4f\n\n', mean(xf - gj));

求解结果如下:

image-20241112200503047

3.3结果分析

我们的这个p大于这个显著性水平,因此这个是无法拒绝我们的零假设的,这个表名我们的常规方法和改进之后的这个方法之间不存在很显著的差异;

4.独立样本t检验

image-20241112201030385

4.1问题分析

这个题目主要就是比较两个样本之间的平均值,判断我们的这个正常人和患者之间的这个水平差异;

1)零假设:两组之间的这个均值相等

2)备择假设:两组之间的这个均值不相等;

t统计量的计算公式:

1)分子表示的就是我们的两组样本之间的这个平均值;

2)分母里面的这个n表示的就是我们的样本的数量;

t = x ˉ 1 − x ˉ 2 S p 1 n 1 + 1 n 2 t=\frac{\bar{x}_1-\bar{x}_2}{S_p\sqrt{\frac{1}{n_1}+\frac{1}{n_2}}} t=Sp​n1​1​+n2​1​ ​xˉ1​−xˉ2​​
下面的这个就是我们的Sp计算公式:表示的就是我们的合并标准差,s表示的是我们的各自样本的标准差
S p = ( n 1 − 1 ) S 1 2 + ( n 2 − 1 ) S 2 2 n 1 + n 2 − 2 S_p=\sqrt{\frac{\left( n_1-1 \right) {S_1}^2+\left( n_2-1 \right) {S_2}^2}{n_1+n_2-2}} Sp​=n1​+n2​−2(n1​−1)S1​2+(n2​−1)S2​2​

4.2代码求解

% 第三题:独立样本 t 检验
% 数据输入
zc = [6.52, 6.80, 7.12, 5.50, 4.89, 7.03, 8.00, 4.55, 5.67, 6.77, 6.89, 7.05];
no_zc = [9.71, 10.58, 11.00, 7.10, 7.55, 8.65, 8.87, 9.02, 9.88, 8.68, 10.52, 11.02];

% 进行独立样本 t 检验(假设方差相等)
[h, p, ci, stats] = ttest2(zc, no_zc, 'Vartype', 'equal');

% 输出检验结果
fprintf('独立样本 t 检验结果:\n');
fprintf('t 值: %.4f\n', stats.tstat);
fprintf('p 值: %.4f\n', p);
fprintf('自由度: %d\n', stats.df);
fprintf('95%% 置信区间: [%.4f, %.4f]\n', ci(1), ci(2));
fprintf('正常人均值: %.4f\n', mean(zc));
fprintf('牙周炎患者均值: %.4f\n\n', mean(no_zc));

计算结果展示:

image-20241112202443548

4.3结果分析

上面的这个结果表明:

1)p值比这个显著性水平低,因此我们拒绝零假设;

2)这个可以证明我们的这个正常人和患者之间的这个含量存在差别,且我们的这个患者的这个血清物质含量高于我们的正常人的标准2~4不等;

计算结果展示:

image-20241112202443548

4.3结果分析

上面的这个结果表明:

1)p值比这个显著性水平低,因此我们拒绝零假设;

2)这个可以证明我们的这个正常人和患者之间的这个含量存在差别,且我们的这个患者的这个血清物质含量高于我们的正常人的标准2~4不等;

标签:这个,样本,样例,检验,---,%.,fprintf,matlab,4f
From: https://blog.csdn.net/binhyun/article/details/143723235

相关文章

  • 第六节---高级查询
    高级查询1.聚合函数分组之后的一个阶段存在多个不同的值,那么你就需要使用聚合函数将这些列段的多个值整成一个值,所以就称为聚合函数---(聚合函数就是将一个阶段的不同值合为一个值)count();计算符合条件的行数sum();求和avg();平均值max();最大值min();最......
  • c++(vector、map、list、deque、set)总结-面试
    目录1.vector2.deque3.list4.map5.set6.queue7.stack8.STL容器使用时机希望在面试和学习过程中可以帮助大家梳理重点C++中有两种类型的容器:顺序容器和关联容器。顺序容器主要有vector、list、deque等。其中vector表示一段连续的内存,基于数组实现,list表示非连续......
  • TransFormer--注意力机制:多头注意力
    TransFormer--注意力机制:多头注意力多头注意力是指我们可以使用多个注意力头,而不是只用一个。也就是说,我们可以应用在上一篇中学习的计算注意力矩阵Z的方法,来求得多个注意力矩阵。我们通过一个例子来理解多头注意力层的作用。以Alliswell这句话为例,假设我们需要计算w......
  • 【数据分享】2000-2023年我国1km分辨率的逐日O3栅格数据
    空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000-2023年全国范围逐日的PM2.5栅格数据、2013-2023年全国范围逐日SO2栅格数据、2000-2023年全国范围逐日PM10栅格数据(均可查看之前的文章获悉详情)!本次我们给大家带来的是2000-2023年全国范围的逐日的O3栅......
  • 找到PMF第五关 - 获取你的前五个付费参考客户
    找到PMF(Product-MarketFit产品市场契合度)是创业和产品开发中至关重要的一步,它决定了你的产品能否在市场中取得成功。PostHog的CEOJamesHawkins对此有详细介绍:https://posthog.com/founders/product-market-fit-game他把过程分成五个级别/关卡:找到一个重要的问题来......
  • 【大数据测试 Hive数据库--保姆级教程】
    大数据测试Hive数据库详细教程一、环境准备二、Hive数据库功能测试1.创建表2.插入数据3.查询数据4.使用条件过滤查询5.删除数据三、Hive数据库性能测试1.查询响应时间2.大数据量查询测试3.分区表性能测试4.并发查询性能四、Hive数据完整性测试1.数据加......
  • Educoder---Linux 信号
    第1关:信号处理函数在do_signal中分别为信号SIGUSR1、SIGUSR2注册信号处理函数funcA和funcB,而后将g_i4event置为1;完成两个信号处理函数,其中funcA中将g_i4event置为2,funcB中将g_i4event为3。#include<stdio.h>#include<stdlib.h>#include<strin......
  • 丹摩征文活动|Llama3.1-部署与使用
    Llama3.1-部署与使用Llama3.1创建实例登录实例部署LLama3.1使用实践实践心得丹摩平台,作为一个集成了先进云计算、大数据处理及人工智能技术的综合服务平台,为Llama3.1的部署与使用提供了得天独厚的环境。它不仅简化了复杂的技术配置流程,降低了AI应用的门槛,还通过其强大......
  • 服务器测试基础知识---网卡篇
    bios基本输入输出系统,介于硬件和软件之间bmc用来检测和管理服务器计算机启动步骤加电自检,系统自举,加载引导程序,进入操作系统进入系统的步骤加载引导分区加载内核运行init进程初始化程序OS的启动顺序1,加电自检2,bios启动3,加载引导程序(硬件初始化,设备检测等)4,加载系......
  • 【题解】洛谷P7286:「EZEC-5」人赢
    P7286「EZEC-5」人赢可以想到对于每个数要找到比他大的数中下标最大的数,我们按照数的大小排序,我们维护原序列的一个指针,对于每个数如果比指针大那么就左移指针,可以思考下为什么:指针上的数比现在这个数要小那比后面的数都小,于是我们左移指针直到大于这个数,可以发现我们也在一直......