均方差公式化简

均方差公式定义:
这里写图片描述

均方差公式化简:
这里写图片描述

可知:均方差公式化简后为:
均方差的平方 等于 每个数的平方和除n,再减去平均值的平方。
如果在平均值(即总和)确定情况下,平方和越小,均方差越小。

### 方差公式的数学定义与计算方法 #### 1. 数学定义 方差是一种用于衡量随机变量或一组数据偏离其均值的程度的统计量。对于给定的一组数据 $ x_1, x_2, ..., x_n $,其方差被定义为各个数据点与其均值 $\mu$ 的偏差平方的平均值[^1]。形式化的表达如下: $$ \sigma^2 = \frac{1}{n} \sum_{i=1}^{n}(x_i - \mu)^2 $$ 这里的 $\sigma^2$ 表示总体方差,$\mu$ 是数据的均值,由下式给出[^2]: $$ \mu = \frac{1}{n} \sum_{i=1}^{n} x_i $$ 需要注意的是,在实际应用中,尤其是当我们仅能获取到样本而不是整个总体时,会使用修正后的样本方差公式以提供对方差更为无偏的估计。此时,分母不再是 $n$ 而是 $n-1$: $$ s^2 = \frac{1}{n-1} \sum_{i=1}^{n}(x_i - \bar{x})^2 $$ 其中 $\bar{x}$ 表示样本均值。 #### 2. 计算方法 基于上述定义,我们可以总结出两种常见的方差计算方式——直接法和递推法。 ##### (a) 直接法 这是最基础也最常见的计算方法,适用于已知全部数据的情况下。按照前述公式逐项代入即可得到最终结果。例如,假设我们有三个数值 {4, 8, 6},那么先求得均值 $\mu = (4+8+6)/3 = 6$ ,再利用方差公式得出: $$ \sigma^2 = \frac{(4-6)^2 + (8-6)^2 + (6-6)^2}{3} $$ 化后可得 $\sigma^2 = 2.67$. ##### (b) 递推法 当面对连续流入的大规模数据流场景时,可能无法一次性存储所有的观测值。这时可以采用递推的方式逐步更新均值与方差。设当前已有 $k-1$ 个数据点的信息 $(M_k,\ S_k)$ 来分别代表前 k-1 个数目的累积均值以及未标准化的二阶中心矩,则加入第 k 个新的测量值得到的新状态可通过下面两步完成: 1. 更新均值: $$ M_k = M_{k-1} + \frac{x_k - M_{k-1}}{k} $$ 2. 更新未标准化的二阶中心矩(进而获得方差): $$ S_k = S_{k-1} + (x_k - M_{k-1})(x_k - M_k) $$ 之后便容易得知对应的方差应为 $S_k/(k-1)$ (针对样本情况),或是 $S_k/k$ 对于整体而言。 --- ### 示例代码演示 下面是 Python 中实现这两种不同计算方法的例子: ```python def variance_direct_method(data): mean_val = sum(data) / len(data) variances = [(x - mean_val)**2 for x in data] return sum(variances) / len(data) data_points = [4, 8, 6] print("Direct Method Variance:", variance_direct_method(data_points)) # For recursive method implementation... class RecursiveVarianceCalculator: def __init__(self): self.n = 0 self.mean = 0.0 self.M2 = 0.0 def add_value(self, newval): self.n += 1 delta = newval - self.mean self.mean += delta / self.n delta2 = newval - self.mean self.M2 += delta * delta2 @property def variance(self): if self.n < 2: return float('nan') # Not enough data to compute variance. else: return self.M2 / (self.n - 1) calculator = RecursiveVarianceCalculator() for point in data_points: calculator.add_value(point) print("Recursive Method Variance:", calculator.variance) ``` 此脚本首先实现了直接法来计算单的三元数组的方差,随后又展示了一个类 `RecursiveVarianceCalculator` 实现了递归版本的功能。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值