当前位置: 首页 > backend >正文

【差异分析】t-test

t-test

文章目录

  • t-test
    • 1. 算法介绍
    • 2. 公式及原理
    • 3. 伪代码

1. 算法介绍

  • 背景与目标
    在基因表达差异分析中,常用两组(实验组 vs. 对照组)的独立样本 t 检验(two-sample t-test)来判断某一基因在两种处理下表达水平的均值是否存在显著差异。

    核心目标:检验基因在实验组和对照组的平均表达值 μ 1 \mu_1 μ1 μ 2 \mu_2 μ2 是否相等,即

    H 0 : μ 1 = μ 2 , H A : μ 1 ≠ μ 2 . H_0:\;\mu_1 = \mu_2,\quad H_A:\;\mu_1 \neq \mu_2. H0:μ1=μ2,HA:μ1=μ2.

  • 应用场景

    • RNA-seq、微阵列等高通量数据的单基因差异表达初步筛选
    • 简单实验设计下的小样本差异检测
    • 与多重检验校正方法(如 FDR)联合使用
  • 核心思路

    1. 分别计算两组样本的均值和方差;
    2. 构造 t 统计量,反映两组均值差异相对于组内变异的大小;
    3. 根据 t 分布计算双侧 p 值,判断差异显著性。

2. 公式及原理

2.1 样本统计量
对照组样本表达值 { x 1 i } i = 1 n 1 \{x_{1i}\}_{i=1}^{n_1} {x1i}i=1n1,实验组样本表达值 { x 2 j } j = 1 n 2 \{x_{2j}\}_{j=1}^{n_2} {x2j}j=1n2

x ˉ 1 = 1 n 1 ∑ i = 1 n 1 x 1 i , x ˉ 2 = 1 n 2 ∑ j = 1 n 2 x 2 j ; \bar{x}_1 = \frac{1}{n_1}\sum_{i=1}^{n_1}x_{1i},\quad \bar{x}_2 = \frac{1}{n_2}\sum_{j=1}^{n_2}x_{2j}; xˉ1=n11i=1n1x1i,xˉ2=n21j=1n2x2j;

s 1 2 = 1 n 1 − 1 ∑ i = 1 n 1 ( x 1 i − x ˉ 1 ) 2 , s 2 2 = 1 n 2 − 1 ∑ j = 1 n 2 ( x 2 j − x ˉ 2 ) 2 . s_1^2 = \frac{1}{n_1-1}\sum_{i=1}^{n_1}(x_{1i}-\bar{x}_1)^2,\quad s_2^2 = \frac{1}{n_2-1}\sum_{j=1}^{n_2}(x_{2j}-\bar{x}_2)^2. s12=n111i=1n1(x1ixˉ1)2,s22=n211j=1n2(x2jxˉ2)2.

2.2 等方差 t 检验(pooled)

  1. 合并方差

    s p 2 = ( n 1 − 1 ) s 1 2 + ( n 2 − 1 ) s 2 2 n 1 + n 2 − 2 . s_p^2 = \frac{(n_1-1)\,s_1^2 + (n_2-1)\,s_2^2}{n_1 + n_2 - 2}. sp2=n1+n22(n11)s12+(n21)s22.

  2. t 统计量

    t = x ˉ 1 − x ˉ 2 s p 1 n 1 + 1 n 2 . t = \frac{\bar{x}_1 - \bar{x}_2} {s_p\,\sqrt{\frac{1}{n_1} + \frac{1}{n_2}}}. t=spn11+n21 xˉ1xˉ2.

  3. 自由度

    d f = n 1 + n 2 − 2. \mathrm{df} = n_1 + n_2 - 2. df=n1+n22.

2.3 Welch’s t 检验(不等方差)
当两组方差明显不等时,使用 Welch 校正:

t = x ˉ 1 − x ˉ 2 s 1 2 n 1 + s 2 2 n 2 , d f = ( s 1 2 n 1 + s 2 2 n 2 ) 2 ( s 1 2 / n 1 ) 2 n 1 − 1 + ( s 2 2 / n 2 ) 2 n 2 − 1 . t = \frac{\bar{x}_1 - \bar{x}_2} {\sqrt{\frac{s_1^2}{n_1} + \frac{s_2^2}{n_2}}},\quad \mathrm{df} = \frac{\bigl(\tfrac{s_1^2}{n_1}+\tfrac{s_2^2}{n_2}\bigr)^2} {\tfrac{(s_1^2/n_1)^2}{n_1-1} + \tfrac{(s_2^2/n_2)^2}{n_2-1}}. t=n1s12+n2s22 xˉ1xˉ2,df=n11(s12/n1)2+n21(s22/n2)2(n1s12+n2s22)2.

