最强总结,必会的四大统计检验方法!!!

开发 后端
统计检验是一种统计学方法,用于判断样本数据是否支持关于总体参数的某一假设。通过对样本数据的分析,统计检验可以帮助我们做出科学推断,以确定原假设是否成立或需要被拒绝。

大家好,我是小寒

统计检验是分析数据和做出可靠决策的重要工具。它们帮助我们发现模式、比较组别并理解数据中的关系。

作为一名数据分析师,了解何时以及如何使用这些检验可以让你的工作更准确、更有意义。

统计检验的定义

统计检验是一种统计学方法,用于判断样本数据是否支持关于总体参数的某一假设。通过对样本数据的分析,统计检验可以帮助我们做出科学推断,以确定原假设是否成立或需要被拒绝。

统计检验是统计学中最核心的内容之一,广泛应用于科学研究、工程实践、市场分析和医疗试验中,例如验证药物的疗效、比较不同教学方法的效果等。

统计检验的基本框架

3.显著性水平
显著性水平是拒绝原假设时可能犯错误的概率,通常取值为 0.05 或 0.01。
它衡量我们接受一定程度的不确定性来得出结论。

4.p值(p-value)
p 值是一个概率值,表示在原假设成立的条件下,观察到样本数据或更极端情况的概率。
如果p值小于显著性水平,则拒绝原假设。

5.决策规则
如果检验统计量的值落在显著性水平下的临界区间内(或p值小于显著性水平),则拒绝原假设;否则,不能拒绝原假设。

统计检验的流程

  1. 明确问题和设定假设
    确定要验证的研究问题,提出原假设和备择假设。
  2. 选择统计检验方法
    根据数据的类型(如定量或定性)、分布特点和研究目的,选择适当的检验方法。
  3. 计算检验统计量
    利用样本数据计算对应的检验统计量。
  4. 计算p值或确定临界值
    根据显著性水平计算p值,或使用统计分布确定临界值。
  5. 做出统计决策
    比较p值与显著性水平或检验统计量与临界值,决定是否拒绝原假设。
  6. 解释结果
    根据检验结果,结合实际问题给出明确的解释。

常见统计检验方法

统计检验方法根据研究目标、数据类型和分布假设的不同而有所差异。

以下是最常用的统计检验方法及其适用场景的详细介绍。

T 检验

用于比较均值,适合样本数据来自正态分布的总体,且样本量不大(通常小于30)。

类型

  1. 单样本 t 检验
    比较样本均值与已知总体均值之间的差异。
    例: 测试某城市居民的平均步数是否为10000步。
  2. 独立样本 t 检验
    比较两个独立样本的均值是否显著不同。
    例: 比较男性和女性的平均身高。
  3. 配对样本 t 检验
    比较两个相关样本(如同一组数据的前后测量)均值的差异。
    例: 比较同一组学生考试前后成绩。

假设

下面是一个单样本 t 检验的示例代码,用于检验样本均值是否等于某个值。

from scipy.stats import ttest_1samp
import numpy as np

# 示例数据
data = np.array([99, 101, 100, 98, 102, 100, 101, 99, 98])

# 原假设: 样本均值为 100
t_stat, p_value = ttest_1samp(data, 100)

print("t-statistic:", t_stat)
print("p-value:", p_value)

if p_value < 0.05:
    print("拒绝原假设,样本均值显著不等于 100")
else:
    print("不能拒绝原假设,样本均值不显著不同于 100")

卡方检验

用于分析分类数据,检验变量之间是否存在显著关联。

类型

  1. 独立性检验
    测试两个分类变量是否独立。
    例: 检验性别与购车偏好是否相关。
  2. 拟合优度检验
    测试样本频数分布是否与预期分布一致。
    例: 检验某品牌市场份额是否符合预期比例。

假设


下面是一个用于检验分类变量之间是否有显著关联的示例代码。

from scipy.stats import chi2_contingency
import numpy as np

# 示例数据(列联表)
# 行表示性别,列表示是否购买产品
data = np.array([[50, 30], [20, 40]])

# 卡方检验
chi2, p_value, dof, expected = chi2_contingency(data)

print("Chi-squared:", chi2)
print("p-value:", p_value)
print("Degrees of freedom:", dof)
print("Expected frequencies:\n", expected)

if p_value < 0.05:
    print("拒绝原假设,性别与购买行为有显著关联")
else:
    print("不能拒绝原假设,性别与购买行为无显著关联")

方差分析

用于比较三个或更多样本组的均值是否显著不同。

类型

  1. 单因素方差分析
    比较一个因子下多个组的均值差异。
    例: 比较不同肥料对植物生长的影响。
  2. 双因素方差分析
    考虑两个因子及其交互作用对结果的影响。
    例: 比较肥料和水分对植物生长的联合影响。

假设


下面是一个用于比较多个组的均值差异的示例代码。

from scipy.stats import f_oneway

# 示例数据
group1 = [5.1, 5.2, 5.3, 5.0, 5.4]
group2 = [6.2, 6.3, 6.1, 6.4, 6.0]
group3 = [4.5, 4.4, 4.6, 4.5, 4.7]

# 单因素方差分析
f_stat, p_value = f_oneway(group1, group2, group3)

print("F-statistic:", f_stat)
print("p-value:", p_value)

if p_value < 0.05:
    print("拒绝原假设,至少两组均值显著不同")
else:
    print("不能拒绝原假设,各组均值没有显著差异")

z检验 (z-test)

用于均值或比例的检验,适合样本量较大(通常n > 30),数据服从正态分布。

类型

  1. 单样本z检验
    检验样本均值与总体均值是否有显著差异。
  2. 两样本z检验
    检验两个独立样本均值或比例的差异。

假设

以下是单样本 z 检验的示例代码,用于检验样本均值是否等于某已知总体均值。

from statsmodels.stats.weightstats import ztest
import numpy as np

# 示例数据
data = [102, 98, 100, 97, 103, 99, 101, 104, 98, 95]

# 原假设: 样本均值等于总体均值 100
z_stat, p_value = ztest(data, value=100)

print("z-statistic:", z_stat)
print("p-value:", p_value)

if p_value < 0.05:
    print("拒绝原假设,样本均值显著不同于总体均值")
else:
    print("不能拒绝原假设,样本均值没有显著差异")


责任编辑:武晓燕 来源: 程序员学长
相关推荐

2024-09-11 08:32:07

2021-02-27 09:28:09

数据科学数据

2024-09-09 14:42:09

2024-10-10 08:12:12

2011-03-21 09:01:49

CSS框架

2015-07-17 09:50:16

Carthage优劣比较

2024-09-18 16:00:37

2016-03-30 11:51:55

2013-01-06 10:44:43

微软Windows 8云计算

2021-08-13 09:55:42

数据中心功耗IT支出

2021-07-30 17:47:46

数据中心电力能源

2019-01-23 16:13:02

大数据数据处理数据挖掘

2021-02-20 23:24:33

同态加密HE隐私保护

2021-04-08 11:20:24

零信任网络安全网络攻击

2024-10-31 11:52:05

缓存预热系统

2021-09-17 10:50:14

容器 Linux

2012-05-07 11:23:01

宽带接入速率宽带接入宽带

2013-05-20 08:56:13

2020-10-31 22:04:39

统计和数据科学数据科学家

2016-11-21 17:36:24

AR出版
点赞
收藏

51CTO技术栈公众号