如何估计池塘里鱼的数目,周边有多少车辆?
如何估计池塘里鱼的数目?
老李想估计一下自己池塘里鱼的数量,第一天他捕捞了50条鱼做好标记,然后全放回池塘。过了几天带标记的鱼完全混合于鱼群中,他又去捕捞了168条,发现做标记的鱼有8条。帮老李估算一下池塘里的鱼有多少条。
这是一个典型的用抽样样本来估计总体的统计办法。168条鱼中有8条标记鱼,这样老李可以估计标记鱼占全体鱼的比是8:168。由于总共有50条标记鱼,那么全体鱼的数目就应该是1050。
50×168÷8=1050
简单估计池塘里的鱼群的数目容易产生较大的误差,如果偶然只捞了两条标记鱼,那么池塘里鱼的总数就会被高估,50×168÷6=1400条!这样很轻易就造成了25%的误差。
减少误差的方法
基于这个原因,如果这些鱼经得起折腾的话,更好的办法是放回去再多捕捞几次,取个平均值。
先从池塘中捞出100条鱼分别做上记号,放回池塘,等鱼完全混合后,第一次捞出100条鱼,其中有4条带标记的鱼,第二次又捞出100条鱼,其中有6条带标记的鱼。 100 x = 4 + 6 100 + 100 \frac{100} {x}=\frac{4+6}{100+100} x100=100+1004+6,则, x = 2000 x=2000 x=2000。
正态分布近似估算
这是一种基于二项分布理论的方法,但在这里可用正态分布近似估算。计算误差时,只需改变样本方差的算法即可,其他都不变。以《数据化决策》书中的案例为例。
N = p ± z a 2 p ( 1 − p ) n N=p±z_{\frac{a}{2}}\sqrt{\frac{p(1-p)}{n}} N=p±z2anp(1−p)
其中:
p p p,样本比例。
z a 2 z_{\frac{a}{2}} z2a,置信区间统计量,例如95%置信区间取1.96,90%取1.645。
n n n,样本数量。
标准误差(standard error)通常是指样本统计量(如样本平均值、样本标准差等)的标准差,它反映了统计量的抽样误差。标准误差的计算公式与具体的统计量相关。
统计量的标准误差,当总体标准差未知时,可用样本标准差代替计算,这时计算的标准误差称为估计标准误差(standard error of estimation)。由于实际应用中,总体总是未知的,所计算的标准误差实际上都是估计标准误差,因此估计标准误差就简称为标准误差。同样,当总体比例的方差未知时,可用样本比例的方差代替。计算公式: p ( 1 − p ) n \sqrt{\frac{p(1-p)}{n}} np(1−p)。
先从池塘中捞出1000条鱼分别做上记号,放回池塘,等鱼完全混合后,再捞出1000条鱼,其中有50条是做过标记的,这就意味着池塘里大概有5%的鱼做过标记,因此,得出结论是池塘里大约有20000条鱼。
样本方差是用群体内的样本比例乘以非样本比例。换句话说,是将二次抓取时鱼群中做标记的比例(0.05)乘以没做标记的比例(0.95),结果是 0.05 × 0.95 = 0.0475 0.05\times0.95=0.0475 0.05×0.95=0.0475,按90%置信区间取1.645。
1.645 0.0475 1000 = 0.012 1.645\sqrt{\frac{0.0475}{1000}}=0.012 1.64510000.0475=0.012
0.05 ± 0.012 = ( 3.8 % ∼ 6.2 % ) 0.05±0.012=(3.8\% \sim6.2\%) 0.05±0.012=(3.8%∼6.2%)
因此湖中鱼的总数是16129~26316,(1000/0.062=16129,1000/0.038=26316)。
对有些人来说,这看似是一个比较大的范围,但假设我们以前的不确定性水平很高,校准估计的范围也只是2000~50000条,所以这一范围已经大为缩小了。如果我们当初放养了5000条鱼,现在仅仅是想知道鱼的总数是增加了还是减少了,那么任何大于6000的数字都表示鱼的总数增加了,超过10000条当然更好。如果把初始范围和相关阈值都考虑在内,不确定性显然已经大为减小,误差也在可接受范围之内。实际上,我们完全可以在第一次抓捕中只抓250条鱼,然后放掉,再抓250条,也就是说抽样量只有前面的1/4。假设做过标记的鱼在第2次重抓时所占比例也是5%左右,那么我们对鱼的总数超过6000条仍然很有信心,也就是说6000仍然在90%置信区间内。
这种通过抽样来揭示全貌的方法特别有用,这种方法已经用于评估美国人口普查局统计遗漏的人数、亚马孙流域未经发现的蝴蝶种类及未知的潜在顾客数量等问题。未能看到整体全貌,并不意味着不能对它进行量化。
从本质上说,抓与重抓是两次独立抽样,比较两次抽样的重合程度,可以估计群体总数。
周边有多少车辆应用思考?
如果我们想知道我们生活的区域周边有多少车辆,可否使用这样方案。
例如,我们在纵向的街道上,通过随机录像、拍照记录1000辆车牌号,下周大致相同时间,再随机记录1000辆车牌号;同样方法在横向街道,再进行一次,这样估算反映了什么呢?
反映出这个街道上,周边能到此街道的车辆规模,是这样吗?

