大数定律和中心极限定理

伯努利(Bernoulli)大数定律

进行\(n\)次独立实验,设 $ n_A $ 是事件发生的次数,\(p\)是事件发生的概率。那么\(\forall \epsilon>0\),有

\[\lim\limits_{n\to\infty} P(|\frac {n_A}n-p|< \epsilon) = 1 \]

伯努利大数定律揭示了频率和概率的关系,表明随机事件 A 在 n 次试验中发⽣的频率依概率收敛于p。只要实验次数够多,频率就无限接近于概率。

证明:借助切比雪夫不等式

辛钦(KhintChiiie)大数定律

如果有\(n\)个独立相同的随机分布,且数学期望\(\mu\)存在,那么

\[\lim\limits_{n\to\infty} P(|\frac {\Sigma_1^nX_k}n-\mu|< \epsilon) = 1 \]

这个定理表明,反复观察同一个指标,当次数足够多的时候,平均值就会稳定在期望附近。这是用算数平均值计算期望的理论依据。

当 X 为服从0-1分布的随机变量时,辛钦大数定律就是伯努利大数定律,故伯努利大数定律是辛钦伯努利大数定律的一个特例。

切比雪夫(Chebyshev)大数定律

设随机变量序列\(X_1, X_2,...X_n\),他们两两不相关,方差都存在且有共同上界,再记\(E(X_k)=\mu_k\),那么

\[\lim\limits_{n\to\infty} P(|\frac {\Sigma_1^nX_k-\Sigma_1^n\mu_k}n|< \epsilon) = 1 \]

随机变量序列不一定要是同分布。这个定理表明:随着样本容量 n 的增加,样本平均数将接近于真实期望。这就是通过样本平均数估计总体平均数的理论依据。

相较于辛钦大数定律,切比雪夫大数定理并未要求同分布,更具一般性,但对方差有额外的要求。

证明:借助切比雪夫不等式

独立同分布的中心极限定理

设随机变量序列\(X_1, X_2,...X_n\)是相同分布且独立,且期望\(\mu\)和方差\(\sigma^2\)存在,那么

\[\lim\limits_{n\to\infty} P(\frac {\Sigma_1^nX_k-n\mu}{\sqrt n \sigma}\le x) = \Phi(x) \]

其中\(\Phi(x)\)\(N(0,1)\)的分布函数\(\frac 1{\sqrt{2\pi}}\int_{-\infty}^x e^{-\frac{t^2}2}\text d t\)

这个定理表明,无论是什么分布,当足够多次观察取平均后都会趋近相同期望和方差的正态分布。

推荐阅读:马尔科夫不等式与切比雪夫不等式

本文转载于网络 如有侵权请联系删除

