如何估计池塘里鱼的数目,周边有多少车辆?
如何估计池塘里鱼的数目?
老李想估计一下自己池塘里鱼的数量,第一天他捕捞了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 -…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
多元隐函数 偏导公式
我们来推导隐函数 z z ( x , y ) z z(x, y) zz(x,y) 的偏导公式,给定一个隐函数关系: F ( x , y , z ( x , y ) ) 0 F(x, y, z(x, y)) 0 F(x,y,z(x,y))0 🧠 目标: 求 ∂ z ∂ x \frac{\partial z}{\partial x} ∂x∂z、 …...
