均值方差增量计算

单次计算

μ = ∑ 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

方差的增量来自均值漂移

相关推荐
web_1553427465627 分钟前
性能巅峰对决:Rust vs C++ —— 速度、安全与权衡的艺术
c++·算法·rust
计算机小白一个7 小时前
蓝桥杯 Java B 组之设计 LRU 缓存
java·算法·蓝桥杯
万事可爱^8 小时前
HDBSCAN:密度自适应的层次聚类算法解析与实践
算法·机器学习·数据挖掘·聚类·hdbscan
大数据追光猿10 小时前
Python应用算法之贪心算法理解和实践
大数据·开发语言·人工智能·python·深度学习·算法·贪心算法
Dream it possible!10 小时前
LeetCode 热题 100_在排序数组中查找元素的第一个和最后一个位置(65_34_中等_C++)(二分查找)(一次二分查找+挨个搜索;两次二分查找)
c++·算法·leetcode
夏末秋也凉10 小时前
力扣-回溯-46 全排列
数据结构·算法·leetcode
南宫生10 小时前
力扣每日一题【算法学习day.132】
java·学习·算法·leetcode
柠石榴10 小时前
【练习】【回溯No.1】力扣 77. 组合
c++·算法·leetcode·回溯
Leuanghing10 小时前
【Leetcode】11. 盛最多水的容器
python·算法·leetcode
qy发大财10 小时前
加油站(力扣134)
算法·leetcode·职场和发展