全网最强总结,9大统计检验方法(珍藏版)

创作不易,还请各位同学三连点赞!!收藏!!转发!!!

对于刚入门学习Python还找不到方向的小伙伴可以试试我的这份学习方法和籽料,免费自取!!

统计检验是数据分析中不可或缺的一部分.无论是对比均值、分布,还是评估变量之间的关系,都需要使用统计检验来判断结果的显著性.本文将介绍10种常用的统计检验方法,按类别进行分类,并提供Python实现代码.

1. 均值检验(T检验)

1.1 单样本T检验

描述:用于检验样本均值是否与给定值有显著差异.

  • 原理:比较样本均值与已知值,判断差异是否由于随机波动.

  • 核心公式: T=Xˉ−μS/nT = \frac{\bar{X} - \mu}{S / \sqrt{n}}T=S/nXˉ−μ 其中,Xˉ\bar{X}Xˉ 为样本均值,μ\muμ 为假设均值,SSS 为标准差,nnn 为样本量.

  • Python 实现:

from scipy import stats

# 示例数据
data = [2.1, 2.5, 2.8, 3.2, 3.5]
t_stat, p_val = stats.ttest_1samp(data, popmean=3)

1.2 双样本T检验

描述:用于比较两组样本均值是否显著不同.

  • 原理:计算两组数据均值的差异,并判断差异是否由于随机性.

  • 核心公式: T=X1ˉ−X2ˉS12n1+S22n2T = \frac{\bar{X_1} - \bar{X_2}}{\sqrt{\frac{S_1^2}{n_1} + \frac{S_2^2}{n_2}}}T=n1S12+n2S22X1ˉ−X2ˉ 其中,X1ˉ,X2ˉ\bar{X_1}, \bar{X_2}X1ˉ,X2ˉ 为两组均值,S1,S2S_1, S_2S1,S2 为两组标准差,n1,n2n_1, n_2n1,n2 为样本量.

  • Python 实现:

# 示例数据
data1 = [2.1, 2.5, 2.8]
data2 = [3.1, 3.5, 3.8]
t_stat, p_val = stats.ttest_ind(data1, data2)

1.3 配对T检验

描述:用于比较配对数据(如实验前后的测量值)之间的均值差异.

  • 原理:计算每对数据的差值,然后检验差值的均值是否为0.

  • 核心公式: T=DˉSD/nT = \frac{\bar{D}}{S_D / \sqrt{n}}T=SD/nDˉ 其中,Dˉ\bar{D}Dˉ 为差值均值,SDS_DSD 为差值的标准差,nnn 为样本量.

  • Python 实现:

# 示例数据
before = [2.1, 2.5, 2.8]
after = [3.1, 3.5, 3.8]
t_stat, p_val = stats.ttest_rel(before, after)

2. 方差分析(ANOVA)

2.1 单因素方差分析

描述:用于比较三个或多个组的均值是否有显著差异.

  • 原理:通过比较组间方差和组内方差,判断组间均值差异是否显著.

  • 核心公式: F=组间方差组内方差F = \frac{\text{组间方差}}{\text{组内方差}}F=组内方差组间方差

  • Python 实现:

import pandas as pd
import statsmodels.api as sm
from statsmodels.formula.api import ols

# 示例数据
df = pd.DataFrame({'group': ['A', 'A', 'B', 'B', 'C', 'C'],
                   'value': [10, 12, 13, 9, 15, 16]})
model = ols('value ~ C(group)', data=df).fit()
anova_result = sm.stats.anova_lm(model)

3. 卡方检验(Chi-Square Test)

3.1 卡方独立性检验

描述:用于判断两个分类变量之间是否存在关联.

  • 原理:通过比较观测频数与期望频数,检验变量是否独立.

  • 核心公式: χ2=∑(O−E)2E\chi^2 = \sum \frac{(O - E)^2}{E}χ2=∑E(O−E)2 其中,OOO 为观测频数,EEE 为期望频数.

  • Python 实现:

import numpy as np
from scipy.stats import chi2_contingency

# 示例数据
data = np.array([[10, 10, 20], [20, 20, 10]])
chi2, p, dof, expected = chi2_contingency(data)

