如何对加权二项分布的均值和标准差进行编码?
How can I code the mean and standard deviation for a weighted binomial distribution?
我正在研究一个遗传学问题,我有 20 个基因,每个基因都有两个等位基因。这会产生 40 个值,这些值可以是 1 或 0。
对于此分布,我得到的期望值为 20 (np),方差为 10 (np(1-p) ) 因为 n=40 和 p=0.5 (see here).
但我权衡了这些基因中每一个的贡献。权重计算如下:
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, ..., X20 具有相同的参数 p 和权重 w1, ..., w20,他们的总和的期望是
E[suminwiXi] = p sumin wi
方差为
Var[suminwiXi] = sumin wi2Var[Xi] = p(1-p) sumin wi2
这给出了
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
我正在研究一个遗传学问题,我有 20 个基因,每个基因都有两个等位基因。这会产生 40 个值,这些值可以是 1 或 0。
对于此分布,我得到的期望值为 20 (np),方差为 10 (np(1-p) ) 因为 n=40 和 p=0.5 (see here).
但我权衡了这些基因中每一个的贡献。权重计算如下:
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, ..., X20 具有相同的参数 p 和权重 w1, ..., w20,他们的总和的期望是
E[suminwiXi] = p sumin wi
方差为
Var[suminwiXi] = sumin wi2Var[Xi] = p(1-p) sumin wi2
这给出了
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