t-test 是统计中非常常用的一种检验手段, 它一般用来判断两组数据是否真的有差异。 在现实中,我们经常要对2组数据的某个指标进行比较, 比如2个种小麦的蛋白质含量, 或者2个学校的学生的收入。 当我们想知道那一组数据“更好” 的时候, 我们往往面临如下困难。
-
无法获得全量数据, 比如每种小麦所有的的麦子, 或者2所学校所有学生的收入。这时, 我们只能做抽样调查,比如从每种小麦中取 30个样本, 或者调查每个学校 20名毕业生的收入。
-
什么叫“好” ? 一般我们用均值来作为整体数据的一个代表, 比如每种小麦30个样品的平均蛋白质含量, 或者每个学校20名毕业生样本的平均工资。 有了平均值作为单一指标, 我们就可以轻松的对两个样本进行比较了。
但是, 这样的比较有个问题: 由于样本相较于总体, 只是非常小的一部分, 甚至比例小到可以忽略, 那么用那么一点点样本的数据代替整体,是否科学? 任何事情都有巧合, 如果选择的样本恰巧比较偏, 那么得出的结论就会出错。 那么如何判断比较的结果是否有效呢? 从直觉上,我们可以判断:
- 两组样本均值差距越大, 我们就越有信心宣布二者不同。
- 每组样本方差越小(变化范围小), 我们就越有信心宣布二者不同。
- 每组样本包含的样本数量越多, 我们就越有信心宣布二者不同 (1000个样本的结果要比 10个样本得出的结果有说服力)。
T-test 就是这样一个指标, 它代表: 对差异的信心的量化 t-value 越大, 说明对找到的差异越有信心。
常用的 T-value 有:
1. 独立t-value
在这种t-test 中, 两组数据满足如下条件
- 两组变量相互独立
- 两组变量都符合正态分布
- 两组变量方差相等
如果两组数据样本大致相等(相差不超过一倍)可以用如下公式求 t-value
image.png其中
X bar [简书Latex bug 打不出来] : 是两个样本的均值
: 是两个样本的方差
n 是两个样本的的样本数量, 这里假设两个相同, 如果不同的话, 要对应除以 样本2 同理。
自由度(freedom) : 这个值在之后的查表操作中有用。
如果两组样本数量相差较大(多于一倍), 那么其他的公式来计算对应 t-value 和自由度, 这种情况比较少见, 这里不展开讨论, 可以参考这里。
2. 非独立t-value (配对T-value)
2组样本不是互相独立的, 一般使用场景是同样的个体, 在不同时期的表现。 比如同一地块的小麦, 在使用不同化肥以后的产量。 之所以又叫 配对 T-value ,因为这种实验往往样本是一一对应的。 比如, 如果比较某种化肥的效果, 可以在2年, 10个地块上做实验, 比较的时候, 也是用 地块1 在第一年的产量, 对比地块1在第二年的产量, 以此类推。
求 T-value:
image.png其中
- 是两组数据对应样本值相减, 得到的数组的均值
- 和 Null 假设有关, 如果是比较两组样本是否有差异,一般取0
- 是两组数据对应样本值相减, 得到的数组的标准差
- 其中一个样本组的样本含量, 因为是配对的, 所以两个样本组样本数量肯定是一样的。
自由度(freedom) :
T-test
知道了 T-value 和自由度以后, 就可以查表找到对应不同 p-value 的 标准T-value了, 如果计算出来的T-test 大于 标准T-value, 那么就拒绝 Null假设, 证明找到的差异是统计显著的, 否则就不能拒绝原假设, 不能排除找到的差异来自于巧合。
单边检测 与 双边检测
- 双边检测:如果是比较两个样本是否不同, 就是双边检测
- 单边检测:如果是比较一个样本是否大于,或者小于另外一个样本,就是单边检测
注意: 使用单边检测的时候, 其实是带入了额外的信息, 说明使用者已经明确的知道了其中一个会比较大。单边检测会比双边检测更容易“成功”的检测到差异,所以一定要小心使用,尤其不能等看到结果以后,把双边检测又改成单边检测。
其他计算方式
如果熟悉 R 语言的话, 用 t.test
计算会很方便
也有方便的在线计算工具 T - test
网友评论