[数据分析] [保姆级教程] 数据差异分析方法

当比较两组数据是否差异显著时,可用参数检验和非参数检验。因为参数检验会更加准确,所以一般会先用参数检验。不同的参数检验方法有不同的要求,如果不满足要求,可以对数据进行转换,如果转换后也无法达到要求,再用非参数检验。

              数据检验方法无脑选择流程图

在这里插入图片描述

1. 参数检验

参数检验数据都要满足正态分布或近似正态分布

1.1 数据处理
1.1.1 检验数据是否符合正态分布
由于参数检验都要求数据符合正态分布,所以检查数据是否符合。常用的检测方法有两种,KS-检验和 SW-检验。如果检验结果 P 值大于 0.05,则数据符合正态分布。

参考链接: https://blog.csdn.net/weixin_39796839/article/details/111089672

以下用 python 进行举例,也可用 spss 软件分析
大样本量(>50)用 KS-检验(Kolmogorov-Smirnov test)

# 检验一组数据是否符合正态分布
from scipy.stats import kstest
import numpy as np
 
x = np.random.normal(0,1,1000)
test_stat = kstest(x, 'norm')
# >>> test_stat
#(0.021080234718821145, 0.76584491300591395)
# p 值 = 0.765 > 0.05 , 符合正态分布
# 如果 p 值小于 0.05 则不符合正态分布

小样本量(3-50)用 SW-检验(Shapiro—Wilk test)

# 检验一组数据是否符合正态分布
from scipy.stats import shapiro
import numpy as np
x = np.array([4,8,15,7,15])
test_stat_sw = shapiro(x)
test_stat_sw
# >>> test_stat
# (0.8645032644271851, 0.24487225711345673)
# p 值 = 0.244 > 0.05 , 符合正态分布
# 如果 p 值小于 0.05 则不符合正态分布

1.1.2 数据转化为正态分布的方法及适用数据
如果数据经过正态检验后不符合,就需要对数据进行转换,使之符合正态分布。转换完成后就可以按照需求挑选检验方法。

参考链接: https://blog.csdn.net/zhouxuechao/article/details/114290696

  • 对数变换:服从对数正态分布的数据。 平方根变换:服从 Poission 分布的数据。
  • 倒数变换:资料两端波动较大的数据,可使极端值的影响减小。
  • 平方根反正弦变换:服从二项分布的率或百分比的数据。
  • box-cox 变化:连续的响应变量不满足正态分布的数据。

1.2 t 检验
适用:两组数据间小样本量的比较(小于 30 个数据)
途径:比较均值
要求:所有 t 检验数据都要服从正态分布,或近似正态分布。

  • 单样本 t 检验:比较一组和一个数据间有无差异。
  • 成对样本 t 检验:比较成对样本间的差异。
  • 独立样本 t检验:要满足方差齐性检验,比较两组数据间的差异,两组数据个数可以不同。

1.3 F 检验
适用:两组或多组数据间的比较。适合大样本量的比较,小样本量也可以分析。
途径:比较均值

  • 方差齐性检验:用来检验方差齐性。
  • 方差分析:分离各有关因素并估计其对总变异的作用,分析因素间的交互作用。
  • 线性回归显著性分析:显著呈线性,不显著可能是非线性。

2. 非参数检验

2.1 卡方检验
适用:比较两组数据是否属于同一个类别。
途径:通过比较预测值和真实值之间的差异,来定性。

参考内容
方差分析、T 检验、卡方分析如何区分?
链接: https://zhuanlan.zhihu.com/p/57756620?utm_source=qq

### 关于DESeq2的详细教程和入门指南 #### 差异表达分析中的DESeq2工具 DESeq2 是一种广泛应用于 Bulk RNA-seq 数据差异表达分析的强大 R 包。它通过负二项分布模型处理计数数据,能够有效校正样本间的大小因子 (Size Factor),并考虑生物重复带来的变异性[^1]。 #### 使用 DESeq2 进行差异表达分析的主要步骤概述 以下是基于 DESeq2 的典型工作流描述: 1. **准备输入文件** 输入通常是来自 FeatureCounts 或其他定量软件生成的基因计数矩阵。该矩阵应包含列代表样品,行代表基因 ID 和对应的读取计数值[^2]。 2. **加载必要的库和数据预处理** 需要安装并加载 `DESeq2` 包以及导入实验设计表(Design Table)。如果基因名称更直观,则可以将基因 ID 转换为基因名。 ```r library(DESeq2) countData <- read.csv("count_matrix.csv", row.names=1) colData <- data.frame(condition=factor(c("control","control","treated","treated"))) dds <- DESeqDataSetFromMatrix(countData=countData, colData=colData, design=~condition) ``` 3. **标准化与差异表达检测** 利用 DESeq2 提供的功能对原始计数进行归一化,并估计每个基因的均值方差关系。随后执行统计检验以识别显著变化的基因。 ```r dds <- DESeq(dds) res <- results(dds) ``` 4. **结果解释与可视化** 结果对象包含了调整后的 P 值 (`padj`) 及倍数变化量等信息。可以通过火山图等方式展示这些发现。 ```r plotMA(res, main="DE Analysis MA Plot", ylim=c(-2,2)) ``` #### 推荐的学习资源链接 为了深入理解如何应用此方法论解决实际科研问题,建议查阅官方文档或者社区分享的相关案例研究材料。例如 Bioconductor 平台上的手册提供了详尽的操作指导和技术细节说明;而 GitHub 上也有不少开发者贡献了自己的实践笔记可供参考学习。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dennis-Ning

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值