配对的Student's t-test

时间:2022-06-06 21:19:33

Source: http://www.r-bloggers.com/paired-students-t-test/

两个配对样本集的均值比较,从两个方差未知的总体中抽取。

一个学校竞技队请了新的教员,想通过比较10个运动员在100米跑步中的平均时间来测试新建议的训练类型的有效性。以下数据是每个运动员在训练前后的时间,以秒计:

Before training: 12.9, 13.5, 12.8, 15.6, 17.2, 19.2, 12.6, 15.3, 14.4, 11.3
After training: 12.7, 13.6, 12.0, 15.2, 16.8, 20.0, 12.0, 15.9, 16.0, 11.1

本例中我们有两个配对的样本集,所谓配对是因为我们的测量是针对相同运动员在锻炼前后分别进行的。为了看看是否有提高、恶化,或时间的均值保持近似,我们需要进行针对配对样本的Student's t-test,过程如下:

a = c(12.9, 13.5, 12.8, 15.6, 17.2, 19.2, 12.6, 15.3, 14.4, 11.3)
b = c(12.7, 13.6, 12.0, 15.2, 16.8, 20.0, 12.0, 15.9, 16.0, 11.1)

t.test(a,b, paired=TRUE)

    Paired t-test

data: a and b
t = -0.2133, df = 9, p-value = 0.8358
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
    -0.5802549 0.4802549
sample estimates:
mean of the differences
    -0.05


p-value大于0.05,于是我们接受null hypothesis H0,即平均值相等。也就是说,新的训练对运动员小组没有显著的提升(或恶化)。

类似的,我们计算查表的t值:

qt(0.975, 9)
[1] 2.262157


计算的t值 < 查表的t值,因此我们接受null hypothesis H0.

================================================================

假设当下小组的管理者(已知以上获得的结果)解雇了那个没有产生任何提升的教练,另外请了一个更有效的。在第二次训练后我们报告的运动员时间为:

Before training: 12.9, 13.5, 12.8, 15.6, 17.2, 19.2, 12.6, 15.3, 14.4, 11.3
After the second training: 12.0, 12.2, 11.2, 13.0, 15.0, 15.8, 12.2, 13.4, 12.9, 11.0

现在我们检验是否有实际的提升,即进行针对配对数据的t-test,这里需要设定R中测试时间提升的alternative hypothesis H1。这只需要简单地在调用t-test时添加参数alt = “less":

 

a = c(12.9, 13.5, 12.8, 15.6, 17.2, 19.2, 12.6, 15.3, 14.4, 11.3)
b = c(12.0, 12.2, 11.2, 13.0, 15.0, 15.8, 12.2, 13.4, 12.9, 11.0)

t.test(a,b, paired=TRUE, alt="less")

    Paired t-test

data: a and b
t = 5.2671, df = 9, p-value = 0.9997
alternative hypothesis: true difference in means is less than 0
95 percent confidence interval:
    -Inf 2.170325
sample estimates:
mean of the differences
     1.61


使用这个句法,我们叫R检验向量a中值的均值是否小于向量b中值的均值。在返回中,我们获得p-value大于0.05,其让我们论断我们拒绝null hypothesis H0,而接受alternative hypothesis H1:新的训练给小组产生了显著提升。

如果我们写为:t.test (a, b, paired = TRUE, alt = "greater"),我们叫R检验向量a中值的均值是否大于向量b中值的均值。鉴于前面的结果,我们猜测p-value将远小于0.05,而实际上:

a = c(12.9, 13.5, 12.8, 15.6, 17.2, 19.2, 12.6, 15.3, 14.4, 11.3)
b = c(12.0, 12.2, 11.2, 13.0, 15.0, 15.8, 12.2, 13.4, 12.9, 11.0)

t.test(a,b, paired=TRUE, alt="greater")

    Paired t-test

data: a and b
t = 5.2671, df = 9, p-value = 0.0002579
alternative hypothesis: true difference in means is greater than 0
95 percent confidence interval:
    1.049675 Inf
sample estimates:
mean of the differences
    1.61