快速理解并计算双样本T检验(带例子)

一、假设检验

假设检验是一种统计学的方法,定义来讲是决定一个样本数据是否支持一个特定的假设,这样我们就可以确定观察的数据是偶然的还是真实的。大白话来讲,假设检验就是提出假设,然后验证假设的真实性,例如我说中国人口的男性平均身高在175cm,那么我就要用一些方法检验我这个假设(例如疯狂抽样各省份的男性测他们的身高),这就是假设检验。

假设检验的基本思想就是提出两个对立的假设:

1.零假设 (H0):通常是一种“无效果”或“无差异”的声明,比如说,两组数据之间没有显著差异,或某项治疗与安慰剂效果相同。

2.备择假设 (H1 或 Ha):与零假设相对,通常表示研究者想要证明的效果,如两组数据之间存在显著差异,或某项治疗比安慰剂更有效。

假设检验的基本步骤:

  1. 定义零假设和备择假设。
  2. 选择合适的统计检验(如t检验、卡方检验等)。
  3. 计算检验统计量(如t值、卡方值等)。
  4. 确定显著性水平(alpha值,常用的有0.05、0.01等)。
  5. 计算p值并与显著性水平比较。
  6. 基于比较结果,接受或拒绝零假设。

如果p值小于显著性水平,通常拒绝零假设,认为观察到的效果不太可能是偶然发生的,从而支持备择假设。相反,如果p值大于显著性水平,则无法拒绝零假设。

有例子一切才能更清晰。

二、双样本T检验的例子

找两组学生
A用传统学习方法学习并考试
B用新方法学习并考试
H0假设:传统方法和新方法学习的学生成绩相等
H1假设:传统方法和新方法学习的学生成绩不相等
考试之后我们得到一组数据
A:[85,88,90]
B:[92,95,88]
1.算平均值
x A ^ = 87.6 , x B ^ = 91.6 \hat{x_A} = 87.6, \hat{x_B} = 91.6 xA^=87.6,xB^=91.6
2.算方差
s A ^ = 2.056 , s B ^ = 2.868 \hat{s_A} = 2.056, \hat{s_B} = 2.868 sA^=2.056,sB^=2.868
3.算T值
T = x A ^ − x B ^ s A ^ 2 n A + s B ^ 2 n B = − 3.125 T = \frac{\hat{x_A} - \hat{x_B}}{\sqrt{\frac{\hat{s_A}^2}{n_A} + \frac{\hat{s_B}^2}{n_B} } } = -3.125 T=nAsA^2+nBsB^2 xA^xB^=3.125
4.算自由度
d f = 3 + 3 − 2 = 4 d_f = 3+3-2 = 4 df=3+32=4
其中3+3为两组样本的样本量相加
5.查表
在这里插入图片描述
可以看到自由度V=4时,显著水平p-value为0.05时的单侧值为2.132,双侧值为2.776(单侧T检验的意思就是我们提出的假设是指定方向的,例如说我想知道新方法是否能提高学生的成绩,而根本不关心是否会降低学生的成绩,此时就是单侧的。但如果我还想关心新方法是否会降低学生的成绩,此时就是双侧的。可以看到单侧的p-value更低,更容易达到统计显著性)

∣ − 3.125 ∣ > 2.776 \left | -3.125 \right | > 2.776 3.125>2.776

故,我们有足够的信心拒绝假设H0。

T值正负很明显和样本的顺序有关,对于结果影响并不大。
在正常的计算中我们甚至也可以根据3.125算出它的p-value再与设定的显著水平进行比较(这个方法本质上和比较T值是一样的。

三、总结

总而言之,双样本T检验可以根据统计学的方法算出两组样本之间的差异,并且判断是否有足够的信心支持或者拒绝假设。例如,在做脑科学研究中,我们可以通过各种方法输出正常被试和抑郁症患者的一系列指标,然后通过T检验观察两组人是否有差异,从而得出正常被试和抑郁症患者的大脑存在差异。

以下是用MATLAB实现的循环计算矩阵双样本t检验代码: ```matlab % 循环计算矩阵双样本t检验 % H0:两组样本的均值相等 % H1:两组样本的均值不相等 % 输入数据 data = [1, 2, 3, 4, 5; 6, 7, 8, 9, 10; 11, 12, 13, 14, 15]; % 每一行是一组数据 % 初始化结果矩阵 t = zeros(size(data, 1), size(data, 1)); p = zeros(size(data, 1), size(data, 1)); % 计算均值和标准差 mean_data = mean(data, 2); std_data = std(data, 0, 2); % 循环计算t检验统计量和p值 for i = 1:size(data, 1) for j = i+1:size(data, 1) % 计算t检验统计量 t(i, j) = (mean_data(i) - mean_data(j)) / sqrt(std_data(i)^2/size(data, 2) + std_data(j)^2/size(data, 2)); % 计算p值 df = 2 * size(data, 2) - 2; % 自由度 p(i, j) = 2 * (1 - tcdf(abs(t(i, j)), df)); % 双侧检验 end end % 输出结果 for i = 1:size(data, 1) for j = i+1:size(data, 1) fprintf('对比第%d组数据和第%d组数据的t检验结果:\n', i, j); fprintf('t检验统计量为 %.4f\n', t(i, j)); fprintf('p值为 %.4f\n', p(i, j)); if p(i, j) < 0.05 fprintf('p值小于0.05,拒绝原假设H0\n'); else fprintf('p值大于等于0.05,不能拒绝原假设H0\n'); end end end ``` 其中,`data`是需要进行矩阵双样本t检验的数据矩阵,每一行是一组数据。首先,计算出每一组数据的均值`mean_data`和标准差`std_data`。然后,使用两重循环计算出任意两组数据之间的t检验统计量`t`和p值。最后,根据p值是否小于显著性水平(例如0.05)来判断是否拒绝原假设,输出结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值