数学期望和方差的关系公式(数学期望和方差的公式)

数学期望和方差的关系公式(数学期望和方差的公式)

简介:最近在研究一个R语言的资料,是斯坦福大学老师写的。可以直接学习,https://web.stanford.edu/class/bios221/book/index.html。里面有配套的R代码,小编在这里写一些读书笔记。本章介绍常见的离散分布及其应用。

1.伯努利检验与二项分布

1.1 定义

如果检验E只有A和Ā两个结果,概率分别为p和1-p,E称为伯努利实验,且当独立重复 n 次时,E 称为 n 次伯努利实验。典型的伯努利实验是抛硬币的例子。例如,抛硬币3次,观察到2次正面朝上的概率为:(下)。

在n次伯努利实验中用X表示A出现的次数,则称随机变量X服从二项分布,记为X~b(n,p),其分布规律为:

p>

二项分布的期望和方差为E(X) = np,D(X) = np(1-p)。

1.2 R语言实例

R中常用的分布通常有对应的四个函数,分别是p(概率,概率),d(分布,分布),r(随机数,随机数),q (quantile, quantile) 这四个字母开头。以二项分布为例,有如下四个函数:

pbinom(q, size, prob):计算累积概率

dbinom(x, size, prob) : Calculate the Specific probability of a certain value x

rbinom(n, size, prob): 从b(size, prob)的二项分布中生成n个随机数

qbinom( p, size , prob): Quantile function

两个参数size和prob分别表示伯努利试验的次数和每次试验成功的概率,分别对应二项分布中的两个参数n和p.假设碱基突变的概率为5×10-4,我们模拟10000个位点发生突变的碱基数并画条。

> simulations = rbinom(n = 300000, prob = 5e-4, size = 10000)> barplot(table(simulations), col = ”lender”)

对于例如,生成10000个服从b(100, 0.2)的随机数,绘制概率密度直方图,加上正态分布拟合曲线。

> library(dplyr)> library(ggplot2)> tibble(x = rbinom(10000, size=100, prob=0.2))%>% ggplot(aes(x= x)) geom_histogram(aes (y=..density..)) stat_function( fun =dnorm, args =list(mean = 20, sd = 4), color =”red” )

一个特殊的数据框tibble,这是R语言大师Hadley Wickham在tidyverse包中定义的一种新的数据类型。它是一个弱类型的data.frame,语法与data.frame相同,但使用起来更灵活。如果想了解更多可以参考R for Data Science这本书

(https://r4ds.had.co.nz/)。

The expectation and variance的模拟数据分别为 20 和 0.4。根据中心极限定理,当n取较大值时,二项分布趋于正态分布。因此我们的模拟数据可以符合上面的正态分布 N(20, 0.4)。

2.泊松分布

2.1 定义

泊松分布适用于描述单位时间内随机事件发生的次数。例如,在一定时间内到达某个服务设施的人数,在公交车站等候的乘客人数,机器故障的次数,自然灾害的次数,DNA突变的碱基数,等等。泊松分布只有一个参数λ,记为X~π(λ),其分布规律为:

泊松分布的期望和方差都等于λ,即E( X) = D(X) = λ。当二项分布的n很大时,可以用泊松分布来近似二项分布,其中λ=np。

2.2 R语言例子

我们生成1000个二项随机数项目分布 b(10000, 0.01) 和泊松分布 π(100) 中的数字,并绘制它们。

> library(tidyverse)> tibble(x = rbinom(1000, size = 10000, prob =0.01), y = rpois(1000, 100)) %>% pivot_longer(cols = c(x, y)) %>% ggplot(aes(x= value)) geom_density(aes(col = name))

这里先解释一下上面的代码,首先我们创建一个tibble类型的数据框,包括两列 x 和 y 分别服从 b(10000, 0.01) 和 π(100)。然后使用pivot_longer()函数将data frame转成long data,然后做直方图。

由此可以看出,两条曲线可以很好的重合,这也说明我们上面的结论是正确的,即泊松分布可以看作是n大且n大的二项分布一个小p。

3.蒙特卡洛法(Monte Carlo)

蒙特卡洛法是指产生大量的随机数,进行数值统计计算,以获得问题的近似解。一个经典的例子就是用蒙特卡洛模拟计算pi,如下图,在正方形中生成足够多的随机点,这些点落在圆中的概率就是圆的面积与面积的比值正方形的,所以落入圆圈的点数与所有点数(正方形中的点)的比值等于落入圆圈的概率。据此可以计算出π = 4*圆面积/正方形面积,下面代码会解释。

> calpi <- function(n){ x <- matrix(runif(2 * n), ncol = 2) return(4*mean(rowSums(x^2) pi_new for (i in 1 :1000){ pi_new[i] plot(pi_new)> abline(h=pi, col = 2 )

可以看到当随机数的个数n越来越大时,通过Monte Card罗计算的π逐渐接近真实值。

再看一个例子,如果X~π(0.5),X个样本数为100,我们想知道X≥7的概率.当然我们可以用一个理论公式来计算,p = 1- p(X≤6) = 1-。但是这个计算显然很复杂,我们可以用蒙特卡洛模拟来生成大量符合泊松分布,然后计算概率,具体代码如下:

> maxes = replicate(100000, { max(rpois(100, 0.5)) })> table(maxes)maxes 1 2 3 4 5 6 78 23430 60446 14469 1530 110 7> mean( maxes >= 7 )[1] 0.00011

计算出的p值为0.00011,即几乎不可能o在这些样本中保持大于 7 的值。蒙特卡洛模拟的局限性在于其精度≤ 1/n,其中 n 表示生成的随机数。这意味着为了获得足够准确的结果,必须产生足够数量的随机数,这对计算机的性能也提出了很高的要求。

R语言学习笔记系列

R语言学习笔记(二)

R语言学习笔记(三)——实用的内置函数

R语言学习笔记(四)—pheatmap

R语言学习笔记(五)——曼哈顿

这些网站拿在手里,分分钟学会R语言

p>关注【投志】阅读论文精华】获取日常科研/论文写作干货!

获取SCI写作神器海量收藏!科研笔记神器:开书神器,一分钟构建知识谱,进入科研深度海,如果你有带谷歌翻译功能的PDF阅读器,这些科研利器将助你一臂之力,效率值满分学术写作-StyleWriter,可定制的编辑工具

关于数学期望和方差公式(D(X)和E(X)公式的介绍到此结束)。

文章来源于网络或者作者投稿,若有侵权请联系删除,作者:大象,如若转载,请注明出处:https://www.laoz.net/6349.html

(0)
上一篇 2023 年 01 月 09 日
下一篇 2023 年 01 月 09 日

相关推荐