Catalog
  1. 1. 实验误差与拟合误差的区别
    1. 1.1. 介绍
    2. 1.2. 实验误差
      1. 1.2.1. 基本定义
      2. 1.2.2. 误差的合成
    3. 1.3. 拟合误差
      1. 1.3.1. 一般拟合过程
      2. 1.3.2. 置信区间的表述
      3. 1.3.3. 误差的传递
    4. 1.4. 参考
实验误差与拟合误差的区别与计算

实验误差与拟合误差的区别

介绍

本人是做理论的,所以之前对于误差分析关注不多,最近文章投稿时发现对于误差的分析比较重要,但是自己又不是很懂,因此特地查阅学习了一下,写一篇笔记记录。

实验误差

基本定义

首先是实验误差,也可以叫做测量误差,误差的定义首先要搞清楚,是指测量值和真实值之间的差值,首先是随机误差,是指某一次测量值和真实值之间的误差

其中$L{0}$为真实值,$x{i}$为测量值。一般来说,我们可以用算数平均值来作为真实值的估计

将测量值与真实值的差值叫做残余误差,

接下来就是标准差,一个具有N个样本的系统的标准差定义为

同时我们一般只是抽取其中的n个样本进行衡量,$n<N$ ,因此根据样本的均值和方差代表总体时,记住均值是无偏的,但是方差是有篇的!详细推导维基百科相关词条都是有的,这里不再赘述。因此,样本的平均值为

定义样本的无偏标准差

其中 $dof$ 代表的是自由度,比如系统有 $m$ 个变量,有 $N$ 组数据,那么 $dof=N-m$.

我们要测量多个变量 $x{i}^{j}$ 多次,然后通过带入公式等方式 $x{i}^{j}$ 计算出来我们需要的物理量 $y=f(x{1},x{2},…)$ 。上面的误差是指由于多次测量造成与真实结果的区别,叫做A类误差。还有一类误差,是仪器造成的固有偏差,叫做b类误差。

误差的合成

然后是误差的合成,假设为了测量某个量我们需要测量 $m$ 个独立的变量 $p{i}$ ,每个量的误差都是可以获得的,这些变量最终会带入函数表达式 $y=f(x{i},p{j})$ 计算函数值,我们这里用 $(x{i},p{j})$ 代表变量 $p{j}$ 的第 $i$ 次测量结果。每个变量的无偏标准差为 $\sigma{p{j}}$ ,那么最终的测量值的误差为

上面只是A类误差的合成,如果还考虑到B类误差的话,总的误差为

拟合误差

一般拟合过程

上面是对于实验测量误差的一个简要介绍,接下来分析拟合的一个过程,一般我们测量了很多数据以后,会尝试对数据进行一个拟合,得出拟合的参数,拟合一般采用的是最小二乘法,即我们的目标函数是使得残差的平方和最小

这样一个二次型最小值的寻找,如果是线性的,直接求解即可,如果是非线性,则需要通过给定合适的初始值迭代寻找,比较常用的方法有高斯牛顿算法

其中,

为雅克比矩阵的矩阵元。也有更加复杂的拟合方式,这里不再赘述。

置信区间的表述

我们拟合完了之后,一般需要给出一个置信区间内的拟合参数的范围,比如拟合参数在$a\pm c$之间,这是怎么得到的呢?首先来说置信区间,我们从高斯分布来看,高斯分布定义为

一般所说的 $3\sigma$ 原则,即指我们有$P(3\sigma)=\int_{-3\sigma}^{3\sigma}f(\delta)d\delta$的把握,测量值的偏差落在 $(-3\sigma,3\sigma)$ 之间。MATLAB拟合时,一般采用 $95\%$ 置信区间来表述,即我们有 $95\%$ 的把握,测量值落在 $(-t\sigma,t\sigma)$
之间,而 $t$ 是使得

同时对于样本数较小的情况,我们的估计不能用高斯函数,而应该用学生氏函数 $\text{tinv}$,这里不再赘述。我么需要给定置信区间以及自由度,来计算出t值,比如我们需要 $95\%$ 的置信区间,则可以

在自由度大于31之后,学生分布和高斯分布会越来越近。

误差的传递

我们通过拟合,找到了s的最小值,那么怎么得到对应变量的最小值呢?我们需要计算模型的雅克比矩阵

这个雅克比矩阵可以解析计算,也可以数值差分的方式计算,一般MATLAB或者Python都会把这个矩阵给出,然后根据如下公式,计算每一个参数的方差

然后要求某个置信区间的参数范围,只需要先求出$t$

然后对应的参数在范围

MATLAB的一些函数fit,lsqsquare都可以直接获得拟合范围,一些函数如lsqcurvefit,或者Python的curve_fit等可能不会返回每一个变量的范围,但是会返回所需要的雅克比矩阵,这样我们也可以进行手动计算。

参考

Nonlinear curve fitting with parameter confidence intervals

Relation between Covariance matrix and Jacobian in Nonlinear Least Squares

Least-Squares Fitting
nlinfit

Author: Knifelee
Link: https://knifelees3.github.io/2021/11/16/C_%E6%95%99%E7%A8%8B_%E5%AE%9E%E9%AA%8C%E8%AF%AF%E5%B7%AE%E5%92%8C%E6%8B%9F%E5%90%88%E8%AF%AF%E5%B7%AE%E5%88%86%E6%9E%90/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Donate
  • 微信
  • 支付寶

Comment