【知识仓库】误差分析(二)测量误差

您所在的位置:网站首页 密度估计值怎么算 【知识仓库】误差分析(二)测量误差

【知识仓库】误差分析(二)测量误差

#【知识仓库】误差分析(二)测量误差| 来源: 网络整理| 查看: 265

第一篇我们简单介绍了一下何为误差,爱XR的麦子:【知识仓库】误差分析(一)何为误差

而我们实验的过程一般分三部分:

测量数据通过测量数据发现规律,并拟合函数分析拟合函数是否是好的拟合

这篇我们先来聊聊测量,以及如何表示误差

测量精度

上次提到了缩小随机误差可以提升实验精度,但是并不是意味着实验精度只与随机误差有关。其实想必只要你有过用一个30厘米长的直尺去测量10几厘米长的物体的经历,你就一定会认同,这玩意儿的长度我测几次都是一样的,怎么就没有随机误差呢?

原因是你只用将30厘米长的直尺放在10几厘米长的物体旁边一次就足够了,这样的实验得到的结果其实并不算“反复实验”,只是“反复读数”而已,得到的结果自然不会发生变换。那么这样的行为就是无限大的精度吗?自然是不可能的。

当所有的测量都是相同值的时候(“反复读数”的情况),这个时候测量的精度取决于测量仪器的精度

测量仪器分为两种,一种是模拟仪器 (Analogue Device),另一种是数字仪器 (Digital Device)。两种测量仪器的仪器精度自然是不同的。本质上,这与不同设备读值的方法有关。

分度值

将仪器精度前,我们先介绍一个,分度值 (Division)。其实就是一个测量设备的最小刻度值

模拟仪器的仪器精度模拟仪器的最高的精度为该设备分度值的一半

如一把直尺,他的分度值一般为 1\ mm ,那么它的精度就为 \pm 0.5\ mm 。举个例子,当你测量一个物体的长度,它为 12.4\ cm 或者 124\ mm,这个时候我们就会说这个物体的长为 (124.0 \pm 0.5)\ mm 。

值得一提的是,如果测量这个 12.4\ cm ,你感觉它好像比这个值大一点或小一点时,那我们说 (124.0 \pm 0.5)\ mm 就看起来挺合理的。但是如果它刚刚好落在 12.4\ cm 上时,你可能就会觉得这样的设定是不是有点太过苛刻了,因为看起来它的误差明显没有 \pm 0.5\ mm 的啊。这种时候,一些有经验的实验者会小心地去利用插值 (Interpolate) 来降低分度值从而增加精度;当然更靠谱的方法是换一个本身分度值就更小的仪器重新进行实验,本质也是插值,但是专业的事交给专业的人做而已。

数字仪器的仪器精度数字仪器的最高精度为该设备的分度值

为啥数字仪器的最高精度更低了呢?

想必很多人都能想到一个简单的理由:数字仪器都读不到最后一位以后的数值,所以就应该以分度值为最高精度。

但其实更低的精度设定反映的是更低的信心、更低的概率。读不到最后一位以后的数值其实反映了数字仪器更隐性的一个问题:值的输出方式。数字仪器会有两种输出方式,一种是四舍五入,另一种是截断 (Truncate)。举个例子,假如你的体重是 81.27\ kg ,这时如果你的电子体重秤是四舍五入的,显示就是 81.3\ kg ;反过来如果是截断的,显示就是 81.2\ kg 。虽然目前大部分的数字仪器都是会做四舍五入的,但是,在你测量时你怎么知道呢?你能肯定吗?因此普遍而言,数字仪器的仪器精度设定方法会比模拟仪器的精度设定方法要有更大的不确定性,也就造成了设定为与分度值相等的情况。

统计与随机误差

了解了何为测量精度后,我们来思考这么一个场景。这次用一个30厘米长的直尺去测量几米长的物体,那么你可能需要移动这个直尺,从而导致数次测量后的值是不一样的,这时最后测量出来的值就会有一个分布,相对于这个分布我们可以通过一些统计的方法进一步理解随机误差是如何产生的。

当我们对数据进行测量后,我们可以对数据绘制一个直方图 (Histogram)。直方图反映的是一个范围内的数据测量出来的个数或者是相对于总测量次数的比例。这时,随着测量数量的增加,一般而言绘制出的直方图会越来越平滑 (Smooth) ,估计值精度也会越来越高。

我们一般会去计算实验数据的三项估计值:

中心点位置宽度相对于中心点的不确定性

