ML 系列:第 36 节 — 统计学中的抽样类型

ML 系列:第 36 天 --- 统计学中的抽样类型

文章目录

  • 一、说明
  • 二、抽样方法
  • 三、简单随机抽样
  • [四、 Stratified Sampling分层抽样](#四、 Stratified Sampling分层抽样)
  • [五、 Cluster Sampling 整群抽样](#五、 Cluster Sampling 整群抽样)
  • [六、Systematic Sampling系统抽样](#六、Systematic Sampling系统抽样)
  • [七、Convenience Sampling便利抽样](#七、Convenience Sampling便利抽样)
  • 八、结论

一、说明

统计学中的抽样类型,抽样是统计学中的一个基本概念,涉及从较大的总体中选择个体或观察值的子集来估计整个总体的特征。有效的抽样方法可确保所选子集准确代表总体,减少偏差并提高统计推断的可靠性。

二、抽样方法

以下是一些最重要的抽样方法:

  • Simple Random Sampling 简单随机抽样
  • Stratified Sampling 分层抽样
  • Cluster Sampling 整群抽样
  • Systematic Sampling系统抽样

三、简单随机抽样

简单随机抽样 (SRS) 是一种每个人都有同等被选中机会的方法。此方法可确保样本能够代表总体。

Python 代码示例:

复制代码
import numpy as np

# Population
population = np.arange(1, 101)  # A population of 100 individuals

# Simple Random Sampling
sample_size = 10
simple_random_sample = np.random.choice(population, size=sample_size, replace=False)

print("Simple Random Sample:", simple_random_sample)

# Simple Random Sample: [ 3 38 97 94 92 76 71 48 89 49]

优点:

  • 最大限度地减少选择偏差。
  • 易于实施和理解。

缺点:

  • 对于非常庞大的人口来说可能不可行。
  • 不能确保子群体按比例代表。

四、 Stratified Sampling分层抽样

分层抽样是将总体划分为具有相似特征的不同子群体或层。然后从每个层抽取样本,抽取比例通常与层相对于总体的大小成正比。

分层抽样步骤:

  1. 确定层:确定定义每个层的特征(例如年龄、性别、收入水平)。
  2. . 划分人口:将人口划分为这些层。
  3. . 层内随机抽样:在每个层内进行简单随机抽样。

Python 代码示例:

复制代码
import numpy as np
import pandas as pd


# Creating a hypothetical population data with strata
data = {
    'Stratum': ['A']*50 + ['B']*50,
    'Value': np.random.randint(1, 100, 100)
}
df = pd.DataFrame(data)

# Stratified Sampling
stratified_sample = df.groupby('Stratum', group_keys=False).apply(lambda x: x.sample(frac=0.1))

print("Stratified Sample:\n", stratified_sample)

输出:

优点:

  • 确保所有子群的代表性。
  • 为每个层提供更精确的估计。

缺点:

  • 需要详细了解人口特征。
  • 管理起来可能更复杂、更耗时。

五、 Cluster Sampling 整群抽样

集群抽样通常基于地理或其他自然分组,将人群划分为集群。然后随机选择一个集群样本,并研究所选集群内的所有成员或随机成员样本。

集群抽样步骤:

  1. 定义集群:识别人口中的集群(例如学校、社区)。
  2. 集群的随机选择:使用简单随机抽样来选择要包括的集群。
  3. 集群内抽样:在选定的集群内进行人口普查或随机抽样。

Python 代码示例:

复制代码
import numpy as np
import pandas as pd

# Creating a hypothetical population data with clusters
data = {
    'Cluster': ['A']*5 + ['B']*5 + ['C']*5 + ['D']*5,
    'Value': np.random.randint(1, 20, 20)
}
df = pd.DataFrame(data)

# Cluster Sampling
clusters = df['Cluster'].unique()
chosen_clusters = np.random.choice(clusters, size=2, replace=False)
cluster_sample = df[df['Cluster'].isin(chosen_clusters)]

print("Cluster Sample:\n", cluster_sample)

输出:

优点:

  • 对于地理位置分散的人群来说,具有成本效益并且实用。
  • 减少旅行和管理成本。

缺点:

  • 与 SRS 和分层抽样相比,抽样误差更高。
  • 如果集群是异构的,则代表性较低。

六、Systematic Sampling系统抽样

系统抽样涉及在随机起点后选择群体中的每 k 个成员。当群体按逻辑顺序排列或有完整列表时,此方法很有用。

系统抽样步骤:

  1. 确定抽样间隔 (k):通过将总体大小除以所需样本大小来计算 k。
  2. 随机开始:在 1 和 k 之间选择一个随机起点。
  3. 选择样本:选择起点之后的每第 k 个个体。

Python 代码示例:

复制代码
import numpy as np

# Population
population = np.arange(1, 101)

# Systematic Sampling
sample_size = 10
k = len(population) // sample_size
systematic_sample = population[::k]

print("Systematic Sample:", systematic_sample)

# Systematic Sample: [ 1 11 21 31 41 51 61 71 81 91]

优点:

  • 实施简单、快捷。
  • 确保均匀覆盖人口。

缺点:

  • 如果人群中存在隐藏的模式,则可能会引入偏见。

七、Convenience Sampling便利抽样

便利抽样(也称为可用性抽样)涉及选择最容易接触的个体。这种方法通常用于随机抽样不切实际的探索性研究。

Python 代码示例:

复制代码
import numpy as np

# Population
population = np.arange(1, 101)

# Convenience Sampling
convenience_sample = population[:10]

print("Convenience Sample:", convenience_sample)
# Convenience Sample: [ 1  2  3  4  5  6  7  8  9 10]

优点:

  • 管理简便、快捷。
  • 成本效益高。

缺点:

  • 偏见风险高。
  • 结果可能不适用于整个人群。

八、结论

总之,各种抽样技术,如简单随机抽样、分层抽样、整群抽样、系统抽样和便利抽样,提供了根据特定研究需求和实际考虑选择样本的不同方法。每种方法都有自己的优点和局限性,允许研究人员根据研究要求定制抽样方法。

在我们的机器学习之旅中,我们用 Python 代码探索了不同类型的采样。展望第 37节,我们将介绍点估计,包括估计量的属性,例如无偏性和一致性。我们还将深入研究最大似然估计等方法。

相关推荐
wei_shuo1 小时前
OB Cloud 云数据库V4.3:SQL +AI全新体验
数据库·人工智能·sql
努力的搬砖人.1 小时前
AI生成视频推荐
人工智能
想要成为计算机高手2 小时前
Helix:一种用于通用人形控制的视觉语言行动模型
人工智能·计算机视觉·自然语言处理·大模型·vla
Mory_Herbert2 小时前
5.1 神经网络: 层和块
人工智能·深度学习·神经网络
Evand J3 小时前
MATLAB程序演示与编程思路,相对导航,四个小车的形式,使用集中式扩展卡尔曼滤波(fullyCN-EKF)
人工智能·算法
知来者逆4 小时前
在与大语言模型交互中的礼貌现象:技术影响、社会行为与文化意义的多维度探讨
人工智能·深度学习·语言模型·自然语言处理·llm
xwz小王子6 小时前
Taccel:一个高性能的GPU加速视触觉机器人模拟平台
人工智能·机器人
深空数字孪生7 小时前
AI时代的数据可视化:未来已来
人工智能·信息可视化
Icoolkj7 小时前
探秘 Canva AI 图像生成器:重塑设计创作新范式
人工智能
魔障阿Q8 小时前
windows使用bat脚本激活conda环境
人工智能·windows·python·深度学习·conda