R 编程中的 T 检验:单样本和配对 T 检验 [示例]
什么是统计推断?
统计推断是一门关于数据分布得出结论的艺术。数据科学家经常会遇到一些只有科学才能回答的问题。因此,统计推断是一种测试假设是否正确(即通过数据验证)的策略。
评估假设的常用策略是进行 t 检验。t 检验可以判断两组是否具有相同的平均值。t 检验也称为 学生测试. 可以对 t 检验进行估计:
- 单个向量(即单样本 t 检验)
- 来自同一样本组的两个向量(即配对t检验)。
您假设两个向量都是随机抽样的、独立的,并且来自具有未知但相等方差的正态分布的总体。
R 编程中的 T 检验是什么?
T 检验的基本思想是使用统计数据来评估两个相反的假设:
- H0:零假设:平均值与所用的样本相同
- H3:真实假设:平均值与所用的样本不同
T 检验通常用于小样本量。要执行 t 检验,您需要假设数据具有正态性。
R 中的 T 检验语法
R 中 t.test() 的基本语法是:
t.test(x, y = NULL, mu = 0, var.equal = FALSE) arguments: - x : A vector to compute the one-sample t-test - y: A second vector to compute the two sample t-test - mu: Mean of the population- var.equal: Specify if the variance of the two vectors are equal. By default, set to `FALSE`
R 中的单样本 T 检验
单样本 t 检验或学生检验将向量的平均值与理论平均值进行比较, . 计算 t 检验的公式为:
在这里,
指的是平均值
达到理论平均值
- s 是标准差
- n 观察次数。
为了评估 t 检验的统计显著性,您需要计算 p-值。 该 p-值 范围从 0 到 1,解释如下:
- p 值低于 0.05 意味着您有很强的信心拒绝原假设,因此接受 H3。
- p 值高于 0.05 表示没有足够的证据来拒绝原假设。
您可以通过查看自由度等于的学生分布中 t 检验的相应绝对值来构建 p 值
例如,如果您有 5 个观测值,则需要将我们的 t 值与自由度为 4 且置信区间为 95% 的学生分布中的 t 值进行比较。要拒绝原假设,t 值应高于 2.77。
参见下表:
R 中的单样本 T 检验示例
假设您是一家生产饼干的公司。每块饼干应该含有 10 克糖。饼干是由一台机器生产的,该机器在混合所有东西之前将糖添加到碗中。您认为机器不会为每块饼干添加 10 克糖。如果您的假设成立,则需要修理机器。您存储了 XNUMX 块饼干的糖含量。
备注:您可以使用函数 rnorm() 创建随机向量。此函数生成正态分布的值。基本语法是:
rnorm(n, mean, sd) arguments - n: Number of observations to generate - mean: The mean of the distribution. Optional - sd: The standard deviation of the distribution. Optional
您可以创建一个具有 30 个观测值的分布,其平均值为 9.99,标准差为 0.04。
set.seed(123) sugar_cookie <- rnorm(30, mean = 9.99, sd = 0.04) head(sugar_cookie)
输出:
## [1] 9.967581 9.980793 10.052348 9.992820 9.995172 10.058603
您可以使用单样本 t 检验来检查糖的含量是否与食谱不同。您可以进行假设检验:
- H0:平均含糖量相当于10
- H3:平均含糖量与 10 不同
您使用的显著性水平为 0.05。
# H0 : mu = 10 t.test(sugar_cookie, mu = 10)
这是输出:
单样本 t 检验的 p 值为 0.1079,大于 0.05。您可以 95% 地确信机器添加的糖量在 9.973 至 10.002 克之间。您不能拒绝原假设 (H0)。没有足够的证据表明机器添加的糖量不符合配方。
R 中的配对 T 检验
当处理组的平均值计算两次时,使用配对 t 检验或相关样本 t 检验。配对 t 检验的基本应用是:
- A / B测试:比较两个变体
- 病例对照研究:治疗前/治疗后
R 中的配对 T 检验示例
一家饮料公司有兴趣了解折扣计划对销售的影响。该公司决定跟踪正在推广该计划的一家商店的每日销售情况。在计划结束时,该公司想知道计划前后商店的平均销售额是否存在统计差异。
- 在项目开始前,公司每天都会跟踪销售情况。这是我们的第一个载体。
- 该计划推广一周,每天记录销售情况。这是我们的第二个载体。
- 您将执行 t 检验来判断程序的有效性。这称为配对 t 检验,因为两个向量的值来自同一分布(即同一家商店)。
假设检验是:
- H0:均值无差异
- H3:两种方式不同
请记住,t 检验的一个假设是方差未知但相等。实际上,数据几乎不具有相等的均值,这会导致 t 检验的结果不正确。
放宽等方差假设的一种解决方案是使用 Welch 检验。R 默认假设两个方差不相等。在您的数据集中,两个向量具有相同的方差,您可以设置 var.equal= TRUE。
您从高斯分布中创建两个随机向量,其中计划后的销售额具有更高的平均值。
set.seed(123) # sales before the program sales_before <- rnorm(7, mean = 50000, sd = 50) # sales after the program.This has higher mean sales_after <- rnorm(7, mean = 50075, sd = 50) # draw the distribution t.test(sales_before, sales_after,var.equal = TRUE)
您获得的 p 值为 0.04606,低于阈值 0.05。您得出的结论是,两组的平均值存在显著差异。该计划提高了商店的销售额。
总结
- 统计推断是生成有关数据分布的结论的艺术。
- T 检验属于推断统计学家族。它通常用于查明两组平均值之间是否存在统计差异。
- 单样本 t 检验或学生检验将向量的平均值与理论平均值进行比较。
- 当对处理组的平均值进行两次计算时,使用配对 T 检验或相关样本 t 检验。
我们可以将 t 检验总结如下表:
测试 | 待检验的假设 | p-值 | 代码 | 可选参数 |
---|---|---|---|---|
单样本 t 检验 | 向量的均值与理论均值不同 | 0.05 |
t.test(x, mu = mean) |
|
配对样本 t 检验 | 同一组的平均值 A 与平均值 B 不同 | 0.06 |
t.test(A,B, mu = mean) |
var.equal= TRUE |
如果我们假设方差相等,则需要将参数 var.equal= TRUE 改为。