r-如何对加权二项式分布的平均值和标准差进行编码



我正在研究一个遗传学问题,我有20个基因,每个基因都有两个等位基因。这将产生40个值,这些值可以是1或0。

对于这个分布,我得到了20的期望值(np(和10的方差(np(1-p(,因为n=40和p=0.5(见此处(。

但我对这些基因的贡献进行了权衡。权重计算如下:

res <- optimize(function(lambda) (sum(exp(-lambda * (1:20))) -5)^2, 0:1, tol = .Machine$double.eps)
res
x <- c(1:20)
lambda <- res$minimum
y<-exp(-lambda*x)

请注意,由于每个基因都有2个等位基因,每个重量使用两次。

gene1.1 * weight1 + gene1.2 * weight 1 + gene2.1 * weight2 + gene2.2 * weight2...

我想计算这个新分布的期望值和方差,但我不知道如何在R中计算。事实上,我根本不知道这个分布的数学形式。

希望你能帮助

给定n个伯努利随机变量X1。。。,具有相同参数p和权重w1的X20。。。,w20,其总和的期望值为

E[suminwiXi-]=p suminwi

方差为

Var[suminwiXi-]=sumi/sub>nwi2Var[Xi]=p(1-p(sum

这提供

p <- 0.5
n <- 20
# No weights
2 * n * p # Mean
# [1] 20
2 * n * p * (1 - p) # Variance
# [1] 10
# Weights
2 * sum(y) * p # Mean
# [1] 5
2 * p * (1 - p) * sum(y^2) # Variance
# [1] 1.172048
# Unweighted case again
y <- rep(1, n)
2 * sum(y) * p # Mean
# [1] 20
2 * p * (1 - p) * sum(y^2) # Variance
# [1] 10

最新更新