这三种值在统计学上都是研究了很久的,我们一般只需要知道对自己实验有用的对应值以及结论就好。

一些基本的统计知识我自己也写了一点 爱XR的麦子:【知识仓库】统计力学要一些数学统计

中心点位置 - 平均值

对于科学实验而言,最好减轻随机误差带来影响的方法是重复测量再取平均。

对于 N 个数据点 x_i 而言,我们可以通过下式得到平均值 \bar x

\bar x = \frac{1}{N} \sum_{i = 1}^{N} x_i \\

宽度

直观上而言,我们能想象到,数据分布的宽度越小,测量精度越高。但数据宽度就不像中心点位置有那么统一的估计方法了。

够用的宽度估计

当数据量不大的情况下( N \le 10 ),我们很难得到一个平滑的直方图,这时其实比起尝试去使用统计的方法强行进行一个分布函数的拟合就不如用一些简单但是还算好用的方法。

步骤如下:

计算数据平均值 \bar x 计算数据最大残差, d_{max} = \max[x_{max} - \bar x, \bar x - x_{min}] ,看最大值减平均或平均减最小值谁大最后将数据的标准偏差记为最大残差的三分之二, \sigma \approx \frac{2}{3} d_{max}

至于为啥是三分之二,我们一会儿看看高斯分布就好。

统计学的宽度估计

其实上面也说了,我们会尽量用标准偏差去描述数据分布的宽度。

标准偏差的思路来源于残差与平均数。残差是两个数之间的差,一般指真实数据与平均值之间的差值,即 d_i = x_i - \bar x 。既然残差代表与平均数的差,那么是不是取残差的平均就可以代表这个宽度了吗?答案是否定的,因为对于一个无偏的测量,实际的测量值应该以高斯分布分布于平均值地两边,换言之就是有正有负。那么如果测试数量足够多,残差的平均应该为0,即 \bar d = \frac{1}{N} \sum_i d_i = \frac{1}{N} \sum_i (x_i - \bar x) = (\frac{1}{N} \sum_i x_i) - \frac{N \bar x}{N} = \bar x - \bar x = 0 \\

所以才有了方差 (Variance) 的概念。为了避免残差有正有负,而我们也只要知道数值离平均值的“距离”,那么我们直接平方一下再去取平均不就好了。

而标准偏差的概念就是对方差再去开下二次方根,为什么要多此一举呢?主要的原因是为了统一单位。虽然方差也可以表明数据的分散情况,但是你不能将方差绘制到数据的图像中,因为方差与数据的单位是不统一的,是平方过的。

我们标准偏差的公式为

\sigma = \sqrt{\frac{1}{N-1} \sum_{i=1}^N d_i^{2}} \\你可能会好奇,我们不是说好了求平均吗?为啥这里不是除以 N 而变成了 N-1 。如果你想理解这个,你最好找一本统计书来看看。这里只讲一些最核心的概念,这个 N-1 来自于自由度 (Degree of Freedom)

自由度

我在爱XR的麦子:【知识仓库】深度学习-回归问题里聊过拟合的时候,简单谈到过一点。这里先摘抄过来

想想一个极端情况,我们只有三个数据点,那么这时我们可以如何去拟合一个函数呢?答案是用一个常数或一次函数。原因是这样的,对于三个数据点,有且只有一条二次函数可以完美拟合这三个数据点。但是这三个数据点只是对所有现象的一个采样,那么再新加一个数据点的话,不在这条二次函数上的可能性就会远大于正好在这条函数上的可能性。因此这条拟合的函数,其泛用性基本为0。更不用说三次或更高次函数了,对于三个数据点,你甚至都不能拟合出唯一的一条三次函数,那么这时你猜想的三次函数恰好是数据集真实的分布的概率就微乎其微了。正因为如此,函数拟合的一个基本要求就是独立的数据点必须大于甚至远大于猜测模型需要拟合的参数数量。而二者之间的差值被称作自由度 (Degree of Freedom)。

那么何为自由度?自由度描述的是无约束变量 (Unconstrained Variable) 的数量,每一个无约束的变量都代表了独立的信息,这些信息可以帮助我们得到关于分布的信息。

但是这里的约束是啥意思?我们来看摘抄部分。假设我们有一个二次函数 f(x) = ax^2 + bx + c ,这时我们有三个数据点, (x_1, y_1),(x_2, y_2),(x_3, y_3) ,你会发现我如果要解出这个二次函数,那么我需要把这三个数据点都代入其中,来得到

