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

打印 上一主题 下一主题

主题 825|帖子 825|积分 2475

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

  
一、说明

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

以下是一些最紧张的抽样方法:


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

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

Python 代码示例:
  1. import numpy as np
  2. # Population
  3. population = np.arange(1, 101)  # A population of 100 individuals
  4. # Simple Random Sampling
  5. sample_size = 10
  6. simple_random_sample = np.random.choice(population, size=sample_size, replace=False)
  7. print("Simple Random Sample:", simple_random_sample)
  8. # Simple Random Sample: [ 3 38 97 94 92 76 71 48 89 49]
复制代码
长处:


  • 最大限度地减少选择毛病。
  • 易于实行和明确。
缺点:


  • 对于非常巨大的人口来说大概不可行。
  • 不能确保子群体按比例代表。
四、 Stratified Sampling分层抽样

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

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

Python 代码示例:
  1. import numpy as np
  2. import pandas as pd
  3. # Creating a hypothetical population data with strata
  4. data = {
  5.     'Stratum': ['A']*50 + ['B']*50,
  6.     'Value': np.random.randint(1, 100, 100)
  7. }
  8. df = pd.DataFrame(data)
  9. # Stratified Sampling
  10. stratified_sample = df.groupby('Stratum', group_keys=False).apply(lambda x: x.sample(frac=0.1))
  11. print("Stratified Sample:\n", stratified_sample)
复制代码
输出:

长处:


  • 确保全部子群的代表性。
  • 为每个层提供更精确的估计。
缺点:


  • 须要详细了解人口特征。
  • 管理起来大概更复杂、更耗时。
五、 Cluster Sampling 整群抽样

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

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

Python 代码示例:
  1. import numpy as np
  2. import pandas as pd
  3. # Creating a hypothetical population data with clusters
  4. data = {
  5.     'Cluster': ['A']*5 + ['B']*5 + ['C']*5 + ['D']*5,
  6.     'Value': np.random.randint(1, 20, 20)
  7. }
  8. df = pd.DataFrame(data)
  9. # Cluster Sampling
  10. clusters = df['Cluster'].unique()
  11. chosen_clusters = np.random.choice(clusters, size=2, replace=False)
  12. cluster_sample = df[df['Cluster'].isin(chosen_clusters)]
  13. print("Cluster Sample:\n", cluster_sample)
复制代码
输出:

长处:


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


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

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

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

Python 代码示例:
  1. import numpy as np
  2. # Population
  3. population = np.arange(1, 101)
  4. # Systematic Sampling
  5. sample_size = 10
  6. k = len(population) // sample_size
  7. systematic_sample = population[::k]
  8. print("Systematic Sample:", systematic_sample)
  9. # Systematic Sample: [ 1 11 21 31 41 51 61 71 81 91]
复制代码
长处:


  • 实行简单、快捷。
  • 确保匀称覆盖人口。
缺点:


  • 如果人群中存在隐藏的模式,则大概会引入私见。
七、Convenience Sampling便利抽样

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

Python 代码示例:
  1. import numpy as np
  2. # Population
  3. population = np.arange(1, 101)
  4. # Convenience Sampling
  5. convenience_sample = population[:10]
  6. print("Convenience Sample:", convenience_sample)
  7. # Convenience Sample: [ 1  2  3  4  5  6  7  8  9 10]
复制代码
长处:


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


  • 私见风险高。
  • 效果大概不适用于整个人群。
八、结论

总之,各种抽样技能,如简单随机抽样、分层抽样、整群抽样、系统抽样和便利抽样,提供了根据特定研究需求和实际考虑选择样本的不同方法。每种方法都有自己的长处和局限性,允许研究人员根据研究要求定制抽样方法。
在我们的机器学习之旅中,我们用 Python 代码探索了不同类型的采样。预测第 37节,我们将先容点估计,包括估计量的属性,例如无偏性和一致性。我们还将深入研究最大似然估计等方法。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

干翻全岛蛙蛙

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表