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

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

文章目录

  • 一、说明
  • 二、抽样方法
  • 三、简单随机抽样
  • 四、 Stratified Sampling分层抽样
  • 五、 Cluster Sampling 整群抽样
  • 六、Systematic 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节,我们将介绍点估计,包括估计量的属性,例如无偏性和一致性。我们还将深入研究最大似然估计等方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/60862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CGMA – Cloth Creation and Simulation for Real-Time

CGMA – 实时布料创建和模拟 Info: 本课程介绍如何将 Marvelous Designer 整合到布料工作流程中以实时创建角色,从软件基础知识到创建逼真和风格化服装的高级技术。本课程将首先介绍软件,通过创建现代、现代的服装,然后深入探讨使…

Springboot组合SpringSecurity安全插件基于密码的验证Demo

Springboot组合SpringSecurity安全插件基于密码的验证Demo!下面的案例&#xff0c;都是基于数据库mysql&#xff0c;用户密码&#xff0c;验证登录的策略demo。 1&#xff1b;引入maven仓库的坐标 <dependency><groupId>org.springframework.boot</groupId>…

从Full-Text Search全文检索到RAG检索增强

从Full-Text Search全文检索到RAG检索增强 时光飞逝&#xff0c;转眼间六年过去了&#xff0c;六年前铁蛋优化单表千万级数据查询性能的场景依然历历在目&#xff0c;铁蛋也从最开始做CRUD转行去了大数据平台开发&#xff0c;混迹包装开源的业务&#xff0c;机缘巧合下做了实时…

单片机学习笔记 8. 矩阵键盘按键检测

更多单片机学习笔记&#xff1a;单片机学习笔记 1. 点亮一个LED灯单片机学习笔记 2. LED灯闪烁单片机学习笔记 3. LED灯流水灯单片机学习笔记 4. 蜂鸣器滴~滴~滴~单片机学习笔记 5. 数码管静态显示单片机学习笔记 6. 数码管动态显示单片机学习笔记 7. 独立键盘 目录 0、实现的…

【AI日记】24.11.26 聚焦 kaggle 比赛

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 核心工作 1 内容&#xff1a;研究 kaggle 比赛时间&#xff1a;3 小时 核心工作 2 内容&#xff1a;学习 kaggle 比赛 Titanic - Machine Learning from Disaster时间&#xff1a;4 小时备注&#xff1a;这…

排序算法2

排序算法1-CSDN博客 排序算法1中提及的是较为基础(暴力实现&#xff0c;复杂度较高)的排序算法&#xff0c;不适合于数据量较大的场景&#xff0c;比如序列长度达到1e5 接下来以蓝桥另一道题目来理解其它的排序算法 蓝桥3226 蓝桥账户中心 样例 5 1 5 9 3 7 4、快速排序 快速排…

【数据结构实战篇】用C语言实现你的私有队列

&#x1f3dd;️专栏&#xff1a;【数据结构实战篇】 &#x1f305;主页&#xff1a;f狐o狸x 在前面的文章中我们用C语言实现了栈的数据结构&#xff0c;本期内容我们将实现队列的数据结构 一、队列的概念 队列&#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端…

macos 14.0 Monoma 修改顶部菜单栏颜色

macos 14.0 设置暗色后顶部菜单栏还维持浅色&#xff0c;与整体不协调。 修改方式如下&#xff1a;

长三角文博会:Adobe国际认证体系推动设计人才评价新标准

2024年11月22日&#xff0c;由上海、江苏、浙江、安徽三省一市党委宣传部共同发起的第五届长三角文化博览会&#xff08;简称“长三角文博会”&#xff09;在上海国家会展中心盛大启幕。长三角文博会自2018年起已成功举办多届&#xff0c;已成为展示区域文化产业发展成果、推动…

安装数据库客户端工具

如果没有勾选下面的&#xff0c;可以运行下面的两个命令 红框为自带数据库 新建数据库 右键运行mysql文件&#xff0c;找到数据库&#xff0c;并刷新

SQL 复杂查询

目录 复杂查询 一、目的和要求 二、实验内容 &#xff08;1&#xff09;查询出所有水果产品的类别及详情。 查询出编号为“00000001”的消费者用户的姓名及其所下订单。&#xff08;分别采用子查询和连接方式实现&#xff09; 查询出每个订单的消费者姓名及联系方式。 在…

Angular面试题汇总系列一

1. 如何理解Angular Signal Angular Signals is a system that granularly tracks how and where your state is used throughout an application, allowing the framework to optimize rendering updates. 什么是信号 信号是一个值的包装器&#xff0c;可以在该值发生变化时…

ES 和Kibana-v2 带用户登录验证

1. 前言 ElasticSearch、可视化操作工具Kibana。如果你是Linux centos系统的话&#xff0c;下面的指令可以一路CV完成服务的部署。 2. 服务搭建 2.1. 部署ElasticSearch 拉取docker镜像 docker pull elasticsearch:7.17.21 创建挂载卷目录 mkdir /**/es-data -p mkdir /**/…

【踩坑】git中文乱码问题

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 背景说明 使用git diff显示中文乱码&#xff0c;如&#xff1a; 修复方法 执行一次&#xff1a; export LESSCHARSETutf-8 如果需要下次登录免输入…

go语言逆向-基础basic

文章目录 go 编译命令 ldflags -w -s的作用和问题使用 file 命令查看文件类型 go 语言逆向参考go ID版本GOROOT和GOPATHGOROOTGOPATHGOROOT和GOPATH的关系示例 go build和 go modpclntab &#xff08;Program Counter Line Table 程序计数器行数映射表&#xff09;Moduledata程…

D2761 适合在个人电脑、便携式音响等系统中作音频限幅用。

概述&#xff1a; D2761是为保护扬声器所设计的音频限幅器&#xff0c;其限幅值可通过外接电阻来调节&#xff0c;适合在个人电脑、便携式音响等系统中作音频限幅用。D2761采用SSOP10、MSOP10、TSSOP14的封装形式封装。 主要特点&#xff1a;  工作电压范围宽&#xff1a;2.7…

【Linux系统】—— 基本指令(四)

【Linux系统】—— 基本指令&#xff08;三&#xff09; 1「find」指令2 「grep」指令2.1 初识「grep」指令2.2 「grep」指令 选项 3 打包压缩基本知识4 「zip / unzip」指令5「tar」命令6 文件互传6.1 Linux 与 Windows 互传6.1.1 Linux向Windows传输6.1.2 Windows向Linux传输…

WordCloud去掉停用词(fit_words+generate)的2种用法

-------------词云图集合------------- WordCloud去掉停用词&#xff08;fit_wordsgenerate&#xff09;的2种用法 通过词频来绘制词云图&#xff08;jiebaWordCloud&#xff09; Python教程95&#xff1a;去掉停用词词频统计jieba.tokenize示例用法 将进酒—李白process_t…

洛谷刷题日记12||图的遍历

反向建边 dfs 按题目来每次考虑每个点可以到达点编号最大的点&#xff0c;不如考虑较大的点可以反向到达哪些点 循环从N到1&#xff0c;则每个点i能访问到的结点的A值都是i 每个点访问一次&#xff0c;这个A值就是最优的&#xff0c;因为之后如果再访问到这个结点那么答案肯…

替代Postman ,17.3K star!

现在&#xff0c;许多人都朝着全栈工程师的方向发展&#xff0c;API 接口的编写和调试已成为许多开发人员必备的技能之一。 工欲善其事&#xff0c;必先利其器。拥有一款优秀的 API 工具对于任何工程师来说都是极为重要的&#xff0c;它能够帮助我们高效地完成各种开发任务。 …