y_1 = ax_1^2 + bx_1 + c \\ y_2 = ax_2^2 + bx_2 + c \\ y_3 = ax_3^2 + bx_3 + c \\

才行,否则是解不出来的。那么这三个数据点就都是有约束的 (Constrained) 了。那这个时候如果你还有一个多余的数据点 (x_4, y_4) ,它就是无约束的。

我们将自由度写成 \nu ,同时

\nu = N - \mathcal{N}\\

其中 N 是我们的数据量, \mathcal{N} 是我们需要计算的参数量,或者说是我们的约束量。

当然,我们可以简单将自由度考虑成:除了必须用来做计算的数据量以外,多余出来的数据量。越多就会使得你的统计估计越具有鲁棒性。

那么回到我们的标准偏差里,为啥是 N-1 呢?

因为我们已经用了 N 个数据去求我们的平均值了,而求平均至少需要一个量,也就是 \mathcal{N} = 1 。那么当我们计算标准偏差时,因为我们是在用同一组数据,所以只剩下了 N-1 个无约束的量,只有 N-1 个数据点可以给我提供新的信息。因此求标准偏差时变成了 N-1 。

从离散到连续

我们在上文中其实反复强调”高斯分布“,但是高斯分布其实是一个连续函数

f(x) = \frac{1}{\sigma \sqrt{2\pi}} \exp\left[-\frac{(x-\bar x)^2}{2\sigma^2}\right]\\

这里的系数 \frac{1}{\sigma \sqrt{2\pi}} 一般叫归一化系数 (Normalisation Coefficient),是为了确保 \int_{-\infty}^{\infty}f(x)dx = 1 的。但是有的时候我们不看比例,所以只要你的测量结果与 \exp\left[-(x-\bar x)^2\right] 成正比就可以被认作高斯了。

而我们的测量再怎么样都是离散的,为啥高斯呢?因为只要测量数量大了,数据测量之间是独立的,那最后的直方图就会逐步接近高斯。我们之后会专门利用一些计算,来看看一组数据到底有多“高斯”。

也是因此,我们其实可以用别的方法来描述宽度,除了标准偏差以外,另一个常用的来描述高斯宽度的值是半值全宽 (Full Width at Half Maximum, FWHM),即最大值高度一半时候的宽度。这个我们之后在量子里会用,这里就先不用了。

误差函数

我们可以从高斯函数中获得很多有用的特性,误差函数 (Error Function) 就是其中之一。所谓的误差函数就是高斯函数的累积概率 (Cumulative Probability)

\mathbf{Erf}(x_1,\bar x, \sigma) = \int_{-\infty}^{x_1} \frac{1}{\sigma \sqrt{2\pi}} \exp\left[-\frac{(x-\bar x)^2}{2\sigma^2}\right] dx\\ 所以一个值 x 处在 x_1, x_2 的可能性为

P(x_1 \le x \le x_2) = \frac{1}{\sigma \sqrt{2\pi}} \int_{x_1}^{x_2} \exp\left[-\frac{(x-\bar x)^2}{2\sigma^2}\right] dx = \mathbf{Erf}(x_2,\bar x, \sigma) - \mathbf{Erf}(x_1,\bar x, \sigma)\\

我们现在来考虑一下数据在正负一标准偏差范围内的概率是多少

\mathbf{Erf}(\bar x + \sigma,\bar x, \sigma) - \mathbf{Erf}(\bar x - \sigma,\bar x, \sigma) = \frac{1}{\sigma \sqrt{2\pi}} \int_{\bar x - \sigma}^{\bar x + \sigma} \exp\left[-\frac{(x-\bar x)^2}{2\sigma^2}\right] dx \approx 0.683\\这个结果差不多是高斯概率密度函数曲线下 \frac{2}{3} 的面积。这也是之前我们那“够用的宽度估计”里 \frac{2}{3} 的由来。

而上面这个概率本身的意思是:如果选择 \bar x 为我们的测量的平均值或预期值 (Expectation) 的话,再次进行测量,我们有68%的把握它会与我们预期值的偏差在正负一个标准偏差内

从宽度到不确定性

好,那么我们有了这个宽度后就可以将它作为不确定性了吗?想必很多人都认为 \pm 后面跟的就是标准偏差,但答案其实是否定的。

原因是这样的:做实验的过程其实是在通过样本分布来推测实际分布,或者叫母体分布 (Parent Distribution)。

