均值方差增量计算

单次计算

μ = ∑ i = 1 n x i n \mu = \frac{\sum_{i=1}^{n} x_i}{n} μ=n∑i=1nxi
σ 2 = ∑ i = 1 n ( x i − μ ) 2 n = ∑ i = 1 n x i 2 − 2 ∑ i = 1 n x i μ + n μ 2 n = ∑ i = 1 n x i 2 − n μ 2 n = ∑ i = 1 n x i 2 n − μ 2 \begin{array}{ll} \sigma^2 &= \frac{\sum_{i=1}^{n}(x_i - \mu)^2}{n} \\ &= \frac{\sum_{i=1}^{n} x_i^2 -2\sum_{i=1}^{n} x_i\mu + n\mu^2}{n} \\ &= \frac{\sum_{i=1}^{n} x_i^2 - n\mu^2}{n} \\ &= \frac{\sum_{i=1}^{n} x_i^2}{n} - \mu^2 \end{array} σ2=n∑i=1n(xi−μ)2=n∑i=1nxi2−2∑i=1nxiμ+nμ2=n∑i=1nxi2−nμ2=n∑i=1nxi2−μ2

增量计算

指标 第一批次 第二批次 合并
总数 n 1 n_1 n1 n 2 n_2 n2 n 1 + n 2 n_1+n_2 n1+n2
均值 μ 1 \mu_1 μ1 μ 2 \mu_2 μ2 n 1 μ 1 + n 2 μ 2 n 1 + n 2 \frac{n_1 \mu_1 + n_2\mu_2}{n_1 + n_2} n1+n2n1μ1+n2μ2
方差 σ 1 \sigma_1 σ1 σ 2 \sigma_2 σ2 ?
∑ x i 2 \sum x_i^2 ∑xi2 n 1 σ 1 2 + n 1 μ 1 2 n_1 \sigma_1^2 + n_1 \mu_1^2 n1σ12+n1μ12 n 2 σ 2 2 + n 2 μ 2 2 n_2 \sigma_2^2 + n_2 \mu_2^2 n2σ22+n2μ22 n 1 σ 1 2 + n 1 μ 1 2 + n 2 σ 2 2 + n 2 μ 2 2 n_1 \sigma_1^2 + n_1 \mu_1^2 + n_2 \sigma_2^2 + n_2 \mu_2^2 n1σ12+n1μ12+n2σ22+n2μ22

σ 2 = ∑ i = 1 n x i 2 n − μ 2 = n 1 σ 1 2 + n 1 μ 1 2 + n 2 σ 2 2 + n 2 μ 2 2 n 1 + n 2 − ( n 1 μ 1 + n 2 μ 2 n 1 + n 2 ) 2 = ( n 1 + n 2 ) ( n 1 σ 1 2 + n 1 μ 1 2 + n 2 σ 2 2 + n 2 μ 2 2 ) − ( n 1 μ 1 + n 2 μ 2 ) 2 ( n 1 + n 2 ) 2 = n 1 σ 1 2 + n 2 σ 2 2 n 1 + n 2 + n 1 n 2 μ 1 2 + n 1 n 2 μ 2 2 − 2 n 1 n 2 μ 1 μ 2 ( n 1 + n 2 ) 2 = n 1 σ 1 2 + n 2 σ 2 2 n 1 + n 2 + n 1 n 2 ( μ 1 − μ 2 ) 2 ( n 1 + n 2 ) 2 \begin{array}{ll} \sigma^2 &= \frac{\sum_{i=1}^{n} x_i^2}{n} - \mu^2 \\ &= \frac{n_1 \sigma_1^2 + n_1 \mu_1^2 + n_2 \sigma_2^2 + n_2 \mu_2^2}{n_1+n_2} - (\frac{n_1 \mu_1 + n_2\mu_2}{n_1 + n_2})^2 \\ &= \frac{(n_1 + n_2)(n_1 \sigma_1^2 + n_1 \mu_1^2 + n_2 \sigma_2^2 + n_2 \mu_2^2) - (n_1 \mu_1 + n_2\mu_2)^2}{(n_1 + n_2)^2} \\ &= \frac{n_1 \sigma_1^2 + n_2 \sigma_2^2}{n_1 + n_2} + \frac{ n_1n_2\mu_1^2 + n_1n_2\mu_2^2 - 2n_1n_2\mu_1\mu_2}{(n_1 +n_2)^2} \\ &= \frac{n_1 \sigma_1^2 + n_2 \sigma_2^2}{n_1 + n_2} + \frac{ n_1n_2(\mu_1 - \mu_2)^2 }{(n_1 +n_2)^2} \end{array} σ2=n∑i=1nxi2−μ2=n1+n2n1σ12+n1μ12+n2σ22+n2μ22−(n1+n2n1μ1+n2μ2)2=(n1+n2)2(n1+n2)(n1σ12+n1μ12+n2σ22+n2μ22)−(n1μ1+n2μ2)2=n1+n2n1σ12+n2σ22+(n1+n2)2n1n2μ12+n1n2μ22−2n1n2μ1μ2=n1+n2n1σ12+n2σ22+(n1+n2)2n1n2(μ1−μ2)2

方差的增量来自均值漂移

相关推荐
三年呀14 分钟前
共识算法的深度探索:从原理到实践的全面指南
算法·区块链·共识算法·分布式系统·区块链技术·高性能优化
alex10022 分钟前
BeaverTails数据集:大模型安全对齐的关键资源与实战应用
人工智能·算法·安全
麦格芬23026 分钟前
LeetCode 416 分割等和子集
数据结构·算法
2401_841495641 小时前
【自然语言处理】Universal Transformer(UT)模型
人工智能·python·深度学习·算法·自然语言处理·transformer·ut
浅川.251 小时前
xtuoj 整数分类
算法
小灰灰的FPGA4 小时前
9.9元奶茶项目:matlab+FPGA的cordic算法(向量模式)计算相位角
算法·matlab·fpga开发
2401_841495644 小时前
【数据结构】顺序表的基本操作
数据结构·c++·算法·顺序表·线性表·线性结构·顺序表的基本操作
元亓亓亓5 小时前
LeetCode热题--207. 课程表--中等
算法·leetcode·职场和发展
坚持编程的菜鸟5 小时前
LeetCode每日一题——有效的字母异位词
c语言·算法·leetcode
未知陨落5 小时前
LeetCode:70.最小栈
数据结构·算法·leetcode