2.4 p 值计算
计算双侧 p 值:

p = 2 [ 1 − F t ( ∣ t ∣ ; d f ) ] , p = 2 \,\bigl[1 - F_{t}(|t|;\,\mathrm{df})\bigr], p=2[1Ft(t;df)],

其中 F t ( ⋅ ; d f ) F_{t}(\cdot;\,\mathrm{df}) Ft(;df) 为自由度为 df 的 t 分布累计函数。


3. 伪代码

# 输入
#   X1: 对照组表达值数组,长度 n1
#   X2: 实验组表达值数组,长度 n2
#   equal_var: 布尔,True→等方差检验, False→Welch 校正
# 输出
#   t_stat: t 统计量
#   df: 自由度
#   p_value: 双侧 p 值function two_sample_t_test(X1, X2, equal_var):n1 ← length(X1);   n2 ← length(X2)μ1 ← mean(X1);     μ2 ← mean(X2)s1_sq ← variance(X1)  # 分母 n1−1s2_sq ← variance(X2)if equal_var:# pooled variancesp_sq ← ((n1−1)*s1_sq + (n2−1)*s2_sq) / (n1 + n2 − 2)t_stat ← (μ1 − μ2) / (sqrt(sp_sq) * sqrt(1/n1 + 1/n2))df ← n1 + n2 − 2else:# Welch’s tt_stat ← (μ1 − μ2) / sqrt(s1_sq/n1 + s2_sq/n2)numerator ← (s1_sq/n1 + s2_sq/n2)^2denominator ← (s1_sq/n1)^2/(n1−1) + (s2_sq/n2)^2/(n2−1)df ← numerator / denominator# 双侧 p 值p_value ← 2 * (1 − t_cdf(abs(t_stat), df))return t_stat, df, p_value
  • 时间复杂度 O ( n 1 + n 2 ) O(n_1 + n_2) O(n1+n2)

  • 注意事项

    • 样本量过小时,正态性假设更关键;
    • 基因组范围内多重检验时需配合 FDR 或 Bonferroni 校正;
    • 对极低表达或零膨胀数据,建议先做滤除或转换(如 log2(x+1))。
http://www.xdnf.cn/news/7986.html

相关文章:

  • React中 lazy与 Suspense懒加载的组件
  • 26、AI 预测性维护 (燃气轮机轴承) - /安全与维护组件/ai-predictive-maintenance-turbine
  • 鸿蒙电脑系统和统信UOS都是自主可控的系统吗
  • 从零开始:Python语言基础之条件语句(if-elif-else)
  • Java虚拟机栈
  • 社会工程与信息收集
  • 左手腾讯CodeBuddy 、华为通义灵码,右手微软Copilot,旁边还有个Cursor,程序员幸福指数越来越高了
  • Human Dil-HDL,使用方法,红色荧光标记人源高密度脂蛋白
  • 循环队列分析及应用
  • 在 Qt 中实现动态切换主题(明亮和暗黑)
  • Gartner研究报告《Generative AI 赋能Digital Commerce的三种路径》学习心得
  • 笑林广记读书笔记三
  • 下一代电子电气架构(EEA)的关键技术
  • 具有思考模式模型部署:Qwen3、DeepSeek-R1-Distill、Phi-4、QWQ系列
  • 模型量化与保存
  • Python实例题:Python实现简单画板
  • 网络安全之身份验证绕过漏洞
  • 【AI+开发】什么是LLM、MCP和Agent?
  • 容器网络中的 veth pair 技术详解
  • 求无符号字符型数据乘积的高一半
  • 隧道自动化监测解决方案
  • 【攻防实战】MacOS系统上线Cobalt Strike
  • 高并发内存池|六、page cache的设计
  • 13、自动配置【源码分析】-自动包规则原理
  • Springboot2
  • Qt enabled + geometry 属性(2)
  • 微信小游戏流量主广告自动化浏览功能案例5
  • 【IP101】图像质量评价体系:从主观评价到客观度量的完整解析
  • RL电路的响应
  • Spring AI 1.0 GA 于 2025 年 5 月 20 日正式发布,都有哪些特性?