怎么抽样更准?
抽样占比为5%,样本数分别为100、1000、1000,则整体估计情况如下:

重复抽样标记比例提高到10%,其他不变则整体估计情况如下:

怎么抽样更准?
首先是增大样本数,其次,在样本数不变的情况下,尽量提高标记比例。
参考:
Douglas W. Hubbard. 数据化决策. 广东人民出版社. 2018.05
相关文章:
如何估计池塘里鱼的数目,周边有多少车辆?
如何估计池塘里鱼的数目? 老李想估计一下自己池塘里鱼的数量,第一天他捕捞了50条鱼做好标记,然后全放回池塘。过了几天带标记的鱼完全混合于鱼群中,他又去捕捞了168条,发现做标记的鱼有8条。帮老李估算一下池塘里的鱼…...
docker中安装rabbitMq并配置启动
目录 1. 拉取镜像并安装(此处实例安装的是最新版)2.查看docker中已安装的镜像和版本3.启动RabbitMq4.配置管理端5.安装完成 1. 拉取镜像并安装(此处实例安装的是最新版) docker pull rabbitmq2.查看docker中已安装的镜像和版本 …...
viewfs://为Hadoop 中的一个特殊文件系统
解释 viewfs:// 是 Hadoop 中的一个特殊文件系统 URI,用于访问 Hadoop 的视图文件系统(ViewFS)。 ViewFS 是 Hadoop 提供的一种虚拟文件系统,它可以将来自多个底层文件系统的文件统一管理和访问。 通过 ViewFS,你可…...
UniPro自定义个人专属工作台 大幅提升工作效率
很多研发团队在开完每日站会后,工程师的工作习惯便是打开研发管理系统,先看看自己的待办事项,或是查看同事的需求、评论,亦或是查看今日份工作的高优先级项等等。 如何方便工程师能够快速查看和了解一天的工作究竟从哪开始呢&…...
python调用飞书机器人发送文件
当前飞书webhook机器人还不支持发送文件类型的群消息,可以申请创建一个机器人应用来实现群发送文件消息。 创建机器人后,需要开通一系列权限,然后发布。由管理员审核通过后,才可使用。 包括如下的权限,可以获取群的c…...
【产品应用】一体化伺服电机在焊接设备中的应用
随着制造业的不断发展,焊接设备在许多领域都得到了广泛应用,如汽车制造、机械加工、钢结构等领域。为了提高焊接设备的性能和效率,许多厂家开始采用一体化伺服电机作为焊接设备的主要驱动部件。本文将介绍一体化伺服电机在焊接设备中的应用背…...
uni+vue3+firstUI——组件弹框使用 v-model绑定参数
说明 将框架弹框组件 封装成子组件,在页面中引用该子组件,传参并控制弹框显示与隐藏。 子组件 <template><view><wh-modal :show"showPopup" :descr"descr" maskClosable click"onClick" :buttons"…...
【电路笔记】-正弦波形
正弦波 文章目录 正弦波1、概述2、波形产生3、总结 在 19 世纪末的 10 年间,许多技术成就使得交流电的使用得以扩展,并克服了直流电向公众供电的局限性。 1882 年,法国发明了变压器,它简化了交流电的分配,正如我们将在…...
Failed to launch task: 文件”Setup”不存在 Mac安装Adobe软件报错解决方案
在安装 Adobe 软件时,软件提示 Failed to launch task: 文件”Setup”不存在 ,这个时候怎么处理呢? 解决方法如下: 1、安装 AnitCC 或 或 Creative Cloud 环境,保证软件所需要的环境 2、如果安装后也不起作用&#x…...
什么是 DevOps
DevOps是一套融合软件开发(Dev)和 IT 运营(Ops)的实践,旨在缩短应用程序开发周期并确保以高软件质量持续交付,通过采用 DevOps 实践,您可以帮助组织更可靠、更快速、更高效地交付软件。 什么是…...
java修仙基石篇->instanceof子父类检查
instanceof检查子父类(或者是否能被强转) 作用1:检查某对象是否是某类的子类 如:儿子类继承了父亲类。 检查儿子类对象是否属于父亲类 作用2:检查两个对象是否可以强转 语法: 子类对象 instanceof 父…...
[笔记] ‘\0‘的含义:任何字符串后面都会有的结束符。
参考博客:C语言中 \0 代表什么 摘录: ‘\0’ 是字符串的结束符,任何字符串之后都会自动加上’\0’。如果字符串末尾少了‘\0’字符,则其在输出时可能会出现乱码问题。 字符串总是以“\0”作为串的结束符;因此当把一个…...
雪花算法:分布式ID生成的优雅解决方案(建议收藏)
在分布式系统中,唯一ID的生成和管理是一项重要而棘手的任务。雪花算法,由Twitter开源的一种分布式ID生成算法,为这个问题提供了一种优雅的解决方案。本文将详细介绍雪花算法的原理、设计和实现,并通过示例代码和图片帮助读者更好地…...
全国产EtherCAT运动控制边缘控制器(六):RtBasic文件下载与连续轨迹加工的Python+Qt开发
今天,正运动小助手给大家分享一下全国产EtherCAT运动控制边缘控制器ZMC432H如何使用PythonQT实现连续轨迹加工。 01 功能简介 全国产EtherCAT运动控制边缘控制器ZMC432H是正运动的一款软硬件全国产自主可控,运动控制接口兼容EtherCAT总线和脉冲型的独立…...
git代码行统计
本文介绍统计项目代码行的方式,包括使用git log统计、git ls-files统计和使用linux命令行方式统计。 一、使用git log统计 1.统计所有代码行数 当前代码都存放在git仓库下,当需进行代码行数统计时,让开发人员在代码路径下运行如下指令&…...
LEEDCODE 2235两整数相加
class Solution { public:int sum(int num1, int num2) {return (num1 num2);} };...
魔术般的速度,焕然一新的磁盘空间 - Magic Disk Cleaner for Mac 2023
在当今这个信息时代,我们的磁盘空间无时无刻不在被各种文件和数据所填满。无论是工作文件,还是日常生活的照片、视频,亦或是下载的各种应用程序,都在不断地蚕食着我们的磁盘空间。面对这种情况,一款高效、便捷的磁盘垃…...
项目切换多租户导致的数据库SQL执行异常
先贴异常日志 java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(D…...
安防视频监控平台EasyCVR服务器需要开启firewalld防火墙,该如何开放端口?
智能视频监控/视频云存储/集中存储/视频汇聚平台EasyCVR具备视频融合汇聚能力,作为安防视频监控综合管理平台,它支持多协议接入、多格式视频流分发,视频监控综合管理平台EasyCVR支持海量视频汇聚管理,可应用在多样化的场景上&…...
Ubuntu Desktop 20.04升级gcc-11
默认自带的gcc是9,需要升级到11 sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt update sudo apt install gcc-11 sudo apt install g11 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50 sudo update-alternatives -…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...