4. 相关性检验(Correlation Test)

4.1 皮尔森相关系数

描述:用于度量两个变量之间的线性相关性.

  • 原理:计算变量之间的协方差与标准差的比值.

  • 核心公式: r=∑(X−Xˉ)(Y−Yˉ)∑(X−Xˉ)2∑(Y−Yˉ)2r = \frac{\sum (X - \bar{X})(Y - \bar{Y})}{\sqrt{\sum (X - \bar{X})^2} \sqrt{\sum (Y - \bar{Y})^2}}r=∑(X−Xˉ)2∑(Y−Yˉ)2∑(X−Xˉ)(Y−Yˉ)

  • Python 实现:

from scipy.stats import pearsonr

# 示例数据
x = [1, 2, 3, 4]
y = [2, 3, 4, 5]
corr, p_val = pearsonr(x, y)

5. 正态性检验(Normality Test)

5.1 Shapiro-Wilk检验

描述:用于判断数据是否服从正态分布.

  • 原理:通过比较样本数据和正态分布的理论分布,检验数据是否正态.

  • Python 实现:

from scipy.stats import shapiro

# 示例数据
data = [1.2, 1.3, 1.5, 1.8, 2.0]
stat, p_val = shapiro(data)

6. 秩和检验(Mann-Whitney U检验)

描述:用于比较两组数据的分布是否不同,适用于非正态数据.

  • 原理:比较两组数据的秩和.

  • Python 实现:

from scipy.stats import mannwhitneyu

# 示例数据
group1 = [1, 2, 3]
group2 = [4, 5, 6]
stat, p_val = mannwhitneyu(group1, group2)

7. 方差齐性检验(Levene检验)

描述:用于检验多个样本组的方差是否相等.

  • Python 实现:

from scipy.stats import levene

# 示例数据
group1 = [1, 2, 3]
group2 = [4, 5, 6]
stat, p_val = levene(group1, group2)

8. Wilcoxon符号秩检验

描述:用于配对样本非正态数据的差异检验.

  • Python 实现:

from scipy.stats import wilcoxon

# 示例数据
before = [1, 2, 3]
after = [2, 3, 4]
stat, p_val = wilcoxon(before, after)

9. Kolmogorov-Smirnov 检验(K-S检验)

9.1 Kolmogorov-Smirnov检验(单样本)

描述:用于检验样本数据与参考分布(如正态分布)是否一致.

  • 原理:通过比较样本数据的累积分布函数(CDF)与理论分布的CDF,判断样本是否符合特定分布.

  • 核心公式: Dn=max|Fn(x)−F0(x)|D_n = \max |F_n(x) - F_0(x)|Dn=max∣Fn(x)−F0(x)∣,其中Fn(x)F_n(x)Fn(x)是样本的累积分布函数,F0(x)F_0(x)F0(x)是理论分布的累积分布函数.

  • Python实现:

from scipy.stats import kstest

# 示例数据:测试样本是否来自正态分布
data = [1.2, 2.3, 1.9, 2.4, 2.5]
stat, p_val = kstest(data, 'norm')
print(f"K-S统计量: {stat}, p值: {p_val}")

9.2 Kolmogorov-Smirnov检验(双样本)

描述:用于比较两个样本数据的分布是否相同.

  • 原理:比较两个样本的累积分布函数,判断是否来自同一分布.

  • Python实现:

from scipy.stats import ks_2samp

# 示例数据:两组数据分布比较
data1 = [1.2, 2.3, 1.9, 2.4]
data2 = [1.5, 2.5, 2.1, 2.7]
stat, p_val = ks_2samp(data1, data2)
print(f"K-S统计量: {stat}, p值: {p_val}")

这篇文章为不同类型的统计检验提供了简洁明了的介绍、核心公式及Python实现代码,适合想要快速掌握并应用这些方法的读者.

资源分享

读者福利:对Python感兴趣的童鞋,为此我专门给大家准备好了Python全套的学习资料

​​

 Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

图片​​​

视频教程

大信息时代,传统媒体远不如视频教程那么生动活泼,一份零基础到精通的全流程视频教程分享给大家

图片​​​

实战项目案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

图片​​​

图片​​​

副业兼职路线

​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值