对于方差和标准差,你必须区分有偏估计和频率、可靠性/抽样权重。
x <- c(1, 4, 5)
wf <- c(1, 2, 3)
ws <- c(0.1, 0.2, 0.3)
mean(rep(x, wf))
sum(x * wf) / sum(wf)
sum(x * ws) / sum(ws)
weighted.mean(x, wf)
weighted.mean(x, ws)
var(rep(x, wf))
sd(rep(x, wf))
sw <- sum(wf)
xm <- sum(x * wf) / sw
sum(wf * (x - xm)^2) / (sw - 1)
sqrt(sum(wf * (x - xm)^2) / (sw - 1))
xm <- weighted.mean(x, ws)
sum(ws *(x-xm)^2)*(sum(ws)/(sum(ws)^2-sum(ws^2)))
cov.wt(matrix(x, ncol=1), ws)$cov
xm <- weighted.mean(x, ws)
sum(ws * (x - xm)^2) / sum(ws)
xm <- weighted.mean(x, wf)
sum(wf * (x - xm)^2) / sum(wf)
Hmisc::wtd.var(x, wf)
Hmisc::wtd.var(x, ws, normwt=TRUE)