ttest2
双样本 t 检验
说明
示例
等均值的双样本 t 检验
加载数据集。创建包含数据矩阵第一列和第二列的向量,以表示学生在两次考试中的成绩。
load examgrades
x = grades(:,1);
y = grades(:,2);
检验原假设,即两个数据样本来自均值相等的总体。
[h,p,ci,stats] = ttest2(x,y)
h = 0
p = 0.9867
ci = 2×1
-1.9438
1.9771
stats = struct with fields:
tstat: 0.0167
df: 238
sd: 7.7084
返回值 h = 0
表明 ttest2
在默认的 5% 显著性水平上未拒绝原假设。
不假设方差齐性时的等均值的 t 检验
加载数据集。创建包含数据矩阵第一列和第二列的向量,以表示学生在两次考试中的成绩。
load examgrades
x = grades(:,1);
y = grades(:,2);
检验原假设,即两个数据向量来自均值相等的总体,而不假设总体还具有方差齐性。
[h,p] = ttest2(x,y,'Vartype','unequal')
h = 0
p = 0.9867
返回值 h = 0
表明 ttest2
在默认的 5% 显著性水平上未拒绝原假设,即使没有假设方差齐性也是如此。
单侧双样本 t 检验
加载样本数据。创建一个分类向量,根据车辆年份标注车辆里程数据。
load carbig.mat; decade = categorical(Model_Year < 80,[true,false],["70s","80s"]);
创建每十年的里程数据的箱线图。
boxchart(decade,MPG) xlabel("Decade") ylabel("Mileage")
根据每十年的里程数据创建向量。使用左尾双样本 t 检验来检验原假设,即数据来自均值相等的总体。使用备择假设,即 20 世纪 70 年代生产的汽车里程的总体均值小于 20 世纪 80 年代生产的汽车里程的总体均值。
MPG70s = MPG(decade == "70s"); MPG80s = MPG(decade == "80s"); [h,~,~,stats] = ttest2(MPG70s,MPG80s,"Tail","left")
h = 1
stats = struct with fields:
tstat: -14.0630
df: 396
sd: 6.3910
返回值 h = 1
表明 ttest2
在 5% 的默认显著性水平上拒绝了原假设,而支持备择假设,即 20 世纪 70 年代生产的汽车里程的总体均值小于 20 世纪 80 年代生产的汽车里程的总体均值。
绘制相应的 Student t 分布、返回的 t 统计量和临界 t 值。使用 tinv
计算默认置信水平为 95% 时的临界 t 值。
nu = stats.df; k = linspace(-15,15,300); tdistpdf = tpdf(k,nu); tval = stats.tstat
tval = -14.0630
tvalpdf = tpdf(tval,nu); tcrit = -tinv(0.95,nu)
tcrit = -1.6487
plot(k,tdistpdf) hold on scatter(tval,tvalpdf,"filled") xline(tcrit,"--") legend(["Student's t pdf","t-statistic", ... "Critical Cutoff"])
橙色圆点表示 t 统计量,位于表示临界 t 值的黑色虚线左侧。
输入参数
名称-值参数
将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN
,其中 Name
是参量名称,Value
是对应的值。名称-值参量必须出现在其他参量后,但参量对组的顺序无关紧要。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: 'Tail','right','Alpha',0.01,'Vartype','unequal'
指定在 1% 显著性水平上的右尾检验,并且不假设 x
和 y
具有相等的总体方差。
Alpha
— 显著性水平
0.05
(默认) | 范围 (0,1) 内的标量值
假设检验的显著性水平,指定为以逗号分隔的对组,其中包含 'Alpha'
和范围 (0,1) 内的一个标量值。
示例: 'Alpha',0.01
数据类型: single
| double
Dim
— 维度
第一个非单一维度 (默认) | 正整数值
用于检验均值的输入矩阵的维度,指定为以逗号分隔的对组,其中包含 'Dim'
和一个正整数值。例如,指定 'Dim',1
检验列均值,而 'Dim',2
检验行均值。
示例: 'Dim',2
数据类型: single
| double
输出参量
h
— 假设检验结果
1
| 0
假设检验结果,返回为 1
或 0
。
如果
h
= 1
,这表明在Alpha
显著性水平上拒绝原假设。如果
h
= 0
,这表明未能在Alpha
显著性水平上拒绝原假设。
p
— p 值
范围 [0,1] 内的标量值
检验的 p 值,以 [0,1] 范围内的标量值形式返回。p
是观测到的检验统计量与原假设下观测到的值一样极端或更极端的概率。p
值较小会让人对原假设的有效性产生怀疑。
stats
— 检验统计量
结构体
双样本 t 检验的检验统计量,以包含以下内容的结构体形式返回:
tstat
- 检验统计量的值。df
- 检验的自由度。sd
- 总体标准差的合并估计(方差具有齐性时),或包含总体标准差的非合并估计的向量(方差具有非齐性时)。
详细信息
双样本 t 检验
双样本 t 检验是一种参数化检验,它比较两个独立数据样本的位置参量。
检验统计量的计算公式为:
其中 和 是样本均值,sx 和 sy 是样本标准差,n 和 m 是样本大小。
在假设两个数据样本来自具有方差齐性的总体的情况下,原假设下的检验统计量具有自由度为 n + m – 2 的 Student t 分布,样本标准差被替换为池化标准差
在不假设两个数据样本来自具有方差齐性的总体的情况下,原假设下的检验统计量具有近似 Student t 分布,其自由度的数目由萨特思韦特逼近给出。此检验有时称为韦尔奇 t 检验。
多维数组
多维数组有两个以上的维度。例如,如果 x
是 1×3×4 数组,则 x
是三维数组。
第一个非单一维度
第一个非单一维度是其大小不等于 1 的数组的第一个维度。例如,如果 x
是 1×2×3×4 数组,则第二个维度是 x
的第一个非单一维度。
提示
使用
sampsizepwr
计算:对应于指定检验功效和参数值的样本大小;
给定真实参数值时,特定样本大小的检验功效;
可用指定的样本大小和检验功效检测的参数值。
扩展功能
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
此函数完全支持 GPU 数组。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出
另请参阅
ttest
| ztest
| sampsizepwr
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)