理想状态下,可以认为母体分布是当 N \rightarrow \infty 时样本分布的趋近。标准偏差的估计也是越来越稳定,但是并不会发生一种改变趋势。因为标准偏差的分子上是 N 个残差,与 N 成正比;分母上是 N-1 也与 N 成正比。一抵消相当于不太受 N 的影响。

但是可想而知,不确定性应该随着测量次数的增加而减小。因此标准偏差其实不能直接用作不确定性。我们需要引入另一个量 - 标准误差 (Standard Error)

标准误差

标准误差被写成

\alpha = \frac{\sigma}{\sqrt{N}}\\

因为我们说标准偏差不太随 N 的改变而改变,可以看出这个标准误差的公式随着数量 N 的增大而减小。所以是我们想要的用来描述不确定性的数值。

我们最后实验数据的结果会写成 \bar x \pm \alpha ,也就是说测量的数据会有 \frac{2}{3} 的可能性落在 \bar x - \alpha \le x \le \bar x + \alpha 之间。

但是,标准误差到底是什么意思?

一种常见的表达是:一般说的标准偏差是测量数据的标准偏差;而标准误差是平均值的标准偏差 (The Standard Deviation Of The Mean, SDOM)

但这是啥意思?要解释清楚需要一些“误差传递”(Error Propagation) 的知识,这部分留到下一期。

误差的误差

关于测量我们还需要知道最后一个统计量 - 误差的误差 (The Error In The Error)。这个知道下结论就好

\frac{\delta \alpha}{\alpha} = \frac{1}{\sqrt{2N - 2}} \\

可以看出随着测量值数量的增加,我们对我们误差的确定性也越来越高。而这会最终反映在我们记录数据时保留多少位“有效数字” (Significant Number)。

其实有效数字也是一个很有趣的概念。很多人都知道告诉你有效数字有几位,怎么将你的值写成需要的有效数字。比如,1.2456如果保留3位有效数字,那么你知道要写成1.25。但是,它到底“有效”在哪儿了呢? 现在看了误差的误差想必你能有点感觉了。

记录误差

举个例子,如果你在测量重力加速度,测得 \bar g = 9.8123456\ ms^{-2} , \alpha = 0.0322035\ ms^{-2} ,那你最后应该怎么记录你的数据呢?

我们先要决定一下你的误差保留几位有效数字,利用上文中误差的误差分析一下

Nalphaalpha upperalpha lower100.03220350.039794 -> 0.040.024613 -> 0.0210000.03220350.032924 -> 0.0330.031483 -> 0.031

可以看出,如果你测量了10次,那么你的误差可以保留1位有效数字;如果你测量了1000次,那么你的误差可以保留2位有效数字。而数值的记录需要跟误差保持同样的有效数字位数

所以,

如果你测量了10次,你可以说你的测量结果是 g = (9.81 \pm 0.03)\ ms^{-2}

如果你测量了1000次,那么你可以说测量结果是 g = (9.812 \pm 0.032)\ ms^{-2}

四舍六入,那五呢

可以看到上面我们在保留有效数字的时候会迫不得已去做大约一下,因为要舍弃有效数字以后的值。但是怎么大约呢?想必大家小学的时候就学过“四舍五入”吧。

原则很简单,1.4变成1,1.8变成2。但是你小时候有没有问过老师,那5呢?如果是四舍五入,那1.5自然就要变成2。但是会不会有点“不公平”?首先5是在中间的,其次,从1.1到1.4变成1,从1.5到1.9变成2,看起来就像是1.5偏袒了2这边。(1.1、1.2、1.3、1.4是4个值,1.5、1.6、1.7、1.8、1.9是5个值)除非是1.6到1.9变成2,左右两边变得数量就可以一一对上了,否则右边总是比左边多一个数1.5。

所以我们一般采用四舍六入的原则,这样就不会有歧义了。那五呢?五采用一种偶数舍入 (Round-To-Even) 的原则,即如果舍掉,最后一位是偶数就舍弃;如果进一,最后一位是偶数就进一。比如,1.45就变成1.4,1.75就变成1.8。这样做可以保证一半的时候是舍弃,另一半的时候是进一,同时偶数在许多操作中都更方便。

总结 - 测量记录的五项原则

将前面说的总结成五项可实行的原则

将平均值视为测量数据对实际期望的最好估计平均值的误差是标准误差根据测量次数得到标准误差的有效数字将平均值的小数位与标准误差统一单位很重要

为了贯彻这些原则,四舍六入+五的偶数舍入以及广泛采用科学计数法都是很有帮助的。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3