如何算平均几点分到学校?
这个问题的本质是如何从大量数据中计算一个未知数。其核心就是求平均值,而求平均值的问题就涉及到两种情况了:已知样本总量N和每个样本值x(i=1,2....n)的条件下,求解参数\theta ;已知每个样本值x(i=1,x(n))和期望值E(\theta )的条件下,求解样本总量N。
对于第一种情况,因为已知样本量N,我们可以建立一个包含N个未知数的方程,再结合另一个条件式(如均值等于各样本来值之和除以N),即可解出所有未知数\theta 的值。在第二种情况下,由于我们需要先求出 \theta 再反推样本总量N,因此需要先设定一个N的初始值,然后在[N]范围内不断迭代计算 \theta 和 N 直至满足给定的误差要求。
下面介绍一种通用性强、易于实现且不受样本分布限制的算法——加权余数递归法。该方法把待求解的参数分成两组,一组是主因子\theta_1,另一组是其余的副因子\theta_2 。首先根据样本值计算出主因子的估计值\hat{\theta}_1 ,然后利用估计出来的主因子重新计算副因子,进而得到整个参数的估值\hat{\theta} 。具体地,假设样本值由 x_{(i)}^{(1)} ,…,x_{(i)}^{(n)} 组成,其中 x_{(i)}^{(1)} 为第 i 个样本的第 j 个观测值, n 为样本容量,则
\begin{equation*} {\hat\theta}_1=\frac{\sum\limits_{i=1}^n {x_{(i)}^{(1)} }{n} \end{equation*} 然后利用 \hat\theta_1 来计算 \hat{\theta}_2 。对于给定的不均匀采样数据,可以先进行下述处理:令 S_j=\sum\limits_{i=1}^nx_{(i)}^{(j)} , j=1,2,...n ,然后将 S_1,S_2,...,S_n 看成是一个新样本 \bar{S} 来重新估算 \hat{\theta}_1 。同理,对于给定的均匀采样数据,可以直接使用。
当样本容量较小或待估参数较多时,直接用上述公式计算会欠准确,此时可以利用加权余数递归法的迭代性质,先选择一个较简单的模型并进行估计,然后再引入新的信息对初始估计量进行修正。