相关文章

  • 硬核 | 一文搞懂网络设计核心思想

    大家好,我是Alex,今天分享计算机网络硬核系列的第一篇:计算机网络通信的理解本篇主要是对计算机网络一些核心思想理解,属于内功心法,初学者适合入门,非初学者可以学习其设计思想,总之希望帮助大家提高对网络的理解;深入浅出Linux网络硬核指南本系列从网络通信理解到云计算网络等网络的不同应用角色(场景)入手,深入浅出讨论了网络设计的核心思想,网络TCP/IP协议栈的设计,网络编程核心技术,网络性能优化,云网络核心技术,网络问题排障等,计算机网络是程序员或者IT工程师必须要掌握的技能,本系列目的就是让不同读者都能加深对网络认识,打好坚实的网络基础,不管是面试中遇到的网络问题,还是工作中遇到的网络问题,都能得心应手。 计算机网络通信的理解1计算机网络通信的本质1948年香农在《通信的数学理论》中写道:"通信的基本问题是在一点精确地或者近似的复现在另一个点所选取的信息"网络通信的本质是信息的传播:这里A与B之间的传播介质可以有很多不同层次的理解可以是有线的(双绞线、电缆、光纤等)可以是无线的(蓝牙,WIFI,2345G等)可以是具体的(物理直连)可以是间接抽象的(跨网络)我们

  • 如何理解软件测试学习中的正则表达式?

    本文转载自霍格沃兹测试学院优秀学员Sirius的学习笔记,原文链接:https://ceshiren.com/tag/精华帖正则表达式学习心得前言    一个学习笔记居然会有前言?没错,这个是额外增加的,显得专业一点。    提起正则表达式,不知道大家第一印象是什么,可能是强大好用也可能是晦涩难懂。正则表达式在文本处理中相当重要,各大编程语言中均有支持,但可能使用起来有细微的差别,该学习笔记中元字符介绍一节不特定于某一个编程语言,旨在简要描述正则本身的基本用法。    前言中先阐述一下正则表达式到底是个什么东西,清楚这个概念的可以直接跳过。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。(该概念摘自百度百科,不要问我为啥不用Google)    看完上面的解释,我的第一反应是有点似懂非懂。    个人理解如下:某个大佬为了从字符串中匹配或找出符合特定规律(如手机号、身份证号)的子字符串,先定义了一些通用符号来表示字符串中各个类型的元素(如数字用\d表示),再将它们组合

  • 双系统数控机床B:软硬件系统的选择

    1驱动系统选型数控机床伺服系统是以机械位移为直接控制目标的控制系统。数控机床的伺服系统主要有两种:一种是进给伺服系统,其控制机床坐标轴的切削进给运动,以直线运动为主;另一种是主轴伺服系统,它控制主轴的切削运动,以旋转运动为主。且机床的驱动系统主要作用概括如下:(1).放大CNC装置的控制信号,且具有功率输出的能力;(2).根据CNC装置发出的控制信号对机床移动部件的位置和速度进行控制。对于该铣床和车床控制系统进给轴部分,双系统均采用半闭环控制。与开环控制和闭环控制相比,半闭环驱动设计方便、传动系统简单、结构紧凑、制造成本较低、性价比高,且电气控制和机械传动部分之间有明显的分界,机械部分间隙、摩擦死区、刚度等非线性环节都在闭环以外,因此系统稳定性好,调试方便,在数控机床上得到广泛应用。半闭环控制的进给驱动系统考虑到加工精度以及半闭环控制模式,在采购雕铣机时将步进电机更换成利用外部脉冲输入进行控制的通用型数字伺服驱动器,通过改变输入脉冲的频率和数量即可以达到控制速度和位置的目的。该类型的驱动器在数控系统中是完全独立的部件。但是配置通用型数字伺服驱动器的数控系统,由于CNC内部没有位置环,位

  • LeetCode 523. 连续的子数组和(求余 哈希)

    1.题目给定一个包含非负数的数组和一个目标整数k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为2,总和为k的倍数,即总和为n*k,其中n也是一个整数。示例1: 输入:[23,2,4,6,7],k=6 输出:True 解释:[2,4]是一个大小为2的子数组,并且和为6。 示例2: 输入:[23,2,6,4,7],k=6 输出:True 解释:[23,2,6,4,7]是大小为5的子数组,并且和为42。复制来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/continuous-subarray-sum 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 2.解题类似题目: LeetCode560.和为K的子数组(前缀和差分) LeetCode862.和至少为K的最短子数组(前缀和+deque单调栈) LeetCode974.和可被K整除的子数组(哈希map) 对前n个数求和,每次和对k取余,存入哈希表m[sum%k]=i 再次找到时,表明存在区间和为k的倍数 classSolution{ public:

  • Java发送邮件案例

    准备01 前言在日常开发中,有时会遇到向用户发送邮件的场景,例如发送注册验证码(现在基本都是发手机验证码了)、邀请链接,有时也会遇到发送带附件的邮件等业务场景。本案例以Java发送邮件为例对这些功能做一整理,希望能够对大家有所帮助。1.代码程序发送邮件原理首先我们先了解一下用程序实现发送邮件的原理:当我们试图用代码程序发送邮件时,我们的程序就相当的于一个邮件客户端,也就是说这个程序可以帮我们写、发邮件,那么这个客户端要发送邮件必然需要发送者的邮箱地址、密码,以及收件者的邮箱地址,为了安全起见,一般邮箱不会直接使用发送者的密码,而是使用一个授权码代替密码。2.配置qq邮箱客户端要实现客户端发送邮件首先需要开启IMAP/SMTP服务,只有开启这个服务,才能使得我们的邮箱具有使用客户端发送邮件的功能。在QQ邮箱中,需要在设置->帐户中开启IMAP/SMTP服务,如图1-1所示。通过这样配置就可以获取到授权码了。开发1.引入maven依赖<dependency> <groupId>javax.mail</groupId> <artifactId&

  • macos安装ffmpeg以及出现问题

    安装ffmpeg使用brew 首先安装brew:/usr/bin/ruby-e"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"复制出现这个:==>Installationsuccessful!安装成功.... Nochangestoformulae. ==>Installationsuccessful! ==>Homebrewhasenabledanonymousaggregateformulaeandcaskanalytics. Readtheanalyticsdocumentation(andhowtoopt-out)here: https://docs.brew.sh/Analytics ==>Homebrewisrunentirelybyunpaidvolunteers.Pleaseconsiderdonating: https://github.com/Homebrew/brew#donations ==>Nex

  • 大白菜装机版默认模式制作u盘启动盘教程

    现如今u盘安装系统不仅仅是电脑城装机人员必备工具之一,而且还是绝大多数用户装机不可缺少的工具之一,用户们只需要制作好一个大白菜u盘启动盘和下载一个系统镜像,就可以轻松进行系统安装,那么用户们该如何来制作大白菜u盘启动盘呢?下面就一起来看看大白菜装机版默认模式如何制作大白菜u盘启动盘。注:制作大白菜u盘启动盘前准备一个容量大于2G并能够正常使用的u盘。1、打开下载并且安装好的大白菜装机版。如下图所示2、将u盘插入电脑USB接口,等待u盘成功读取到大白菜装机版界面之后,点击“一键制作启动u盘”如下图所示3、在弹出的信息提示窗口中,点击“确定”进入下一步操作。如下图所示4、耐心等待大白菜u盘启动盘的制作过程即可。如下图所示5、在完成大白菜u盘启动盘制作之后,大白菜装机版会弹出一个信息提示窗口,点击“是(Y)”进入电脑模拟器窗口。如下图所示6、电脑模拟可以成功开启说明大白菜u盘启动盘制作成功,按住Ctrl+Alt释放鼠标关闭窗口即可完成操作。如下图所示 以上就是大白菜装机版默认模式制作大白菜u盘启动盘教程,有遇到此类情况或者是不懂的如何使用大白菜装机版默认模式制作大白菜u盘启动盘的用户,可以尝

  • SpringBoot 处理异常的几种常见姿势

    本文公众号来源:JavaGuide作者:JavaGuide本文已收录至我的GitHub1.使用@ControllerAdvice和@ExceptionHandler处理全局异常这是目前很常用的一种方式,非常推荐。测试代码中用到了Junit5,如果你新建项目验证下面的代码的话,记得添加上相关依赖。1.新建异常信息实体类非必要的类,主要用于包装异常信息。src/main/java/com/twuc/webApp/exception/ErrorResponse.java/** *@authorshuang.kou */ publicclassErrorResponse{ privateStringmessage; privateStringerrorTypeName; publicErrorResponse(Exceptione){ this(e.getClass().getName(),e.getMessage()); } publicErrorResponse(StringerrorTypeName,Stringmessage){ this.errorTypeName=errorTy

  • Python数据分析告诉你为何北京的二手房你都买不起!

    身为北漂一族,相信很多人也面临或者经历过工作,定居租房买房之类的。每个北漂心里一直想买一套自己的房子,而北京的房价却让人让望而却步。在此,我们来采集一下北京在售的二手房信息,有人想问,为啥不采集新房?快醒醒吧,新房可远观而不可亵玩焉,一般人都买不起,看的只会心情不好,hhhh当然,二手房估计你也买不起!咱们拿数据说话!看看离买房还有多远的距离。第一步抓取相关房价信息走在北京的大街小巷,你会看到很多做房产中介的,最常见的就是链家了~我们选取链家网作为爬取对象。使用Requests和BeautifulSoup可以轻松获取网页数据。使用Python可以定义函数,这意味着一旦构建完,我们可以通过修改参数的方式快速获取网址。写完后,我们只需要输入需要爬取的【城市URL】【多少页】数据,就可以自动运行得到数据:使用此方法,我们将爬取了10个字段的北京二手房数据,并将抓取的信息存到本地数据库Mysql中。保存的信息如下:第二步导入数据和数据清洗首先,从数据库中导入采集的数据,并查看下数据表信息。之后原始数据需要进行一些预处理才能进行分析和建模。 1.数据初窥查看数据信息(包括每个字段数据类型),数据

  • 微信小程序的再思考:什么才是正确的打开方式?

    文|唐思思写在前面一个月前,关于小程序的讨论热火朝天,万众瞩目;一个月后,朋友圈里却已经很难再刷到关于小程序的帖子。是新鲜劲过了,还是小程序并没有如大家预期的那样显著改变大家的使用行为?你的手机里又卸载了几个app,转而使用小程序?总结成一个问题:说好的「app杀手」呢?核心观点微信小程序的目的是实现移动互联网时代唾手可得的服务模式。它没有为app引流,也没有计划代替app,更没有想做分发平台。开发者和市场对小程序的理解有偏差。微信小程序的核心价值是线下场景应用而不是线上服务,开拓新的市场,而不是替代app;是生活方式而不是流量入口。关注微信小程序开发流程上的投资机会和数字营销投资机会。微信小程序回顾微信小程序无疑是2017年互联网行业的重磅产品。张小龙团队从2016年1月9日正式启动微信小程序的开发,历时1年,2017年1月9日正式上线。到目前,微信小程序已经正式推出1个月。张小龙对于小程序的目标是:实现移动互联网时代唾手可得的服务模式。相对应的,小程序的特点是无需安装、触手可及、用完即走、无须卸载。小程序目前的处境微信小程序还没上线时,市场对于微信小程序的态度多是「流量入口」、「应

  • AI每日看点 | 吉利收购飞行汽车公司;传华为暂停向高通支付专利费;高通拒绝博通收购邀约

    1.吉利收购全球首家飞行汽车公司,将在中国量产11月13日上午,浙江吉利控股集团有限公司与美国太力(Terrafugia)公司达成最终协议,收购太力公司的全部业务和资产。此项交易已获得包括美国外资投资委员会(CFIUS)在内的所有相关监管机构的批准。太力公司总部位于美国波士顿,由五位麻省理工学院的优秀毕业生于2006年创办。该公司一直专注于飞行汽车的设计与制造,并已有多项影响世界的科研成果。此次收购之后,吉利集团将会在资金和科研上对太力公司以大力支持。目前,在吉利的帮助下,太力公司在美国的工程师团队人数扩充了3倍并成立了新的研究院。按照目前的计划,2019年,全球首款飞行汽车将会在美国量产,2025年,全球首台垂直起降的飞行汽车也将实现量产。与此同时,太力也已经在杭州建立了研发机构,未来将会在中国实现飞行汽车的量产。来源:央视网2.传华为暂停向高通支付专利授权费国外媒体援引消息人士的说法称,高通很可能需要与多家关键的安卓设备厂商重新谈判专利授权和相关费用的问题。高通骁龙处理器目前被广泛用于智能手机和平板电脑。在最近一次会议上,高通表示,至少有一家来自中国的主流安卓厂商追随苹果的步伐,暂

  • Kafka扩展内容

    Kafka扩展一、重复消费配置二、拦截器三、KafkaStreams四、Kafka与Flume比较一、重复消费配置#低级API: props.put("group.id","01"); #offset自动重置,offset可能因为缓存删除,序号不一定从0开始 props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG,"earliest"); #高级API: consumer.seek(newTopicPartition(topic,partititon,offset));复制消费者组id、topic和partition唯一确定一个offset。可以查看_consumer_offsets这个Topic里的数据。二、拦截器Intercetpor的实现接口是org.apache.kafka.clients.producer.ProducerInterceptor。onSend(ProducerRecord)方法在消息被序列号及计算分区之前调用。 onAcknowledgement(Reco

  • [Cocos2d-x For WP8]Menu菜单

       菜单栏这是游戏里面基本的控件来的, 头文件: #include<CCMenu.h>                        继承关系图:   头文件:  #include<CCMenuItem.h>                        继承关系图:               

  • 10分钟熟练使用webpack

    https://juejin.im/post/59ccebb15188252fb1772efd 自己整理的文章,从掘金转到博客园。

  • Codeforces Round #597 (Div. 2)

    这是我退役前最后一场div2了啊。。。 所以打算写个题解 以前那么多cf,,现在就剩这么一两场了,可惜自己瞎做连个黄名都没上过。。 A: #include<bits/stdc++.h> usingnamespacestd; typedeflonglongll; intt,a,b; intmain(){ ios::sync_with_stdio(false); cin>>t; while(t--){ cin>>a>>b; if(__gcd(a,b)==1){ cout<<"Finite"<<endl; }else{ cout<<"Infinite"<<endl; } } } 复制 B: 我tm,看到样例读的字符串长度都是3以为给的是个长度为3的循环节。然后wa了,有点迷 #include<bits/stdc++.h> usingnamespacestd; typedeflonglongll; intt,n,a,b,c; strings; charans[555]; intmain(

  • Django框架 之 信号

    Django中提供了“信号调度”,用于在框架执行操作时解耦。通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者。 Django内置信号 Modelsignals pre_init#django的modal执行其构造方法前,自动触发 post_init#django的modal执行其构造方法后,自动触发 pre_save#django的modal对象保存前,自动触发 post_save#django的modal对象保存后,自动触发 pre_delete#django的modal对象删除前,自动触发 post_delete#django的modal对象删除后,自动触发 m2m_changed#django的modal中使用m2m字段操作第三张表(add,remove,clear)前后,自动触发 class_prepared#程序启动时,检测已注册的app中modal类,对于每一个类,自动触发 Managementsignals pre_migrate#执行migrate命令前,自动触发 post_migrate#执行migrate命令后,自动触发 Request/re

  • IN 与 EXIST

    本文转载自:https://blog.csdn.net/u014134766/article/details/51442961 对于以上两种情况,in是在内存里遍历比较,而exists需要查询数据库,所以当B表数据量较大时,exists效率优于in。 select*fromAwhereidin(selectidfromB); select*fromAwhereexists(select1fromBwhereA.id=B.id);复制 1、select*fromAwhereidin(selectidfromB); in()只执行一次,它查出B表中的所有id字段并缓存起来。之后,检查A表的id是否与B表中的id相等,如果相等则将A表的记录加入结果集中,直到遍历完A表的所有记录。 它的查询过程类似于以下过程: <spanstyle="font-family:MicrosoftYaHei;font-size:12px;">ListresultSet={}; ArrayA=(select*fromA); ArrayB=(selectidfromB); for(inti

  • 切换Ubuntu默认python版本的两种方法

    你可以按照以下方法使用ls命令来查看你的系统中都有那些Python的二进制文件可供使用。 ? 1 2 $ls /usr/bin/python* /usr/bin/python /usr/bin/python2/usr/bin/python2.7 /usr/bin/python3 /usr/bin/python3.4/usr/bin/python3.4m /usr/bin/python3m 执行如下命令查看默认的Python版本信息: ? 1 2 $python--version Python2.7.8 1、基于用户修改Python版本: 想要为某个特定用户修改Python版本,只需要在其home目录下创建一个alias(别名)即可。打开该用户的~/.bashrc文件,添加新的别名信息来修改默认使用的Python版本。 ? 1 alias python='/usr/bin/python3.4' 一旦完成以上操作,重新登录或者重新加载.bashrc文件,使操作生效。 ? 1 $.~/.bashrc

  • Java内部类持有外部类的引用详细分析与解决方案

    在Java中内部类的定义与使用一般为成员内部类与匿名内部类,他们的对象都会隐式持有外部类对象的引用,影响外部类对象的回收。 GC只会回收没有被引用或者根集不可到达的对象(取决于GC算法),内部类在生命周期内始终持有外部类的对象的引用,造成外部类的对象始终不满足GC的回收条件,反映在内存上就是内存泄露。(如,Android中Activity的内存泄露) 解决方案为 1.将内部类定义为static 2.用static的变量引用匿名内部类的实例 测试代码 class Outer {       class Inner {           public String publicString = "Inner.publicString";       }    &

  • Idea生成Javadoc

    Ideatools菜单下:GenerateJavadoc...,在弹出的对话框中选择指定的包或文件,也可滤掉指定的包或文件。如果有自定义的javadoc标签,则需要在othercommandlinearguments框中输入定义,例如:-tagdate:a:"日期"-tagdescription:a:"功能描述"-encodingUTF-8-charsetUTF-8 然后指定输出目录,点击ok就可以了

  • Hibernate详细教程

    Hibernate学习总结---- 一、搭建Hibernate环境 1.在src目录下创建hibernate.cfg.xml配置文件 PS:文件的名字不能改! <?xmlversion="1.0"encoding="UTF-8"?> <!DOCTYPEhibernate-configurationPUBLIC "-//Hibernate/HibernateConfigurationDTD3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!--configurethedatabasesetting--> <propertyname="connection.username">root</property> <propertyname="connection.password">1234</pr

相关推荐

推荐阅读